apply biome formatting

This commit is contained in:
Bertie690 2025-08-23 00:25:04 -04:00 committed by Sirz Benjie
parent 495dd9cabe
commit 2bffccd7f9
No known key found for this signature in database
GPG Key ID: 4A524B4D196C759E
29 changed files with 538 additions and 507 deletions

View File

@ -10,4 +10,4 @@
"aaron-bond.better-comments",
"MuTsunTsai.jsdoc-link"
]
}
}

View File

@ -67,7 +67,11 @@
"useJsonImportAttributes": "off" // "Import attributes are only supported when the '--module' option is set to 'esnext', 'node18', 'nodenext', or 'preserve'. ts(2823)"
},
"style": {
"noNegationElse": "warn", // TODO: Promote to error eventually
"noNegationElse": {
"level": "warn", // TODO: Promote to error eventually
"fix": "none", // duplicates else blocks
"options": {}
},
// TODO: Fix all instances of this and promote to `error` - this and enums are the 2 things
// barring us from `esModuleInterop`
"noParameterProperties": "warn",
@ -140,7 +144,14 @@
}
}
},
"useUnifiedTypeSignatures": "error",
// TODO: Wait until the rule gets options for ignoring doc comments and/or different parameter names,
// and THEN enable it codebase-wide
"useUnifiedTypeSignatures": {
"level": "info",
"fix": "none",
"options": {}
},
"useGroupedAccessorPairs": "error",
"useObjectSpread": "error",
"useNumericSeparators": "off" // TODO: Consider enabling?

View File

@ -129,7 +129,7 @@ async function scrapeTrainerNames(classes) {
reason = `Server produced error code of ${+errCode}`;
}
throw new Error(
chalk.red.bold(`Failed to parse URL for ${chalk.hex("#7fff00")(`\"${trainerClass}\"`)}!\nReason: ${reason}`),
chalk.red.bold(`Failed to parse URL for ${chalk.hex("#7fff00")(`"${trainerClass}"`)}!\nReason: ${reason}`),
);
}
}),
@ -191,9 +191,7 @@ async function doFetch(trainerClass, seenClasses) {
const [female, counterpartURLs] = checkGenderAndType(document);
const names = fetchNames(trainerListHeader, female);
if (names === INVALID_URL) {
return Promise.reject(
new Error(chalk.red.bold(`URL \"${classURL}\" did not correspond to a valid trainer class!`)),
);
return Promise.reject(new Error(chalk.red.bold(`URL "${classURL}" did not correspond to a valid trainer class!`)));
}
// Recurse into all unseen gender counterparts' URLs, using the first male name we find
@ -285,7 +283,7 @@ async function promptExisting(outFile) {
{
type: "confirm",
name: "continue",
message: `File ${chalk.blue(outFile)} already exists!` + "\nDo you want to replace it?",
message: `File ${chalk.blue(outFile)} already exists!\nDo you want to replace it?`,
default: false,
},
])

View File

@ -3154,7 +3154,7 @@ export class PostSummonTransformAbAttr extends PostSummonAbAttr {
// If none are eligible to copy, it will not activate.
const targets = user.getOpponents().filter(opp => user.canTransformInto(opp));
if (targets.length === 0) {
return undefined;
return;
}
const mon = targets[user.randBattleSeedInt(targets.length)];

View File

@ -765,9 +765,10 @@ export abstract class EntryHazardTag extends SerializableArenaTag {
const source = this.getSourcePokemon();
if (!source) {
console.warn(
"Failed to get source Pokemon for AernaTrapTag on add message!" +
`\nTag type: ${this.tagType}` +
`\nPID: ${this.sourceId}`,
// biome-ignore lint/complexity/noUselessStringConcat: Rule bugs out with operator linebreaks set to `before`
"Failed to get source Pokemon for AernaTrapTag on add message!"
+ `\nTag type: ${this.tagType}`
+ `\nPID: ${this.sourceId}`,
);
return;
}

View File

@ -8,74 +8,74 @@ import { SpeciesId } from "#enums/species-id";
* Generated by the `eggMoves:parse` script using a CSV sourced from the current Balance Team spreadsheet.
*/
export const speciesEggMoves = {
[SpeciesId.BULBASAUR]: [ MoveId.SAPPY_SEED, MoveId.MALIGNANT_CHAIN, MoveId.EARTH_POWER, MoveId.MATCHA_GOTCHA ],
[SpeciesId.CHARMANDER]: [ MoveId.DRAGON_DANCE, MoveId.AEROBLAST, MoveId.EARTH_POWER, MoveId.BITTER_BLADE ],
[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.BANEFUL_BUNKER, MoveId.MOONLIGHT, MoveId.BARB_BARRAGE, MoveId.THOUSAND_WAVES ],
[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.DRAGON_DANCE, 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.DRAIN_PUNCH, 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.HIGH_JUMP_KICK, 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.DAZZLING_GLEAM, 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.MIGHTY_CLEAVE, MoveId.CRABHAMMER ],
[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 ],
[SpeciesId.BULBASAUR]: [MoveId.SAPPY_SEED, MoveId.MALIGNANT_CHAIN, MoveId.EARTH_POWER, MoveId.MATCHA_GOTCHA],
[SpeciesId.CHARMANDER]: [MoveId.DRAGON_DANCE, MoveId.AEROBLAST, MoveId.EARTH_POWER, MoveId.BITTER_BLADE],
[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.BANEFUL_BUNKER, MoveId.MOONLIGHT, MoveId.BARB_BARRAGE, MoveId.THOUSAND_WAVES],
[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.DRAGON_DANCE, 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.DRAIN_PUNCH, 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.HIGH_JUMP_KICK, 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.DAZZLING_GLEAM, 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.MIGHTY_CLEAVE, MoveId.CRABHAMMER],
[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],
[SpeciesId.CHIKORITA]: [MoveId.SAPPY_SEED, MoveId.STONE_AXE, MoveId.DRAGON_DANCE, MoveId.SPORE],
[SpeciesId.CYNDAQUIL]: [MoveId.BURNING_BULWARK, MoveId.EARTH_POWER, MoveId.FIERY_DANCE, MoveId.ELECTRO_DRIFT],
@ -206,309 +206,314 @@ export const speciesEggMoves = {
[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 ],
[SpeciesId.TURTWIG]: [ MoveId.SHELL_SMASH, MoveId.STONE_AXE, 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.THUNDEROUS_KICK, 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.BITTER_MALICE, MoveId.STRENGTH_SAP ],
[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.OBSTRUCT, MoveId.RECOVER, MoveId.STORM_THROW, MoveId.LANDS_WRATH ],
[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.HEAT_WAVE, MoveId.AEROBLAST, MoveId.QUIVER_DANCE ],
[SpeciesId.ARCEUS]: [ MoveId.NO_RETREAT, MoveId.COLLISION_COURSE, MoveId.ASTRAL_BARRAGE, MoveId.MULTI_ATTACK ],
[SpeciesId.TURTWIG]: [MoveId.SHELL_SMASH, MoveId.STONE_AXE, 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.THUNDEROUS_KICK, 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.BITTER_MALICE, MoveId.STRENGTH_SAP],
[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.OBSTRUCT, MoveId.RECOVER, MoveId.STORM_THROW, MoveId.LANDS_WRATH],
[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.HEAT_WAVE, MoveId.AEROBLAST, MoveId.QUIVER_DANCE],
[SpeciesId.ARCEUS]: [MoveId.NO_RETREAT, MoveId.COLLISION_COURSE, MoveId.ASTRAL_BARRAGE, MoveId.MULTI_ATTACK],
[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.INSTRUCT, 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.SPIKY_SHIELD, 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.LOW_KICK, 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.AXE_KICK, 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.RAGING_FURY, MoveId.BITTER_BLADE ],
[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.SPIRIT_BREAK, MoveId.LAST_RESPECTS, MoveId.BITTER_BLADE ],
[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.SUPERCELL_SLAM, MoveId.V_CREATE ],
[SpeciesId.DURANT]: [ MoveId.HIGH_HORSEPOWER, MoveId.FIRST_IMPRESSION, MoveId.U_TURN, 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.THOUSAND_WAVES ],
[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 ],
[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.INSTRUCT, 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.SPIKY_SHIELD, 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.LOW_KICK, 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.AXE_KICK, 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.RAGING_FURY, MoveId.BITTER_BLADE],
[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.SPIRIT_BREAK, MoveId.LAST_RESPECTS, MoveId.BITTER_BLADE],
[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.SUPERCELL_SLAM, MoveId.V_CREATE],
[SpeciesId.DURANT]: [MoveId.HIGH_HORSEPOWER, MoveId.FIRST_IMPRESSION, MoveId.U_TURN, 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.THOUSAND_WAVES],
[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],
[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.SPIRIT_SHACKLE, 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 ],
[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.SPIRIT_SHACKLE, 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],
[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.TRAILBLAZE, MoveId.BONE_RUSH, MoveId.BURNING_BULWARK, MoveId.POPULATION_BOMB ],
[SpeciesId.YUNGOOS]: [ MoveId.FAKE_OUT, MoveId.HIGH_HORSEPOWER, MoveId.TIDY_UP, MoveId.EXTREME_SPEED ],
[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.FLOWER_TRICK ],
[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.BEHEMOTH_BLADE, MoveId.BITTER_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.HEAL_ORDER, MoveId.CURSE, MoveId.SALT_CURE ],
[SpeciesId.BLACEPHALON]: [ MoveId.STEEL_BEAM, MoveId.MOONBLAST, MoveId.CHLOROBLAST, MoveId.MOONGEIST_BEAM ],
[SpeciesId.ZERAORA]: [ MoveId.SWORDS_DANCE, MoveId.FIRE_LASH, 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.LUNAR_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.LANDS_WRATH, MoveId.FUSION_BOLT, MoveId.STONE_AXE, MoveId.EXTREME_SPEED ],
[SpeciesId.ALOLA_GRIMER]: [ MoveId.SUCKER_PUNCH, MoveId.BARB_BARRAGE, MoveId.RECOVER, MoveId.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.TRAILBLAZE, MoveId.BONE_RUSH, MoveId.BURNING_BULWARK, MoveId.POPULATION_BOMB],
[SpeciesId.YUNGOOS]: [MoveId.FAKE_OUT, MoveId.HIGH_HORSEPOWER, MoveId.TIDY_UP, MoveId.EXTREME_SPEED],
[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.FLOWER_TRICK],
[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.BEHEMOTH_BLADE, MoveId.BITTER_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.HEAL_ORDER, MoveId.CURSE, MoveId.SALT_CURE],
[SpeciesId.BLACEPHALON]: [MoveId.STEEL_BEAM, MoveId.MOONBLAST, MoveId.CHLOROBLAST, MoveId.MOONGEIST_BEAM],
[SpeciesId.ZERAORA]: [MoveId.SWORDS_DANCE, MoveId.FIRE_LASH, 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.LUNAR_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.LANDS_WRATH, MoveId.FUSION_BOLT, MoveId.STONE_AXE, MoveId.EXTREME_SPEED],
[SpeciesId.ALOLA_GRIMER]: [MoveId.SUCKER_PUNCH, MoveId.BARB_BARRAGE, MoveId.RECOVER, MoveId.SURGING_STRIKES],
[SpeciesId.GROOKEY]: [ MoveId.ROCK_SLIDE, MoveId.PLAY_ROUGH, MoveId.GRASSY_GLIDE, MoveId.CLANGOROUS_SOUL ],
[SpeciesId.SCORBUNNY]: [ MoveId.EXTREME_SPEED, MoveId.HIGH_JUMP_KICK, MoveId.SUPERCELL_SLAM, MoveId.TRIPLE_AXEL ],
[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.MYSTICAL_FIRE, MoveId.SPARKLY_SWIRL, MoveId.MAKE_IT_RAIN ],
[SpeciesId.GOSSIFLEUR]: [ MoveId.BATON_PASS, MoveId.TAILWIND, MoveId.SAPPY_SEED, MoveId.SPORE ],
[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.AXE_KICK, 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.EARTHQUAKE, MoveId.BITTER_BLADE ],
[SpeciesId.ZAMAZENTA]: [ MoveId.BULK_UP, MoveId.BODY_PRESS, MoveId.POWER_TRIP, MoveId.SLACK_OFF ],
[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.LEAF_BLADE, MoveId.HEADLONG_RUSH, 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 ],
[SpeciesId.GROOKEY]: [MoveId.ROCK_SLIDE, MoveId.PLAY_ROUGH, MoveId.GRASSY_GLIDE, MoveId.CLANGOROUS_SOUL],
[SpeciesId.SCORBUNNY]: [MoveId.EXTREME_SPEED, MoveId.HIGH_JUMP_KICK, MoveId.SUPERCELL_SLAM, MoveId.TRIPLE_AXEL],
[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.MYSTICAL_FIRE, MoveId.SPARKLY_SWIRL, MoveId.MAKE_IT_RAIN],
[SpeciesId.GOSSIFLEUR]: [MoveId.BATON_PASS, MoveId.TAILWIND, MoveId.SAPPY_SEED, MoveId.SPORE],
[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.AXE_KICK, 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.EARTHQUAKE, MoveId.BITTER_BLADE],
[SpeciesId.ZAMAZENTA]: [MoveId.BULK_UP, MoveId.BODY_PRESS, MoveId.POWER_TRIP, MoveId.SLACK_OFF],
[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.LEAF_BLADE, MoveId.HEADLONG_RUSH, 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],
[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 ],

View File

@ -78,7 +78,7 @@ export enum EvolutionItem {
}
const tyrogueMoves = [MoveId.LOW_SWEEP, MoveId.MACH_PUNCH, MoveId.RAPID_SPIN] as const;
type TyrogueMove = typeof tyrogueMoves[number];
type TyrogueMove = (typeof tyrogueMoves)[number];
/**
* Pokemon Evolution tuple type consisting of:
@ -203,7 +203,10 @@ export class SpeciesEvolutionCondition {
case EvoCondKey.WEATHER:
return cond.weather.includes(globalScene.arena.getWeatherType());
case EvoCondKey.TYROGUE:
return pokemon.getMoveset(true).find(m => (tyrogueMoves as readonly MoveId[]) .includes(m.moveId))?.moveId === cond.move;
return (
pokemon.getMoveset(true).find(m => (tyrogueMoves as readonly MoveId[]).includes(m.moveId))?.moveId
=== cond.move
);
case EvoCondKey.NATURE:
return cond.nature.includes(pokemon.getNature());
case EvoCondKey.RANDOM_FORM: {
@ -513,7 +516,13 @@ export const pokemonEvolutions: PokemonEvolutions = {
[SpeciesId.RALTS]: [new SpeciesEvolution(SpeciesId.KIRLIA, 20, null, null)],
[SpeciesId.KIRLIA]: [
new SpeciesEvolution(SpeciesId.GARDEVOIR, 30, null, null),
new SpeciesEvolution(SpeciesId.GALLADE, 1, EvolutionItem.DAWN_STONE, {key: EvoCondKey.GENDER, gender: Gender.MALE}, SpeciesWildEvolutionDelay.LONG),
new SpeciesEvolution(
SpeciesId.GALLADE,
1,
EvolutionItem.DAWN_STONE,
{ key: EvoCondKey.GENDER, gender: Gender.MALE },
SpeciesWildEvolutionDelay.LONG,
),
],
[SpeciesId.SURSKIT]: [new SpeciesEvolution(SpeciesId.MASQUERAIN, 22, null, null)],
[SpeciesId.SHROOMISH]: [new SpeciesEvolution(SpeciesId.BRELOOM, 23, null, null)],
@ -548,7 +557,13 @@ export const pokemonEvolutions: PokemonEvolutions = {
[SpeciesId.DUSKULL]: [new SpeciesEvolution(SpeciesId.DUSCLOPS, 37, null, null)],
[SpeciesId.SNORUNT]: [
new SpeciesEvolution(SpeciesId.GLALIE, 42, null, null),
new SpeciesEvolution(SpeciesId.FROSLASS, 1, EvolutionItem.DAWN_STONE, {key: EvoCondKey.GENDER, gender: Gender.FEMALE}, SpeciesWildEvolutionDelay.LONG),
new SpeciesEvolution(
SpeciesId.FROSLASS,
1,
EvolutionItem.DAWN_STONE,
{ key: EvoCondKey.GENDER, gender: Gender.FEMALE },
SpeciesWildEvolutionDelay.LONG,
),
],
[SpeciesId.SPHEAL]: [new SpeciesEvolution(SpeciesId.SEALEO, 32, null, null)],
[SpeciesId.SEALEO]: [new SpeciesEvolution(SpeciesId.WALREIN, 44, null, null)],
@ -2039,7 +2054,7 @@ export const pokemonPrevolutions: PokemonPrevolutions = {};
export function initPokemonPrevolutions(): void {
// TODO: Why do we have empty strings in our array?
const megaFormKeys = [ SpeciesFormKey.MEGA, "", SpeciesFormKey.MEGA_X, "", SpeciesFormKey.MEGA_Y ];
const megaFormKeys = [SpeciesFormKey.MEGA, "", SpeciesFormKey.MEGA_X, "", SpeciesFormKey.MEGA_Y];
for (const [pk, evolutions] of Object.entries(pokemonEvolutions)) {
for (const ev of evolutions) {
if (ev.evoFormKey && megaFormKeys.indexOf(ev.evoFormKey) > -1) {

View File

@ -823,11 +823,11 @@ export class FreshStartChallenge extends Challenge {
// Remove natures except for the default ones
const neutralNaturesAttr =
(1 << (Nature.HARDY + 1)) |
(1 << (Nature.DOCILE + 1)) |
(1 << (Nature.SERIOUS + 1)) |
(1 << (Nature.BASHFUL + 1)) |
(1 << (Nature.QUIRKY + 1));
(1 << (Nature.HARDY + 1))
| (1 << (Nature.DOCILE + 1))
| (1 << (Nature.SERIOUS + 1))
| (1 << (Nature.BASHFUL + 1))
| (1 << (Nature.QUIRKY + 1));
dexEntry.natureAttr &= neutralNaturesAttr;
// Cap all ivs at 15

View File

@ -220,7 +220,7 @@ export class MysteryEncounterOptionBuilder implements Partial<IMysteryEncounterO
requirement: EncounterSceneRequirement,
): this & Required<Pick<IMysteryEncounterOption, "requirements">> {
if (requirement instanceof EncounterPokemonRequirement) {
Error("Incorrectly added pokemon requirement as scene requirement.");
new Error("Incorrectly added pokemon requirement as scene requirement.");
}
this.requirements.push(requirement);
@ -265,7 +265,7 @@ export class MysteryEncounterOptionBuilder implements Partial<IMysteryEncounterO
requirement: EncounterPokemonRequirement,
): this & Required<Pick<IMysteryEncounterOption, "primaryPokemonRequirements">> {
if (requirement instanceof EncounterSceneRequirement) {
Error("Incorrectly added scene requirement as pokemon requirement.");
new Error("Incorrectly added scene requirement as pokemon requirement.");
}
this.primaryPokemonRequirements.push(requirement);
@ -315,7 +315,7 @@ export class MysteryEncounterOptionBuilder implements Partial<IMysteryEncounterO
excludePrimaryFromSecondaryRequirements = true,
): this & Required<Pick<IMysteryEncounterOption, "secondaryPokemonRequirements">> {
if (requirement instanceof EncounterSceneRequirement) {
Error("Incorrectly added scene requirement as pokemon requirement.");
new Error("Incorrectly added scene requirement as pokemon requirement.");
}
this.secondaryPokemonRequirements.push(requirement);

View File

@ -821,7 +821,7 @@ export class MysteryEncounterBuilder implements Partial<IMysteryEncounter> {
requirement: EncounterSceneRequirement,
): this & Required<Pick<IMysteryEncounter, "requirements">> {
if (requirement instanceof EncounterPokemonRequirement) {
Error("Incorrectly added pokemon requirement as scene requirement.");
new Error("Incorrectly added pokemon requirement as scene requirement.");
}
this.requirements.push(requirement);
return this;
@ -864,7 +864,7 @@ export class MysteryEncounterBuilder implements Partial<IMysteryEncounter> {
requirement: EncounterPokemonRequirement,
): this & Required<Pick<IMysteryEncounter, "primaryPokemonRequirements">> {
if (requirement instanceof EncounterSceneRequirement) {
Error("Incorrectly added scene requirement as pokemon requirement.");
new Error("Incorrectly added scene requirement as pokemon requirement.");
}
this.primaryPokemonRequirements.push(requirement);
@ -917,7 +917,7 @@ export class MysteryEncounterBuilder implements Partial<IMysteryEncounter> {
excludePrimaryFromSecondaryRequirements = false,
): this & Required<Pick<IMysteryEncounter, "secondaryPokemonRequirements">> {
if (requirement instanceof EncounterSceneRequirement) {
Error("Incorrectly added scene requirement as pokemon requirement.");
new Error("Incorrectly added scene requirement as pokemon requirement.");
}
this.secondaryPokemonRequirements.push(requirement);

View File

@ -53,8 +53,8 @@ const SEASONAL_WEIGHT_MULTIPLIER = 15;
//#region Common Messages
const commonSplashMessages = [
...Array(BATTLES_WON_WEIGHT_MULTIPLIER).fill("battlesWon"),
...Array(POKEMON_NAMES_WEIGHT_MULTIPLIER).fill("underratedPokemon"),
...new Array(BATTLES_WON_WEIGHT_MULTIPLIER).fill("battlesWon"),
...new Array(POKEMON_NAMES_WEIGHT_MULTIPLIER).fill("underratedPokemon"),
"joinTheDiscord",
"infiniteLevels",
"everythingIsStackable",
@ -333,7 +333,7 @@ export function getSplashMessages(): string[] {
if (now >= startDate && now <= endDate) {
console.log(`Adding ${messages.length} ${name} splash messages (weight: x${SEASONAL_WEIGHT_MULTIPLIER})`);
for (const message of messages) {
const weightedMessage = Array(SEASONAL_WEIGHT_MULTIPLIER).fill(message);
const weightedMessage = new Array(SEASONAL_WEIGHT_MULTIPLIER).fill(message);
splashMessages.push(...weightedMessage);
}
}

View File

@ -286,7 +286,7 @@ export function getTypeDamageMultiplierColor(
case 0.5:
return "#FE8E00";
case 1:
return undefined;
return;
case 2:
return "#4AA500";
case 4:
@ -306,7 +306,7 @@ export function getTypeDamageMultiplierColor(
case 0.5:
return "#0093FF";
case 1:
return undefined;
return;
case 2:
return "#FE8E00";
case 4:

View File

@ -315,7 +315,7 @@ export abstract class Pokemon extends Phaser.GameObjects.Container {
super(globalScene, x, y);
if (!species.isObtainable() && this.isPlayer()) {
throw `Cannot create a player Pokemon for species "${species.getName(formIndex)}"`;
throw new Error(`Cannot create a player Pokemon for species "${species.getName(formIndex)}"`);
}
this.species = species;
@ -4114,7 +4114,7 @@ export abstract class Pokemon extends Phaser.GameObjects.Container {
isCritical = false,
ignoreSegments = false,
ignoreFaintPhase = false,
source = undefined,
source,
}: {
result?: DamageResult;
isCritical?: boolean;
@ -5100,10 +5100,8 @@ export abstract class Pokemon extends Phaser.GameObjects.Container {
const lastStatus = this.status?.effect;
this.status = null;
this.setFrameRate(10);
if (lastStatus === StatusEffect.SLEEP) {
if (this.getTag(BattlerTagType.NIGHTMARE)) {
this.lapseTag(BattlerTagType.NIGHTMARE);
}
if (lastStatus === StatusEffect.SLEEP && this.getTag(BattlerTagType.NIGHTMARE)) {
this.lapseTag(BattlerTagType.NIGHTMARE);
}
if (confusion && this.getTag(BattlerTagType.CONFUSED)) {
this.lapseTag(BattlerTagType.CONFUSED);
@ -5797,9 +5795,8 @@ export class PlayerPokemon extends Pokemon {
if (!dataSource) {
if (
globalScene.gameMode.isDaily ||
// Keldeo is excluded due to crashes involving its signature move and the associated form change
(Overrides.STARTER_SPECIES_OVERRIDE && Overrides.STARTER_SPECIES_OVERRIDE !== SpeciesId.KELDEO)
globalScene.gameMode.isDaily // Keldeo is excluded due to crashes involving its signature move and the associated form change
|| (Overrides.STARTER_SPECIES_OVERRIDE && Overrides.STARTER_SPECIES_OVERRIDE !== SpeciesId.KELDEO)
) {
this.generateAndPopulateMoveset();
} else {

View File

@ -54,8 +54,8 @@ export class Trainer extends Phaser.GameObjects.Container {
) {
super(globalScene, -72, 80);
this.config =
trainerConfigOverride ??
(trainerConfigs.hasOwnProperty(trainerType)
trainerConfigOverride
?? (trainerConfigs.hasOwnProperty(trainerType)
? trainerConfigs[trainerType]
: trainerConfigs[TrainerType.ACE_TRAINER]);

View File

@ -458,10 +458,9 @@ export class CommandPhase extends FieldPhase {
if (cursor < numBallTypes) {
const targetPokemon = globalScene.getEnemyPokemon(false);
if (
targetPokemon?.isBoss() &&
targetPokemon?.bossSegmentIndex >= 1 &&
// TODO: Decouple this hardcoded exception for wonder guard and just check the target...
!targetPokemon?.hasAbility(AbilityId.WONDER_GUARD, false, true)
targetPokemon?.isBoss()
&& targetPokemon?.bossSegmentIndex >= 1 // TODO: Decouple this hardcoded exception for wonder guard and just check the target...
&& !targetPokemon?.hasAbility(AbilityId.WONDER_GUARD, false, true)
) {
// When facing the final boss, it must be weakened unless a Master Ball is used AND no challenges are active.
// The message is customized for the final boss.

View File

@ -92,7 +92,7 @@ export class MoveEffectPhase extends PokemonPhase {
}
this.targets = targets;
this.hitChecks = Array(this.targets.length).fill([HitCheckResult.PENDING, 0]);
this.hitChecks = new Array(this.targets.length).fill([HitCheckResult.PENDING, 0]);
}
/**

View File

@ -244,11 +244,11 @@ export class TitlePhase extends Phase {
regenerateModifierPoolThresholds(party, ModifierPoolType.DAILY_STARTER);
const modifiers: Modifier[] = Array(3)
const modifiers: Modifier[] = new Array(3)
.fill(null)
.map(() => modifierTypes.EXP_SHARE().withIdFromFunc(modifierTypes.EXP_SHARE).newModifier())
.concat(
Array(3)
new Array(3)
.fill(null)
.map(() => modifierTypes.GOLDEN_EXP_CHARM().withIdFromFunc(modifierTypes.GOLDEN_EXP_CHARM).newModifier()),
)

View File

@ -226,8 +226,8 @@ export class TurnStartPhase extends FieldPhase {
// TODO: This seems somewhat dubious
const move =
pokemon.getMoveset().find(m => m.moveId === queuedMove.move && m.ppUsed < m.getMovePp()) ??
new PokemonMove(queuedMove.move);
pokemon.getMoveset().find(m => m.moveId === queuedMove.move && m.ppUsed < m.getMovePp())
?? new PokemonMove(queuedMove.move);
if (move.getMove().hasAttr("MoveHeaderAttr")) {
globalScene.phaseManager.unshiftNew("MoveHeaderPhase", pokemon, move);

View File

@ -519,9 +519,9 @@ export const achvs = {
"reviver_seed",
100,
c =>
c instanceof FreshStartChallenge &&
c.value === 1 &&
!globalScene.gameMode.challenges.some(
c instanceof FreshStartChallenge
&& c.value === 1
&& !globalScene.gameMode.challenges.some(
c => [Challenges.INVERSE_BATTLE, Challenges.FLIP_STAT].includes(c.id) && c.value > 0,
),
),

View File

@ -103,23 +103,23 @@ export class UiInputs {
getActionsKeyUp(): ActionKeys {
const actions: ActionKeys = {
[Button.UP]: () => undefined,
[Button.DOWN]: () => undefined,
[Button.LEFT]: () => undefined,
[Button.RIGHT]: () => undefined,
[Button.SUBMIT]: () => undefined,
[Button.ACTION]: () => undefined,
[Button.CANCEL]: () => undefined,
[Button.MENU]: () => undefined,
[Button.UP]: () => {},
[Button.DOWN]: () => {},
[Button.LEFT]: () => {},
[Button.RIGHT]: () => {},
[Button.SUBMIT]: () => {},
[Button.ACTION]: () => {},
[Button.CANCEL]: () => {},
[Button.MENU]: () => {},
[Button.STATS]: () => this.buttonStats(false),
[Button.CYCLE_SHINY]: () => undefined,
[Button.CYCLE_FORM]: () => undefined,
[Button.CYCLE_GENDER]: () => undefined,
[Button.CYCLE_ABILITY]: () => undefined,
[Button.CYCLE_NATURE]: () => undefined,
[Button.CYCLE_SHINY]: () => {},
[Button.CYCLE_FORM]: () => {},
[Button.CYCLE_GENDER]: () => {},
[Button.CYCLE_ABILITY]: () => {},
[Button.CYCLE_NATURE]: () => {},
[Button.CYCLE_TERA]: () => this.buttonInfo(false),
[Button.SPEED_UP]: () => undefined,
[Button.SLOW_DOWN]: () => undefined,
[Button.SPEED_UP]: () => {},
[Button.SLOW_DOWN]: () => {},
};
return actions;
}

View File

@ -70,7 +70,7 @@ export class BaseStatsOverlay extends Phaser.GameObjects.Container implements In
show(values: number[], total: number): boolean {
for (let i = 0; i < 6; i++) {
this.statsLabels[i].setText(
i18next.t(`pokemonInfo:stat.${toCamelCase(shortStats[i])}Shortened`) + ": " + `${values[i]}`,
i18next.t(`pokemonInfo:stat.${toCamelCase(shortStats[i])}Shortened`) + `: ${values[i]}`,
);
// This accounts for base stats up to 200, might not be enough.
// TODO: change color based on value.

View File

@ -1506,14 +1506,14 @@ export class PokedexPageUiHandler extends MessageUiHandler {
this.biomes.map(b => {
options.push({
label:
i18next.t(`biome:${toCamelCase(BiomeId[b.biome])}`) +
" - " +
i18next.t(`biome:${toCamelCase(BiomePoolTier[b.tier])}`) +
(b.tod.length === 1 && b.tod[0] === -1
i18next.t(`biome:${toCamelCase(BiomeId[b.biome])}`)
+ " - "
+ i18next.t(`biome:${toCamelCase(BiomePoolTier[b.tier])}`)
+ (b.tod.length === 1 && b.tod[0] === -1
? ""
: " (" +
b.tod.map(tod => i18next.t(`biome:${toCamelCase(TimeOfDay[tod])}`)).join(", ") +
")"),
: " ("
+ b.tod.map(tod => i18next.t(`biome:${toCamelCase(TimeOfDay[tod])}`)).join(", ")
+ ")"),
handler: () => false,
});
});
@ -1527,14 +1527,14 @@ export class PokedexPageUiHandler extends MessageUiHandler {
this.preBiomes.map(b => {
options.push({
label:
i18next.t(`biome:${toCamelCase(BiomeId[b.biome])}`) +
" - " +
i18next.t(`biome:${toCamelCase(BiomePoolTier[b.tier])}`) +
(b.tod.length === 1 && b.tod[0] === -1
i18next.t(`biome:${toCamelCase(BiomeId[b.biome])}`)
+ " - "
+ i18next.t(`biome:${toCamelCase(BiomePoolTier[b.tier])}`)
+ (b.tod.length === 1 && b.tod[0] === -1
? ""
: " (" +
b.tod.map(tod => i18next.t(`biome:${toCamelCase(TimeOfDay[tod])}`)).join(", ") +
")"),
: " ("
+ b.tod.map(tod => i18next.t(`biome:${toCamelCase(TimeOfDay[tod])}`)).join(", ")
+ ")"),
handler: () => false,
});
});

View File

@ -525,7 +525,7 @@ export class EggGachaUiHandler extends MessageUiHandler {
}
const eggSprite = globalScene.add.sprite(127, 75, "egg", `egg_${eggs[i].getKey()}`).setScale(0.5);
gachaContainer.addAt(eggSprite, 2);
// biome-ignore lint/nursery/noAwaitInLoop: The point of this loop is to play the animations, one after another
// biome-ignore lint/performance/noAwaitInLoops: The point of this loop is to play the animations, one after another
await this.doPullAnim(eggSprite, i).finally(() => gachaContainer.remove(eggSprite, true));
}

View File

@ -372,12 +372,12 @@ export class FightUiHandler extends UiHandler implements InfoToggle {
*/
private getMoveColor(pokemon: Pokemon, pokemonMove: PokemonMove): string | undefined {
if (!globalScene.typeHints) {
return undefined;
return;
}
const opponents = pokemon.getOpponents();
if (opponents.length <= 0) {
return undefined;
return;
}
const moveColors = opponents
@ -394,7 +394,7 @@ export class FightUiHandler extends UiHandler implements InfoToggle {
.sort((a, b) => b - a)
.map(effectiveness => {
if (pokemonMove.getMove().category === MoveCategory.STATUS && effectiveness !== 0) {
return undefined;
return;
}
return getTypeDamageMultiplierColor(effectiveness ?? 0, "offense");
});

View File

@ -595,9 +595,9 @@ export class PartyUiHandler extends MessageUiHandler {
matchingModifiers.push(
globalScene.findModifier(
m =>
m.is("PokemonHeldItemModifier") &&
m.pokemonId === newPokemon.id &&
m.matchType(allItems[this.transferOptionCursor]),
m.is("PokemonHeldItemModifier")
&& m.pokemonId === newPokemon.id
&& m.matchType(allItems[this.transferOptionCursor]),
) as PokemonHeldItemModifier | undefined,
);
}
@ -860,9 +860,9 @@ export class PartyUiHandler extends MessageUiHandler {
// This is only relevant for PartyUiMode.CHECK
// TODO: This risks hitting the other options (.MOVE_i and ALL) so does it? Do we need an extra check?
if (
option >= PartyOption.FORM_CHANGE_ITEM &&
globalScene.phaseManager.getCurrentPhase().is("SelectModifierPhase") &&
this.partyUiMode === PartyUiMode.CHECK
option >= PartyOption.FORM_CHANGE_ITEM
&& globalScene.phaseManager.getCurrentPhase().is("SelectModifierPhase")
&& this.partyUiMode === PartyUiMode.CHECK
) {
const formChangeItemModifiers = this.getFormChangeItemsModifiers(pokemon);
const modifier = formChangeItemModifiers[option - PartyOption.FORM_CHANGE_ITEM];
@ -912,8 +912,8 @@ export class PartyUiHandler extends MessageUiHandler {
// This is used when switching out using the Pokemon command (possibly holding a Baton held item). In this case there is no callback.
if (
(option === PartyOption.PASS_BATON || option === PartyOption.SEND_OUT) &&
this.partyUiMode === PartyUiMode.SWITCH
(option === PartyOption.PASS_BATON || option === PartyOption.SEND_OUT)
&& this.partyUiMode === PartyUiMode.SWITCH
) {
this.clearOptions();
(globalScene.phaseManager.getCurrentPhase() as CommandPhase).handleCommand(
@ -935,8 +935,8 @@ export class PartyUiHandler extends MessageUiHandler {
PartyOption.MOVE_3,
PartyOption.MOVE_4,
PartyOption.SELECT,
].includes(option) &&
this.selectCallback
].includes(option)
&& this.selectCallback
) {
this.clearOptions();
const selectCallback = this.selectCallback;
@ -1042,15 +1042,15 @@ export class PartyUiHandler extends MessageUiHandler {
const ui = this.getUi();
if (this.cursor < 6) {
if (
(this.partyUiMode === PartyUiMode.MODIFIER_TRANSFER && !this.transferMode) ||
this.partyUiMode === PartyUiMode.DISCARD
(this.partyUiMode === PartyUiMode.MODIFIER_TRANSFER && !this.transferMode)
|| this.partyUiMode === PartyUiMode.DISCARD
) {
/** Initialize item quantities for the selected Pokemon */
const itemModifiers = globalScene.findModifiers(
m =>
m.is("PokemonHeldItemModifier") &&
m.isTransferable &&
m.pokemonId === globalScene.getPlayerParty()[this.cursor].id,
m.is("PokemonHeldItemModifier")
&& m.isTransferable
&& m.pokemonId === globalScene.getPlayerParty()[this.cursor].id,
) as PokemonHeldItemModifier[];
this.transferQuantities = itemModifiers.map(item => item.getStackCount());
this.transferQuantitiesMax = itemModifiers.map(item => item.getStackCount());
@ -1092,8 +1092,8 @@ export class PartyUiHandler extends MessageUiHandler {
private processPartyCancelInput(): boolean {
const ui = this.getUi();
if (
(this.partyUiMode === PartyUiMode.MODIFIER_TRANSFER || this.partyUiMode === PartyUiMode.SPLICE) &&
this.transferMode
(this.partyUiMode === PartyUiMode.MODIFIER_TRANSFER || this.partyUiMode === PartyUiMode.SPLICE)
&& this.transferMode
) {
this.clearTransfer();
ui.playSelect();
@ -1366,8 +1366,8 @@ export class PartyUiHandler extends MessageUiHandler {
private allowBatonModifierSwitch(): boolean {
return !!(
this.partyUiMode !== PartyUiMode.FAINT_SWITCH &&
globalScene.findModifier(
this.partyUiMode !== PartyUiMode.FAINT_SWITCH
&& globalScene.findModifier(
m => m.is("SwitchEffectTransferModifier") && m.pokemonId === globalScene.getPlayerField()[this.fieldIndex].id,
)
);
@ -1378,9 +1378,9 @@ export class PartyUiHandler extends MessageUiHandler {
private isBatonPassMove(): boolean {
const lastMove: TurnMove | undefined = globalScene.getPlayerField()[this.fieldIndex].getLastXMoves()[0];
return (
this.partyUiMode === PartyUiMode.FAINT_SWITCH &&
lastMove?.result === MoveResult.SUCCESS &&
allMoves[lastMove.move].getAttrs("ForceSwitchOutAttr")[0]?.isBatonPass()
this.partyUiMode === PartyUiMode.FAINT_SWITCH
&& lastMove?.result === MoveResult.SUCCESS
&& allMoves[lastMove.move].getAttrs("ForceSwitchOutAttr")[0]?.isBatonPass()
);
}
@ -1426,8 +1426,10 @@ export class PartyUiHandler extends MessageUiHandler {
this.options.push(PartyOption.RENAME);
if (
pokemonEvolutions.hasOwnProperty(pokemon.species.speciesId) ||
(pokemon.isFusion() && pokemon.fusionSpecies && pokemonEvolutions.hasOwnProperty(pokemon.fusionSpecies.speciesId))
pokemonEvolutions.hasOwnProperty(pokemon.species.speciesId)
|| (pokemon.isFusion()
&& pokemon.fusionSpecies
&& pokemonEvolutions.hasOwnProperty(pokemon.fusionSpecies.speciesId))
) {
this.options.push(PartyOption.UNPAUSE_EVOLUTION);
}
@ -1621,10 +1623,10 @@ export class PartyUiHandler extends MessageUiHandler {
} else if (option === PartyOption.SCROLL_DOWN) {
optionName = "↓";
} else if (
(this.partyUiMode !== PartyUiMode.REMEMBER_MOVE_MODIFIER &&
(this.partyUiMode !== PartyUiMode.MODIFIER_TRANSFER || this.transferMode) &&
this.partyUiMode !== PartyUiMode.DISCARD) ||
option === PartyOption.CANCEL
(this.partyUiMode !== PartyUiMode.REMEMBER_MOVE_MODIFIER
&& (this.partyUiMode !== PartyUiMode.MODIFIER_TRANSFER || this.transferMode)
&& this.partyUiMode !== PartyUiMode.DISCARD)
|| option === PartyOption.CANCEL
) {
switch (option) {
case PartyOption.MOVE_1:
@ -1686,11 +1688,11 @@ export class PartyUiHandler extends MessageUiHandler {
const itemModifiers = this.getItemModifiers(pokemon);
const itemModifier = itemModifiers[option];
if (
this.isItemManageMode() &&
this.transferQuantitiesMax[option] > 1 &&
!this.transferMode &&
itemModifier !== undefined &&
itemModifier.type.name === optionName
this.isItemManageMode()
&& this.transferQuantitiesMax[option] > 1
&& !this.transferMode
&& itemModifier !== undefined
&& itemModifier.type.name === optionName
) {
let amountText = ` (${this.transferQuantities[option]})`;
@ -1832,9 +1834,9 @@ export class PartyUiHandler extends MessageUiHandler {
getOptionsCursorWithScroll(): number {
return (
this.optionsCursor +
this.optionsScrollCursor +
(this.options && this.options[0] === PartyOption.SCROLL_UP ? -1 : 0)
this.optionsCursor
+ this.optionsScrollCursor
+ (this.options && this.options[0] === PartyOption.SCROLL_UP ? -1 : 0)
);
}

View File

@ -689,25 +689,25 @@ export class RunInfoUiHandler extends UiHandler {
*/
private challengeParser(): string[] {
const rules: string[] = [];
for (const challenge of this.runInfo.challenges) {
if (challenge.value === 0) {
for (const chal of this.runInfo.challenges) {
if (chal.value === 0) {
continue;
}
switch (challenge.id) {
switch (chal.id) {
case Challenges.SINGLE_GENERATION:
rules.push(i18next.t(`runHistory:challengeMonoGen${challenge.value}`));
rules.push(i18next.t(`runHistory:challengeMonoGen${chal.value}`));
break;
case Challenges.SINGLE_TYPE: {
const typeRule = PokemonType[challenge.value - 1];
const typeRule = PokemonType[chal.value - 1];
const typeTextColor = `[color=${TypeColor[typeRule]}]`;
const typeShadowColor = `[shadow=${TypeShadow[typeRule]}]`;
const typeText =
typeTextColor +
typeShadowColor +
i18next.t(`pokemonInfo:type.${toCamelCase(typeRule)}`)! +
"[/color]" +
"[/shadow]";
typeTextColor
+ typeShadowColor
+ i18next.t(`pokemonInfo:type.${toCamelCase(typeRule)}`)!
+ "[/color]"
+ "[/shadow]";
rules.push(typeText);
break;
}
@ -715,7 +715,7 @@ export class RunInfoUiHandler extends UiHandler {
rules.push(i18next.t("challenges:inverseBattle.shortName"));
break;
default: {
const localizationKey = toCamelCase(Challenges[challenge.id]);
const localizationKey = toCamelCase(Challenges[chal.id]);
rules.push(i18next.t(`challenges:${localizationKey}.name`));
break;
}

View File

@ -4,7 +4,7 @@ import { CLASSIC_CANDY_FRIENDSHIP_MULTIPLIER } from "#balance/starters";
/** Mock TimedEventManager so that ongoing events don't impact tests */
export class MockTimedEventManager extends TimedEventManager {
override activeEvent() {
return undefined;
return;
}
override isEventActive(): boolean {
return false;

View File

@ -395,7 +395,8 @@ export class PhaseInterceptor {
&& currentPhase === actionForNextPrompt.phaseTarget
&& currentHandler.active
&& (!actionForNextPrompt.awaitingActionInput
|| (actionForNextPrompt.awaitingActionInput && (currentHandler as AwaitableUiHandler)["awaitingActionInput"]))
|| (actionForNextPrompt.awaitingActionInput
&& (currentHandler as AwaitableUiHandler)["awaitingActionInput"]))
) {
const prompt = this.prompts.shift();
if (prompt?.callback) {

View File

@ -70,7 +70,9 @@ describe("UI - Transfer Items", () => {
handler.optionsContainer.list.some(option => (option as BBCodeText).text?.includes("Apicot Berry (2)")),
).toBe(true);
expect(
handler.optionsContainer.list.some(option => RegExp(/Lum Berry\[color.*(2)/).exec((option as BBCodeText).text)),
handler.optionsContainer.list.some(option =>
new RegExp(/Lum Berry\[color.*(2)/).exec((option as BBCodeText).text),
),
).toBe(true);
});