diff --git a/include/config/general.h b/include/config/general.h index 6b7d3e6b79..8c58474545 100644 --- a/include/config/general.h +++ b/include/config/general.h @@ -68,6 +68,7 @@ #define GEN_7 6 #define GEN_8 7 #define GEN_9 8 +#define EVO 9 #define GEN_COUNT 9 // Changing GEN_LATEST's value to a different Generation will change every default setting that uses it at once. #define GEN_LATEST GEN_9 diff --git a/include/config/pokemon.h b/include/config/pokemon.h index e1132f211b..ae8d326d6a 100644 --- a/include/config/pokemon.h +++ b/include/config/pokemon.h @@ -11,7 +11,8 @@ #define P_UPDATED_EXP_YIELDS GEN_LATEST // Since Gen 5, some Pokémon have received base Experience changes. // Learnsets -#define P_LVL_UP_LEARNSETS GEN_LATEST // Choose which set of Level Up Learnsets to use. +//#define P_LVL_UP_LEARNSETS GEN_LATEST // Choose which set of Level Up Learnsets to use. +#define P_LVL_UP_LEARNSETS EVO // Choose which set of Level Up Learnsets to use. // For generations that hadn't introduced a species yet, we use their first appearence (eg. Chikorita's Gen2 data if the config is set to GEN_1). // For generations that don't include a previously introduced species, we use their last apperance (eg. Snivy's Gen7 data if the config is set to GEN_8). // GEN_1/2/3/4/5/6/7: Yellow, Crystal, RSE, HGSS, B2W2, ORAS, USUM learnsets respectively. diff --git a/pokeemerald-tools/gen_9.h b/pokeemerald-tools/gen_9.h index 6c488ab42e..9cdc17fb2e 100644 --- a/pokeemerald-tools/gen_9.h +++ b/pokeemerald-tools/gen_9.h @@ -8,6 +8,61 @@ static const struct LevelUpMove sNoneLevelUpLearnset[] = { }; #endif +#if P_FAMILY_BULBASAUR +static const struct LevelUpMove sBulbasaurLevelUpLearnset[] = { + LEVEL_UP_MOVE( 4 , MOVE_GROWL), + LEVEL_UP_MOVE( 7 , MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 10 , MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 15 , MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 15 , MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE( 20 , MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 25 , MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 28 , MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE( 32 , MOVE_GROWTH), + LEVEL_UP_MOVE( 36 , MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE( 39 , MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 46 , MOVE_SOLARBEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sIvysaurLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1 , MOVE_GROWL), + LEVEL_UP_MOVE( 1 , MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 4 , MOVE_GROWL), + LEVEL_UP_MOVE( 7 , MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 10 , MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 15 , MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 15 , MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE( 22 , MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 29 , MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 32 , MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE( 38 , MOVE_GROWTH), + LEVEL_UP_MOVE( 43 , MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE( 47 , MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 56 , MOVE_SOLARBEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sVenusaurLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1 , MOVE_GROWL), + LEVEL_UP_MOVE( 1 , MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1 , MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 4 , MOVE_GROWL), + LEVEL_UP_MOVE( 7 , MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 10 , MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 15 , MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 15 , MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE( 22 , MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 29 , MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 34 , MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE( 41 , MOVE_GROWTH), + LEVEL_UP_MOVE( 46 , MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE( 53 , MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 65 , MOVE_SOLARBEAM), + LEVEL_UP_MOVE( 70 , MOVE_FRENZY_PLANT), + LEVEL_UP_END +}; + static const struct LevelUpMove sEcosaurLevelUpLearnset[] = { LEVEL_UP_MOVE( 1 , MOVE_GROWL), LEVEL_UP_MOVE( 1 , MOVE_LEECH_SEED), @@ -47,3 +102,494 @@ static const struct LevelUpMove sTerarisaurLevelUpLearnset[] = { LEVEL_UP_MOVE( 70 , MOVE_FRENZY_PLANT), LEVEL_UP_END }; + +static const struct LevelUpMove sSymbisaurLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1 , MOVE_GROWL), + LEVEL_UP_MOVE( 1 , MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1 , MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 4 , MOVE_GROWL), + LEVEL_UP_MOVE( 7 , MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 10 , MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 15 , MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 15 , MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE( 22 , MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 29 , MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 34 , MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE( 41 , MOVE_GROWTH), + LEVEL_UP_MOVE( 46 , MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE( 53 , MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 65 , MOVE_SOLARBEAM), + LEVEL_UP_MOVE( 70 , MOVE_FRENZY_PLANT), + LEVEL_UP_END +}; + +#endif + +#if P_FAMILY_CHARMANDER +static const struct LevelUpMove sCharmanderLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1 , MOVE_GROWL), + LEVEL_UP_MOVE( 7 , MOVE_EMBER), + LEVEL_UP_MOVE( 13 , MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 14 , MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 19 , MOVE_FIRE_SPIN), + LEVEL_UP_MOVE( 25 , MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 31 , MOVE_FLAMETHROWER), + LEVEL_UP_MOVE( 37 , MOVE_SLASH), + LEVEL_UP_MOVE( 43 , MOVE_DRAGONBREATH), + LEVEL_UP_MOVE( 49 , MOVE_HEAT_WAVE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCharmeleonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1 , MOVE_GROWL), + LEVEL_UP_MOVE( 1 , MOVE_EMBER), + LEVEL_UP_MOVE( 7 , MOVE_EMBER), + LEVEL_UP_MOVE( 13 , MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 16 , MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 20 , MOVE_FIRE_SPIN), + LEVEL_UP_MOVE( 27 , MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 34 , MOVE_FLAMETHROWER), + LEVEL_UP_MOVE( 41 , MOVE_SLASH), + LEVEL_UP_MOVE( 48 , MOVE_DRAGONBREATH), + LEVEL_UP_MOVE( 55 , MOVE_HEAT_WAVE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCharizardLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1 , MOVE_SCRATCH), + LEVEL_UP_MOVE( 1 , MOVE_GROWL), + LEVEL_UP_MOVE( 1 , MOVE_EMBER), + LEVEL_UP_MOVE( 1 , MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 7 , MOVE_EMBER), + LEVEL_UP_MOVE( 13 , MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 20 , MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 27 , MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 34 , MOVE_FLAMETHROWER), + LEVEL_UP_MOVE( 36 , MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 44 , MOVE_SLASH), + LEVEL_UP_MOVE( 54 , MOVE_DRAGONBREATH), + LEVEL_UP_MOVE( 64 , MOVE_HEAT_WAVE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sChariguanaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1 , MOVE_SCRATCH), + LEVEL_UP_MOVE( 1 , MOVE_GROWL), + LEVEL_UP_MOVE( 1 , MOVE_EMBER), + LEVEL_UP_MOVE( 1 , MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 7 , MOVE_EMBER), + LEVEL_UP_MOVE( 13 , MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 16 , MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 23 , MOVE_FIRE_SPIN), + LEVEL_UP_MOVE( 27 , MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 34 , MOVE_FLAMETHROWER), + LEVEL_UP_MOVE( 36 , MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 44 , MOVE_SLASH), + LEVEL_UP_MOVE( 54 , MOVE_DRAGONBREATH), + LEVEL_UP_MOVE( 64 , MOVE_HEAT_WAVE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCharianaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1 , MOVE_SCRATCH), + LEVEL_UP_MOVE( 1 , MOVE_GROWL), + LEVEL_UP_MOVE( 1 , MOVE_EMBER), + LEVEL_UP_MOVE( 1 , MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 7 , MOVE_EMBER), + LEVEL_UP_MOVE( 13 , MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 16 , MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 23 , MOVE_FIRE_SPIN), + LEVEL_UP_MOVE( 27 , MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 34 , MOVE_FLAMETHROWER), + LEVEL_UP_MOVE( 36 , MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 44 , MOVE_SLASH), + LEVEL_UP_MOVE( 54 , MOVE_DRAGONBREATH), + LEVEL_UP_MOVE( 64 , MOVE_HEAT_WAVE), + LEVEL_UP_MOVE( 70 , MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sChariathanLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1 , MOVE_SCRATCH), + LEVEL_UP_MOVE( 1 , MOVE_GROWL), + LEVEL_UP_MOVE( 1 , MOVE_EMBER), + LEVEL_UP_MOVE( 1 , MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 7 , MOVE_EMBER), + LEVEL_UP_MOVE( 13 , MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 16 , MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 23 , MOVE_FIRE_SPIN), + LEVEL_UP_MOVE( 27 , MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 34 , MOVE_FLAMETHROWER), + LEVEL_UP_MOVE( 36 , MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 44 , MOVE_SLASH), + LEVEL_UP_MOVE( 54 , MOVE_DRAGONBREATH), + LEVEL_UP_MOVE( 64 , MOVE_HEAT_WAVE), + LEVEL_UP_MOVE( 70 , MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +#endif + +#if P_FAMILY_SQUIRTLE +static const struct LevelUpMove sSquirtleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 4 , MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7 , MOVE_BUBBLE), + LEVEL_UP_MOVE( 10 , MOVE_WITHDRAW), + LEVEL_UP_MOVE( 13 , MOVE_WATER_GUN), + LEVEL_UP_MOVE( 18 , MOVE_BITE), + LEVEL_UP_MOVE( 21 , MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 24 , MOVE_BUBBLEBEAM), + LEVEL_UP_MOVE( 28 , MOVE_PROTECT), + LEVEL_UP_MOVE( 33 , MOVE_RAIN_DANCE), + LEVEL_UP_MOVE( 40 , MOVE_SKULL_BASH), + LEVEL_UP_MOVE( 47 , MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sWartortleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1 , MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1 , MOVE_BUBBLE), + LEVEL_UP_MOVE( 4 , MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7 , MOVE_BUBBLE), + LEVEL_UP_MOVE( 10 , MOVE_WITHDRAW), + LEVEL_UP_MOVE( 13 , MOVE_WATER_GUN), + LEVEL_UP_MOVE( 19 , MOVE_BITE), + LEVEL_UP_MOVE( 22 , MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 25 , MOVE_BUBBLEBEAM), + LEVEL_UP_MOVE( 31 , MOVE_PROTECT), + LEVEL_UP_MOVE( 37 , MOVE_RAIN_DANCE), + LEVEL_UP_MOVE( 45 , MOVE_SKULL_BASH), + LEVEL_UP_MOVE( 53 , MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBlastoiseLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1 , MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1 , MOVE_BUBBLE), + LEVEL_UP_MOVE( 1 , MOVE_WITHDRAW), + LEVEL_UP_MOVE( 4 , MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7 , MOVE_BUBBLE), + LEVEL_UP_MOVE( 10 , MOVE_WITHDRAW), + LEVEL_UP_MOVE( 13 , MOVE_WATER_GUN), + LEVEL_UP_MOVE( 19 , MOVE_BITE), + LEVEL_UP_MOVE( 22 , MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 25 , MOVE_BUBBLEBEAM), + LEVEL_UP_MOVE( 31 , MOVE_PROTECT), + LEVEL_UP_MOVE( 42 , MOVE_RAIN_DANCE), + LEVEL_UP_MOVE( 55 , MOVE_SKULL_BASH), + LEVEL_UP_MOVE( 68 , MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sFerrapinLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1 , MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1 , MOVE_BUBBLE), + LEVEL_UP_MOVE( 1 , MOVE_WITHDRAW), + LEVEL_UP_MOVE( 4 , MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7 , MOVE_BUBBLE), + LEVEL_UP_MOVE( 10 , MOVE_WITHDRAW), + LEVEL_UP_MOVE( 13 , MOVE_WATER_GUN), + LEVEL_UP_MOVE( 19 , MOVE_BITE), + LEVEL_UP_MOVE( 22 , MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 25 , MOVE_BUBBLEBEAM), + LEVEL_UP_MOVE( 31 , MOVE_PROTECT), + LEVEL_UP_MOVE( 42 , MOVE_RAIN_DANCE), + LEVEL_UP_MOVE( 55 , MOVE_SKULL_BASH), + LEVEL_UP_MOVE( 68 , MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sFortoiseLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1 , MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1 , MOVE_BUBBLE), + LEVEL_UP_MOVE( 1 , MOVE_WITHDRAW), + LEVEL_UP_MOVE( 4 , MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7 , MOVE_BUBBLE), + LEVEL_UP_MOVE( 10 , MOVE_WITHDRAW), + LEVEL_UP_MOVE( 13 , MOVE_WATER_GUN), + LEVEL_UP_MOVE( 19 , MOVE_BITE), + LEVEL_UP_MOVE( 22 , MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 25 , MOVE_BUBBLEBEAM), + LEVEL_UP_MOVE( 31 , MOVE_PROTECT), + LEVEL_UP_MOVE( 42 , MOVE_RAIN_DANCE), + LEVEL_UP_MOVE( 52 , MOVE_FLASH_CANNON), + LEVEL_UP_MOVE( 55 , MOVE_SKULL_BASH), + LEVEL_UP_MOVE( 68 , MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sTurtilleryLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1 , MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1 , MOVE_BUBBLE), + LEVEL_UP_MOVE( 1 , MOVE_WITHDRAW), + LEVEL_UP_MOVE( 4 , MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7 , MOVE_BUBBLE), + LEVEL_UP_MOVE( 10 , MOVE_WITHDRAW), + LEVEL_UP_MOVE( 13 , MOVE_WATER_GUN), + LEVEL_UP_MOVE( 19 , MOVE_BITE), + LEVEL_UP_MOVE( 22 , MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 25 , MOVE_BUBBLEBEAM), + LEVEL_UP_MOVE( 31 , MOVE_PROTECT), + LEVEL_UP_MOVE( 42 , MOVE_RAIN_DANCE), + LEVEL_UP_MOVE( 52 , MOVE_FLASH_CANNON), + LEVEL_UP_MOVE( 55 , MOVE_SKULL_BASH), + LEVEL_UP_MOVE( 68 , MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +#endif + +#if P_FAMILY_CATERPIE +static const struct LevelUpMove sCaterpieLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1 , MOVE_STRING_SHOT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMetapodLevelUpLearnset[] = { + LEVEL_UP_MOVE( 7 , MOVE_HARDEN), + LEVEL_UP_END +}; + +static const struct LevelUpMove sButterfreeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 10 , MOVE_CONFUSION), + LEVEL_UP_MOVE( 13 , MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 14 , MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 15 , MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE( 18 , MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 23 , MOVE_WHIRLWIND), + LEVEL_UP_MOVE( 28 , MOVE_GUST), + LEVEL_UP_MOVE( 34 , MOVE_PSYBEAM), + LEVEL_UP_MOVE( 40 , MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 47 , MOVE_SILVER_WIND), + LEVEL_UP_END +}; + +static const struct LevelUpMove sButteflareLevelUpLearnset[] = { + LEVEL_UP_MOVE( 10 , MOVE_CONFUSION), + LEVEL_UP_MOVE( 11 , MOVE_EMBER), + LEVEL_UP_MOVE( 13 , MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 14 , MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 15 , MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE( 18 , MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 22 , MOVE_FIRE_SPIN), + LEVEL_UP_MOVE( 23 , MOVE_WHIRLWIND), + LEVEL_UP_MOVE( 25 , MOVE_WILL_O_WISP), + LEVEL_UP_MOVE( 28 , MOVE_GUST), + LEVEL_UP_MOVE( 34 , MOVE_PSYBEAM), + LEVEL_UP_MOVE( 40 , MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 47 , MOVE_SILVER_WIND), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPyrefreeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 10 , MOVE_CONFUSION), + LEVEL_UP_MOVE( 11 , MOVE_EMBER), + LEVEL_UP_MOVE( 13 , MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 14 , MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 15 , MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE( 18 , MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 23 , MOVE_GUST), + LEVEL_UP_MOVE( 25 , MOVE_FIRE_SPIN), + LEVEL_UP_MOVE( 28 , MOVE_WILL_O_WISP), + LEVEL_UP_MOVE( 34 , MOVE_HEAT_WAVE), + LEVEL_UP_MOVE( 36 , MOVE_WEATHER_BALL), + LEVEL_UP_MOVE( 40 , MOVE_AIR_CUTTER), + LEVEL_UP_MOVE( 47 , MOVE_OVERHEAT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sImpsectLevelUpLearnset[] = { + LEVEL_UP_MOVE( 10 , MOVE_CONFUSION), + LEVEL_UP_MOVE( 11 , MOVE_EMBER), + LEVEL_UP_MOVE( 13 , MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 14 , MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 15 , MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE( 18 , MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 23 , MOVE_GUST), + LEVEL_UP_MOVE( 25 , MOVE_WILL_O_WISP), + LEVEL_UP_MOVE( 28 , MOVE_WHIRLWIND), + LEVEL_UP_MOVE( 34 , MOVE_HEAT_WAVE), + LEVEL_UP_MOVE( 36 , MOVE_WEATHER_BALL), + LEVEL_UP_MOVE( 40 , MOVE_AIR_CUTTER), + LEVEL_UP_MOVE( 45 , MOVE_OVERHEAT), + LEVEL_UP_MOVE( 47 , MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 50 , MOVE_FLAMETHROWER), + LEVEL_UP_MOVE( 55 , MOVE_ERUPTION), + LEVEL_UP_MOVE( 60 , MOVE_BUG_BUZZ), + LEVEL_UP_END +}; + +#endif + +#if P_FAMILY_WEEDLE +static const struct LevelUpMove sWeedleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1 , MOVE_STRING_SHOT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sKakunaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 7 , MOVE_HARDEN), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBeedrillLevelUpLearnset[] = { + LEVEL_UP_MOVE( 10 , MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 15 , MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 20 , MOVE_TWINEEDLE), + LEVEL_UP_MOVE( 25 , MOVE_RAGE), + LEVEL_UP_MOVE( 30 , MOVE_PURSUIT), + LEVEL_UP_MOVE( 35 , MOVE_PIN_MISSILE), + LEVEL_UP_MOVE( 40 , MOVE_AGILITY), + LEVEL_UP_MOVE( 45 , MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBeebruteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 10 , MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 15 , MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 20 , MOVE_TWINEEDLE), + LEVEL_UP_MOVE( 25 , MOVE_RAGE), + LEVEL_UP_MOVE( 25 , MOVE_BULK_UP), + LEVEL_UP_MOVE( 30 , MOVE_PURSUIT), + LEVEL_UP_MOVE( 35 , MOVE_PIN_MISSILE), + LEVEL_UP_MOVE( 40 , MOVE_MEGAHORN), + LEVEL_UP_MOVE( 50 , MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDronarchLevelUpLearnset[] = { + LEVEL_UP_MOVE( 5 , MOVE_BIDE), + LEVEL_UP_MOVE( 10 , MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 15 , MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 20 , MOVE_TWINEEDLE), + LEVEL_UP_MOVE( 25 , MOVE_RAGE), + LEVEL_UP_MOVE( 25 , MOVE_BULK_UP), + LEVEL_UP_MOVE( 30 , MOVE_PURSUIT), + LEVEL_UP_MOVE( 30 , MOVE_PIN_MISSILE), + LEVEL_UP_MOVE( 36 , MOVE_PROTECT), + LEVEL_UP_MOVE( 36 , MOVE_REFLECT), + LEVEL_UP_MOVE( 36 , MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE( 36 , MOVE_BARRIER), + LEVEL_UP_MOVE( 40 , MOVE_MEGAHORN), + LEVEL_UP_MOVE( 45 , MOVE_POISON_JAB), + LEVEL_UP_MOVE( 45 , MOVE_SPIKE_CANNON), + LEVEL_UP_MOVE( 50 , MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSepistrikeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 10 , MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 15 , MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 20 , MOVE_TWINEEDLE), + LEVEL_UP_MOVE( 25 , MOVE_RAGE), + LEVEL_UP_MOVE( 30 , MOVE_PURSUIT), + LEVEL_UP_MOVE( 30 , MOVE_SLASH), + LEVEL_UP_MOVE( 35 , MOVE_PIN_MISSILE), + LEVEL_UP_MOVE( 36 , MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE( 36 , MOVE_ENCORE), + LEVEL_UP_MOVE( 40 , MOVE_AGILITY), + LEVEL_UP_MOVE( 40 , MOVE_MEGAHORN), + LEVEL_UP_MOVE( 45 , MOVE_POISON_JAB), + LEVEL_UP_MOVE( 55 , MOVE_GUILLOTINE), + LEVEL_UP_END +}; + +#endif + +#if P_FAMILY_PIDGEY +static const struct LevelUpMove sPidgeyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 5 , MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9 , MOVE_GUST), + LEVEL_UP_MOVE( 13 , MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 19 , MOVE_WHIRLWIND), + LEVEL_UP_MOVE( 25 , MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 29 , MOVE_FEATHERDANCE), + LEVEL_UP_MOVE( 34 , MOVE_AGILITY), + LEVEL_UP_MOVE( 38 , MOVE_MIRROR_MOVE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPidgeottoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1 , MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1 , MOVE_GUST), + LEVEL_UP_MOVE( 5 , MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9 , MOVE_GUST), + LEVEL_UP_MOVE( 13 , MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 20 , MOVE_WHIRLWIND), + LEVEL_UP_MOVE( 27 , MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 31 , MOVE_FEATHERDANCE), + LEVEL_UP_MOVE( 35 , MOVE_AGILITY), + LEVEL_UP_MOVE( 40 , MOVE_MIRROR_MOVE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPidgeotLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1 , MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1 , MOVE_GUST), + LEVEL_UP_MOVE( 1 , MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 5 , MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9 , MOVE_GUST), + LEVEL_UP_MOVE( 13 , MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 20 , MOVE_WHIRLWIND), + LEVEL_UP_MOVE( 27 , MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 31 , MOVE_FEATHERDANCE), + LEVEL_UP_MOVE( 36 , MOVE_AGILITY), + LEVEL_UP_MOVE( 36 , MOVE_DRILL_PECK), + LEVEL_UP_MOVE( 41 , MOVE_MIRROR_MOVE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPidgaeroLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1 , MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1 , MOVE_GUST), + LEVEL_UP_MOVE( 1 , MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 5 , MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9 , MOVE_GUST), + LEVEL_UP_MOVE( 13 , MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 20 , MOVE_WHIRLWIND), + LEVEL_UP_MOVE( 27 , MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 31 , MOVE_FEATHERDANCE), + LEVEL_UP_MOVE( 36 , MOVE_AGILITY), + LEVEL_UP_MOVE( 36 , MOVE_DRILL_PECK), + LEVEL_UP_MOVE( 41 , MOVE_MIRROR_MOVE), + LEVEL_UP_MOVE( 47 , MOVE_STEEL_WING), + LEVEL_UP_MOVE( 52 , MOVE_VOLT_TACKLE), + LEVEL_UP_MOVE( 58 , MOVE_BRAVE_BIRD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPidgeozoneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1 , MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1 , MOVE_GUST), + LEVEL_UP_MOVE( 1 , MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 5 , MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9 , MOVE_GUST), + LEVEL_UP_MOVE( 13 , MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 20 , MOVE_WHIRLWIND), + LEVEL_UP_MOVE( 27 , MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 31 , MOVE_FEATHERDANCE), + LEVEL_UP_MOVE( 36 , MOVE_AGILITY), + LEVEL_UP_MOVE( 36 , MOVE_DRILL_PECK), + LEVEL_UP_MOVE( 41 , MOVE_MIRROR_MOVE), + LEVEL_UP_MOVE( 47 , MOVE_STEEL_WING), + LEVEL_UP_MOVE( 52 , MOVE_VOLT_TACKLE), + LEVEL_UP_MOVE( 58 , MOVE_BRAVE_BIRD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPidgephyrLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1 , MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1 , MOVE_GUST), + LEVEL_UP_MOVE( 1 , MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 5 , MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9 , MOVE_GUST), + LEVEL_UP_MOVE( 13 , MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 20 , MOVE_WHIRLWIND), + LEVEL_UP_MOVE( 27 , MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 31 , MOVE_FEATHERDANCE), + LEVEL_UP_MOVE( 36 , MOVE_AGILITY), + LEVEL_UP_MOVE( 36 , MOVE_DRILL_PECK), + LEVEL_UP_MOVE( 41 , MOVE_MIRROR_MOVE), + LEVEL_UP_MOVE( 47 , MOVE_STEEL_WING), + LEVEL_UP_MOVE( 52 , MOVE_VOLT_TACKLE), + LEVEL_UP_MOVE( 58 , MOVE_BRAVE_BIRD), diff --git a/src/data/pokemon/level_up_learnsets/gen_EVO.h b/src/data/pokemon/level_up_learnsets/gen_EVO.h new file mode 100644 index 0000000000..8a751b9c09 --- /dev/null +++ b/src/data/pokemon/level_up_learnsets/gen_EVO.h @@ -0,0 +1,22333 @@ +#define LEVEL_UP_MOVE(lvl, moveLearned) {.move = moveLearned, .level = lvl} +#define LEVEL_UP_END {.move = LEVEL_UP_MOVE_END, .level = 0} + +static const struct LevelUpMove sNoneLevelUpLearnset[] = { + LEVEL_UP_MOVE(1, MOVE_POUND), + LEVEL_UP_END +}; + +#if P_FAMILY_BULBASAUR +static const struct LevelUpMove sBulbasaurLevelUpLearnset[] = { + LEVEL_UP_MOVE( 4 , MOVE_GROWL), + LEVEL_UP_MOVE( 7 , MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 10 , MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 15 , MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 15 , MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE( 20 , MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 25 , MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 28 , MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE( 32 , MOVE_GROWTH), + LEVEL_UP_MOVE( 36 , MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE( 39 , MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 46 , MOVE_SOLARBEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sIvysaurLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 9, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(12, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(15, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(20, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(30, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(35, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(40, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(45, MOVE_POWER_WHIP), + LEVEL_UP_MOVE(50, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sVenusaurLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(12, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(15, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(20, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(30, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(37, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(44, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(51, MOVE_POWER_WHIP), + LEVEL_UP_MOVE(58, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; +#endif //P_FAMILY_BULBASAUR + +#if P_FAMILY_CHARMANDER +static const struct LevelUpMove sCharmanderLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 4, MOVE_EMBER), + LEVEL_UP_MOVE( 8, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(12, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(17, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(20, MOVE_SLASH), + LEVEL_UP_MOVE(24, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(28, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(32, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(36, MOVE_INFERNO), + LEVEL_UP_MOVE(40, MOVE_FLARE_BLITZ), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCharmeleonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(12, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(19, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(24, MOVE_SLASH), + LEVEL_UP_MOVE(30, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(37, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(48, MOVE_INFERNO), + LEVEL_UP_MOVE(54, MOVE_FLARE_BLITZ), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCharizardLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_AIR_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_HEAT_WAVE), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(12, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(19, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(24, MOVE_SLASH), + LEVEL_UP_MOVE(30, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(39, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(46, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(54, MOVE_INFERNO), + LEVEL_UP_MOVE(62, MOVE_FLARE_BLITZ), + LEVEL_UP_END +}; +#endif //P_FAMILY_CHARMANDER + +#if P_FAMILY_SQUIRTLE +static const struct LevelUpMove sSquirtleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 3, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 6, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 9, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(12, MOVE_BITE), + LEVEL_UP_MOVE(15, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(18, MOVE_PROTECT), + LEVEL_UP_MOVE(21, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(24, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(27, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE(30, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(33, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(36, MOVE_WAVE_CRASH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sWartortleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 9, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(12, MOVE_BITE), + LEVEL_UP_MOVE(15, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(20, MOVE_PROTECT), + LEVEL_UP_MOVE(25, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(30, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(35, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE(40, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(45, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(50, MOVE_WAVE_CRASH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBlastoiseLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 9, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(12, MOVE_BITE), + LEVEL_UP_MOVE(15, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(20, MOVE_PROTECT), + LEVEL_UP_MOVE(25, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(30, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(35, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE(42, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(49, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(56, MOVE_WAVE_CRASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_SQUIRTLE + +#if P_FAMILY_CATERPIE +static const struct LevelUpMove sCaterpieLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 9, MOVE_BUG_BITE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMetapodLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_END +}; + +static const struct LevelUpMove sButterfreeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE( 4, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 8, MOVE_CONFUSION), + LEVEL_UP_MOVE(12, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(12, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(12, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(16, MOVE_PSYBEAM), + LEVEL_UP_MOVE(20, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(24, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(28, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(32, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(36, MOVE_TAILWIND), + LEVEL_UP_MOVE(40, MOVE_RAGE_POWDER), + LEVEL_UP_MOVE(44, MOVE_QUIVER_DANCE), + LEVEL_UP_END +}; +#endif //P_FAMILY_CATERPIE + +#if P_FAMILY_WEEDLE +static const struct LevelUpMove sWeedleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 9, MOVE_BUG_BITE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sKakunaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBeedrillLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE(11, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(14, MOVE_LASER_FOCUS), + LEVEL_UP_MOVE(17, MOVE_POISON_STING), + LEVEL_UP_MOVE(20, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(23, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(26, MOVE_ASSURANCE), + LEVEL_UP_MOVE(29, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(32, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(35, MOVE_POISON_JAB), + LEVEL_UP_MOVE(38, MOVE_AGILITY), + LEVEL_UP_MOVE(41, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(44, MOVE_FELL_STINGER), + LEVEL_UP_END +}; +#endif //P_FAMILY_WEEDLE + +#if P_FAMILY_PIDGEY +static const struct LevelUpMove sPidgeyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_GUST), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(17, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(21, MOVE_TWISTER), + LEVEL_UP_MOVE(25, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(29, MOVE_AGILITY), + LEVEL_UP_MOVE(33, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(37, MOVE_ROOST), + LEVEL_UP_MOVE(41, MOVE_TAILWIND), + LEVEL_UP_MOVE(45, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(49, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(53, MOVE_HURRICANE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPidgeottoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_GUST), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(17, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(22, MOVE_TWISTER), + LEVEL_UP_MOVE(27, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(32, MOVE_AGILITY), + LEVEL_UP_MOVE(37, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(42, MOVE_ROOST), + LEVEL_UP_MOVE(47, MOVE_TAILWIND), + LEVEL_UP_MOVE(52, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(57, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(62, MOVE_HURRICANE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPidgeotLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HURRICANE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_GUST), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(17, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(22, MOVE_TWISTER), + LEVEL_UP_MOVE(27, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(32, MOVE_AGILITY), + LEVEL_UP_MOVE(38, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(44, MOVE_ROOST), + LEVEL_UP_MOVE(50, MOVE_TAILWIND), + LEVEL_UP_MOVE(56, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(62, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(68, MOVE_HURRICANE), + LEVEL_UP_END +}; +#endif //P_FAMILY_PIDGEY + +#if P_FAMILY_RATTATA +static const struct LevelUpMove sRattataLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 4, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(10, MOVE_BITE), + LEVEL_UP_MOVE(13, MOVE_LASER_FOCUS), + LEVEL_UP_MOVE(16, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(19, MOVE_ASSURANCE), + LEVEL_UP_MOVE(22, MOVE_CRUNCH), + LEVEL_UP_MOVE(25, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(28, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(31, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(34, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +static const struct LevelUpMove sRaticateLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 4, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(10, MOVE_BITE), + LEVEL_UP_MOVE(13, MOVE_LASER_FOCUS), + LEVEL_UP_MOVE(16, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(19, MOVE_ASSURANCE), + LEVEL_UP_MOVE(24, MOVE_CRUNCH), + LEVEL_UP_MOVE(29, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(34, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(39, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(44, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +#if P_ALOLAN_FORMS +static const struct LevelUpMove sRattataAlolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 4, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(10, MOVE_BITE), + LEVEL_UP_MOVE(13, MOVE_PURSUIT), + LEVEL_UP_MOVE(16, MOVE_HYPER_FANG), + LEVEL_UP_MOVE(19, MOVE_ASSURANCE), + LEVEL_UP_MOVE(22, MOVE_CRUNCH), + LEVEL_UP_MOVE(25, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(28, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(31, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(34, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +static const struct LevelUpMove sRaticateAlolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 4, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(10, MOVE_BITE), + LEVEL_UP_MOVE(13, MOVE_PURSUIT), + LEVEL_UP_MOVE(16, MOVE_HYPER_FANG), + LEVEL_UP_MOVE(19, MOVE_ASSURANCE), + LEVEL_UP_MOVE(24, MOVE_CRUNCH), + LEVEL_UP_MOVE(29, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(34, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(39, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(44, MOVE_ENDEAVOR), + LEVEL_UP_END +}; +#endif //P_ALOLAN_FORMS +#endif //P_FAMILY_RATTATA + +#if P_FAMILY_SPEAROW +static const struct LevelUpMove sSpearowLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 4, MOVE_LEER), + LEVEL_UP_MOVE( 8, MOVE_ASSURANCE), + LEVEL_UP_MOVE(11, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(15, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(18, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(22, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(25, MOVE_AGILITY), + LEVEL_UP_MOVE(29, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(32, MOVE_ROOST), + LEVEL_UP_MOVE(36, MOVE_DRILL_PECK), + LEVEL_UP_END +}; + +static const struct LevelUpMove sFearowLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DRILL_RUN), + LEVEL_UP_MOVE( 1, MOVE_PLUCK), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 4, MOVE_LEER), + LEVEL_UP_MOVE( 8, MOVE_ASSURANCE), + LEVEL_UP_MOVE(11, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(15, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(18, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(23, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(27, MOVE_AGILITY), + LEVEL_UP_MOVE(32, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(36, MOVE_ROOST), + LEVEL_UP_MOVE(41, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(45, MOVE_DRILL_RUN), + LEVEL_UP_END +}; +#endif //P_FAMILY_SPEAROW + +#if P_FAMILY_EKANS +static const struct LevelUpMove sEkansLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 4, MOVE_POISON_STING), + LEVEL_UP_MOVE( 9, MOVE_BITE), + LEVEL_UP_MOVE(12, MOVE_GLARE), + LEVEL_UP_MOVE(17, MOVE_SCREECH), + LEVEL_UP_MOVE(20, MOVE_ACID), + LEVEL_UP_MOVE(25, MOVE_SWALLOW), + LEVEL_UP_MOVE(25, MOVE_STOCKPILE), + LEVEL_UP_MOVE(25, MOVE_SPIT_UP), + LEVEL_UP_MOVE(28, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE(33, MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE(36, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(38, MOVE_BELCH), + LEVEL_UP_MOVE(41, MOVE_HAZE), + LEVEL_UP_MOVE(44, MOVE_COIL), + LEVEL_UP_MOVE(49, MOVE_GUNK_SHOT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sArbokLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE(12, MOVE_GLARE), + LEVEL_UP_MOVE(17, MOVE_SCREECH), + LEVEL_UP_MOVE(20, MOVE_ACID), + LEVEL_UP_MOVE(27, MOVE_SWALLOW), + LEVEL_UP_MOVE(27, MOVE_STOCKPILE), + LEVEL_UP_MOVE(27, MOVE_SPIT_UP), + LEVEL_UP_MOVE(32, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE(39, MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE(44, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(48, MOVE_BELCH), + LEVEL_UP_MOVE(51, MOVE_HAZE), + LEVEL_UP_MOVE(56, MOVE_COIL), + LEVEL_UP_MOVE(63, MOVE_GUNK_SHOT), + LEVEL_UP_END +}; +#endif //P_FAMILY_EKANS + +#if P_FAMILY_PIKACHU +#if P_GEN_2_CROSS_EVOS +static const struct LevelUpMove sPichuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 4, MOVE_PLAY_NICE), + LEVEL_UP_MOVE( 8, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(12, MOVE_NUZZLE), + LEVEL_UP_MOVE(16, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(20, MOVE_CHARM), + LEVEL_UP_END +}; +#endif //P_GEN_2_CROSS_EVOS + +static const struct LevelUpMove sPikachuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_NUZZLE), + LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_SWEET_KISS), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 8, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(12, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(16, MOVE_FEINT), + LEVEL_UP_MOVE(20, MOVE_SPARK), + LEVEL_UP_MOVE(24, MOVE_AGILITY), + LEVEL_UP_MOVE(28, MOVE_IRON_TAIL), + LEVEL_UP_MOVE(32, MOVE_DISCHARGE), + LEVEL_UP_MOVE(36, MOVE_THUNDERBOLT), + LEVEL_UP_MOVE(40, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(44, MOVE_THUNDER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sRaichuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE( 1, MOVE_DISCHARGE), + LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE( 1, MOVE_IRON_TAIL), + LEVEL_UP_MOVE( 1, MOVE_SPARK), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_SWEET_KISS), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), + LEVEL_UP_MOVE( 1, MOVE_NUZZLE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_AGILITY), + LEVEL_UP_MOVE( 1, MOVE_THUNDER), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE( 5, MOVE_THUNDERBOLT), + LEVEL_UP_END +}; + +#if P_ALOLAN_FORMS +static const struct LevelUpMove sRaichuAlolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_PSYCHIC), + LEVEL_UP_MOVE( 1, MOVE_NUZZLE), + LEVEL_UP_MOVE( 1, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE( 1, MOVE_DISCHARGE), + LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE( 1, MOVE_IRON_TAIL), + LEVEL_UP_MOVE( 1, MOVE_SPARK), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_SWEET_KISS), + LEVEL_UP_MOVE( 1, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_AGILITY), + LEVEL_UP_MOVE( 1, MOVE_THUNDER), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 5, MOVE_THUNDERBOLT), + LEVEL_UP_END +}; +#endif //P_ALOLAN_FORMS +#endif //P_FAMILY_PIKACHU + +#if P_FAMILY_SANDSHREW +static const struct LevelUpMove sSandshrewLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 3, MOVE_POISON_STING), + LEVEL_UP_MOVE( 6, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_ROLLOUT), + LEVEL_UP_MOVE(12, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(15, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(18, MOVE_BULLDOZE), + LEVEL_UP_MOVE(21, MOVE_SWIFT), + LEVEL_UP_MOVE(24, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(27, MOVE_AGILITY), + LEVEL_UP_MOVE(30, MOVE_SLASH), + LEVEL_UP_MOVE(33, MOVE_DIG), + LEVEL_UP_MOVE(36, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(39, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(42, MOVE_SANDSTORM), + LEVEL_UP_MOVE(45, MOVE_EARTHQUAKE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSandslashLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_CRUSH_CLAW), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 9, MOVE_ROLLOUT), + LEVEL_UP_MOVE(12, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(15, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(18, MOVE_BULLDOZE), + LEVEL_UP_MOVE(21, MOVE_SWIFT), + LEVEL_UP_MOVE(26, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(31, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(36, MOVE_SLASH), + LEVEL_UP_MOVE(41, MOVE_DIG), + LEVEL_UP_MOVE(46, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(51, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(56, MOVE_SANDSTORM), + LEVEL_UP_MOVE(61, MOVE_EARTHQUAKE), + LEVEL_UP_END +}; + +#if P_ALOLAN_FORMS +static const struct LevelUpMove sSandshrewAlolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 3, MOVE_MIST), + LEVEL_UP_MOVE( 6, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 9, MOVE_ROLLOUT), + LEVEL_UP_MOVE(12, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(15, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(18, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(21, MOVE_SWIFT), + LEVEL_UP_MOVE(24, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(27, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(30, MOVE_SLASH), + LEVEL_UP_MOVE(33, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(36, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(39, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(42, MOVE_SNOWSCAPE), + LEVEL_UP_MOVE(45, MOVE_BLIZZARD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSandslashAlolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_ICICLE_SPEAR), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_MIST), + LEVEL_UP_MOVE( 1, MOVE_BLIZZARD), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_SWIFT), + LEVEL_UP_MOVE( 1, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_GYRO_BALL), + LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), + LEVEL_UP_MOVE( 1, MOVE_IRON_HEAD), + LEVEL_UP_MOVE( 1, MOVE_SNOWSCAPE), + LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE( 1, MOVE_SLASH), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), + LEVEL_UP_END +}; +#endif //P_ALOLAN_FORMS +#endif //P_FAMILY_SANDSHREW + +#if P_FAMILY_NIDORAN +static const struct LevelUpMove sNidoranFLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 5, MOVE_SCRATCH), + LEVEL_UP_MOVE(10, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(15, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(20, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(25, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(30, MOVE_BITE), + LEVEL_UP_MOVE(35, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(40, MOVE_TOXIC), + LEVEL_UP_MOVE(45, MOVE_FLATTER), + LEVEL_UP_MOVE(50, MOVE_CRUNCH), + LEVEL_UP_MOVE(55, MOVE_EARTH_POWER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sNidorinaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(15, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(22, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(29, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(36, MOVE_BITE), + LEVEL_UP_MOVE(43, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(50, MOVE_TOXIC), + LEVEL_UP_MOVE(57, MOVE_FLATTER), + LEVEL_UP_MOVE(64, MOVE_CRUNCH), + LEVEL_UP_MOVE(71, MOVE_EARTH_POWER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sNidoqueenLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SUPERPOWER), + LEVEL_UP_MOVE( 1, MOVE_SLUDGE_WAVE), + LEVEL_UP_MOVE( 1, MOVE_SUPERPOWER), + LEVEL_UP_MOVE( 1, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE( 1, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_TOXIC), + LEVEL_UP_MOVE( 1, MOVE_FLATTER), + LEVEL_UP_MOVE( 1, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_EARTH_POWER), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sNidoranMLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 5, MOVE_PECK), + LEVEL_UP_MOVE(10, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(15, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(20, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(25, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(30, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(35, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(40, MOVE_TOXIC), + LEVEL_UP_MOVE(45, MOVE_FLATTER), + LEVEL_UP_MOVE(50, MOVE_POISON_JAB), + LEVEL_UP_MOVE(55, MOVE_EARTH_POWER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sNidorinoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(15, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(22, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(29, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(36, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(43, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(50, MOVE_TOXIC), + LEVEL_UP_MOVE(57, MOVE_FLATTER), + LEVEL_UP_MOVE(64, MOVE_POISON_JAB), + LEVEL_UP_MOVE(71, MOVE_EARTH_POWER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sNidokingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_MEGAHORN), + LEVEL_UP_MOVE( 1, MOVE_SLUDGE_WAVE), + LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), + LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_TOXIC), + LEVEL_UP_MOVE( 1, MOVE_FLATTER), + LEVEL_UP_MOVE( 1, MOVE_POISON_JAB), + LEVEL_UP_MOVE( 1, MOVE_EARTH_POWER), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_END +}; +#endif //P_FAMILY_NIDORAN + +#if P_FAMILY_CLEFAIRY +#if P_GEN_2_CROSS_EVOS +static const struct LevelUpMove sCleffaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 4, MOVE_SING), + LEVEL_UP_MOVE( 8, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(12, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE(16, MOVE_ENCORE), + LEVEL_UP_MOVE(20, MOVE_CHARM), + LEVEL_UP_END +}; +#endif //P_GEN_2_CROSS_EVOS + +static const struct LevelUpMove sClefairyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_SWEET_KISS), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 4, MOVE_STORED_POWER), + LEVEL_UP_MOVE( 8, MOVE_ENCORE), + LEVEL_UP_MOVE(12, MOVE_AFTER_YOU), + LEVEL_UP_MOVE(16, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(20, MOVE_METRONOME), + LEVEL_UP_MOVE(24, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(28, MOVE_GRAVITY), + LEVEL_UP_MOVE(32, MOVE_METEOR_MASH), + LEVEL_UP_MOVE(36, MOVE_FOLLOW_ME), + LEVEL_UP_MOVE(40, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(44, MOVE_MOONBLAST), + LEVEL_UP_MOVE(48, MOVE_HEALING_WISH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sClefableLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_SWEET_KISS), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), + LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), + LEVEL_UP_MOVE( 1, MOVE_FOLLOW_ME), + LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE( 1, MOVE_GRAVITY), + LEVEL_UP_MOVE( 1, MOVE_HEALING_WISH), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 1, MOVE_AFTER_YOU), + LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 1, MOVE_METRONOME), + LEVEL_UP_MOVE( 1, MOVE_METEOR_MASH), + LEVEL_UP_MOVE( 1, MOVE_MOONBLAST), + LEVEL_UP_MOVE( 1, MOVE_LIFE_DEW), + LEVEL_UP_END +}; +#endif //P_FAMILY_CLEFAIRY + +#if P_FAMILY_VULPIX +static const struct LevelUpMove sVulpixLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 4, MOVE_DISABLE), + LEVEL_UP_MOVE( 8, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(12, MOVE_SPITE), + LEVEL_UP_MOVE(16, MOVE_INCINERATE), + LEVEL_UP_MOVE(20, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(24, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(28, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(32, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(36, MOVE_IMPRISON), + LEVEL_UP_MOVE(40, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(44, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(48, MOVE_INFERNO), + LEVEL_UP_MOVE(52, MOVE_FIRE_BLAST), + LEVEL_UP_END +}; + +static const struct LevelUpMove sNinetalesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE( 1, MOVE_SPITE), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE( 1, MOVE_IMPRISON), + LEVEL_UP_MOVE( 1, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE( 1, MOVE_INCINERATE), + LEVEL_UP_MOVE( 1, MOVE_INFERNO), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_END +}; + +#if P_ALOLAN_FORMS +static const struct LevelUpMove sVulpixAlolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 4, MOVE_DISABLE), + LEVEL_UP_MOVE( 8, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(12, MOVE_SPITE), + LEVEL_UP_MOVE(16, MOVE_ICY_WIND), + LEVEL_UP_MOVE(20, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(24, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(28, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(32, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(36, MOVE_IMPRISON), + LEVEL_UP_MOVE(40, MOVE_MIST), + LEVEL_UP_MOVE(44, MOVE_AURORA_VEIL), + LEVEL_UP_MOVE(48, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE(52, MOVE_BLIZZARD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sNinetalesAlolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_MIST), + LEVEL_UP_MOVE( 1, MOVE_ICE_BEAM), + LEVEL_UP_MOVE( 1, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_SPITE), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE( 1, MOVE_ICE_SHARD), + LEVEL_UP_MOVE( 1, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE( 1, MOVE_AURORA_VEIL), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_BLIZZARD), + LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), + LEVEL_UP_MOVE( 1, MOVE_IMPRISON), + LEVEL_UP_END +}; +#endif //P_ALOLAN_FORMS +#endif //P_FAMILY_VULPIX + +#if P_FAMILY_JIGGLYPUFF +#if P_GEN_2_CROSS_EVOS +static const struct LevelUpMove sIgglybuffLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 8, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(12, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE(16, MOVE_DISABLE), + LEVEL_UP_MOVE(20, MOVE_CHARM), + LEVEL_UP_END +}; +#endif //P_GEN_2_CROSS_EVOS + +static const struct LevelUpMove sJigglypuffLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 1, MOVE_SWEET_KISS), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 4, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 8, MOVE_COVET), + LEVEL_UP_MOVE(12, MOVE_STOCKPILE), + LEVEL_UP_MOVE(12, MOVE_SPIT_UP), + LEVEL_UP_MOVE(12, MOVE_SWALLOW), + LEVEL_UP_MOVE(16, MOVE_ROUND), + LEVEL_UP_MOVE(20, MOVE_REST), + LEVEL_UP_MOVE(24, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(28, MOVE_MIMIC), + LEVEL_UP_MOVE(32, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(36, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(44, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sWigglytuffLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_STOCKPILE), + LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 1, MOVE_ROUND), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 1, MOVE_GYRO_BALL), + LEVEL_UP_MOVE( 1, MOVE_COVET), + LEVEL_UP_MOVE( 1, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE( 1, MOVE_SWALLOW), + LEVEL_UP_MOVE( 1, MOVE_SPIT_UP), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_SWEET_KISS), + LEVEL_UP_MOVE( 1, MOVE_REST), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_MIMIC), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_BODY_SLAM), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 5, MOVE_PLAY_ROUGH), + LEVEL_UP_END +}; +#endif //P_FAMILY_JIGGLYPUFF + +#if P_FAMILY_ZUBAT +static const struct LevelUpMove sZubatLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 5, MOVE_ASTONISH), + LEVEL_UP_MOVE(10, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(15, MOVE_POISON_FANG), + LEVEL_UP_MOVE(20, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(25, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(30, MOVE_BITE), + LEVEL_UP_MOVE(35, MOVE_HAZE), + LEVEL_UP_MOVE(40, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(45, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(50, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(55, MOVE_LEECH_LIFE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGolbatLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCREECH), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(15, MOVE_POISON_FANG), + LEVEL_UP_MOVE(20, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(27, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(34, MOVE_BITE), + LEVEL_UP_MOVE(41, MOVE_HAZE), + LEVEL_UP_MOVE(48, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(55, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(62, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(69, MOVE_LEECH_LIFE), + LEVEL_UP_END +}; + +#if P_GEN_2_CROSS_EVOS +static const struct LevelUpMove sCrobatLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_CROSS_POISON), + LEVEL_UP_MOVE( 1, MOVE_CROSS_POISON), + LEVEL_UP_MOVE( 1, MOVE_TAILWIND), + LEVEL_UP_MOVE( 1, MOVE_TOXIC), + LEVEL_UP_MOVE( 1, MOVE_SCREECH), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(15, MOVE_POISON_FANG), + LEVEL_UP_MOVE(20, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(27, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(34, MOVE_BITE), + LEVEL_UP_MOVE(41, MOVE_HAZE), + LEVEL_UP_MOVE(48, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(55, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(62, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(69, MOVE_LEECH_LIFE), + LEVEL_UP_END +}; +#endif //P_GEN_2_CROSS_EVOS +#endif //P_FAMILY_ZUBAT + +#if P_FAMILY_ODDISH +static const struct LevelUpMove sOddishLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 4, MOVE_ACID), + LEVEL_UP_MOVE( 8, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(14, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(16, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(18, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(20, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(24, MOVE_TOXIC), + LEVEL_UP_MOVE(28, MOVE_MOONBLAST), + LEVEL_UP_MOVE(32, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE(36, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(40, MOVE_PETAL_DANCE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGloomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(14, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(16, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(18, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(20, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(26, MOVE_TOXIC), + LEVEL_UP_MOVE(32, MOVE_MOONBLAST), + LEVEL_UP_MOVE(38, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE(44, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(50, MOVE_PETAL_DANCE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sVileplumeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE( 1, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE( 1, MOVE_TOXIC), + LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), + LEVEL_UP_MOVE( 1, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_MOONBLAST), + LEVEL_UP_END +}; + +#if P_GEN_2_CROSS_EVOS +static const struct LevelUpMove sBellossomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE( 1, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE( 1, MOVE_TOXIC), + LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), + LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_MOONBLAST), + LEVEL_UP_END +}; +#endif //P_GEN_2_CROSS_EVOS +#endif //P_FAMILY_ODDISH + +#if P_FAMILY_PARAS +static const struct LevelUpMove sParasLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 6, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 6, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(11, MOVE_ABSORB), + LEVEL_UP_MOVE(17, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(22, MOVE_SPORE), + LEVEL_UP_MOVE(27, MOVE_SLASH), + LEVEL_UP_MOVE(33, MOVE_GROWTH), + LEVEL_UP_MOVE(38, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(43, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(49, MOVE_RAGE_POWDER), + LEVEL_UP_MOVE(54, MOVE_X_SCISSOR), + LEVEL_UP_END +}; + +static const struct LevelUpMove sParasectLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CROSS_POISON), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 6, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 6, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(11, MOVE_ABSORB), + LEVEL_UP_MOVE(17, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(22, MOVE_SPORE), + LEVEL_UP_MOVE(29, MOVE_SLASH), + LEVEL_UP_MOVE(37, MOVE_GROWTH), + LEVEL_UP_MOVE(44, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(51, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(59, MOVE_RAGE_POWDER), + LEVEL_UP_MOVE(66, MOVE_X_SCISSOR), + LEVEL_UP_END +}; +#endif //P_FAMILY_PARAS + +#if P_FAMILY_VENONAT +static const struct LevelUpMove sVenonatLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 5, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(11, MOVE_CONFUSION), + LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(17, MOVE_PSYBEAM), + LEVEL_UP_MOVE(23, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(25, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(29, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(35, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(37, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(41, MOVE_POISON_FANG), + LEVEL_UP_MOVE(47, MOVE_PSYCHIC), + LEVEL_UP_END +}; + +static const struct LevelUpMove sVenomothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_AIR_SLASH), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE(11, MOVE_CONFUSION), + LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(17, MOVE_PSYBEAM), + LEVEL_UP_MOVE(23, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(25, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(29, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(37, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(41, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(47, MOVE_POISON_FANG), + LEVEL_UP_MOVE(55, MOVE_PSYCHIC), + LEVEL_UP_END +}; +#endif //P_FAMILY_VENONAT + +#if P_FAMILY_DIGLETT +static const struct LevelUpMove sDiglettLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 4, MOVE_GROWL), + LEVEL_UP_MOVE( 8, MOVE_ASTONISH), + LEVEL_UP_MOVE(12, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(16, MOVE_BULLDOZE), + LEVEL_UP_MOVE(20, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(24, MOVE_SLASH), + LEVEL_UP_MOVE(28, MOVE_SANDSTORM), + LEVEL_UP_MOVE(32, MOVE_DIG), + LEVEL_UP_MOVE(36, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(40, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(44, MOVE_FISSURE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDugtrioLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(12, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(16, MOVE_BULLDOZE), + LEVEL_UP_MOVE(20, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(24, MOVE_SLASH), + LEVEL_UP_MOVE(30, MOVE_SANDSTORM), + LEVEL_UP_MOVE(36, MOVE_DIG), + LEVEL_UP_MOVE(42, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(48, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(54, MOVE_FISSURE), + LEVEL_UP_END +}; + +#if P_ALOLAN_FORMS +static const struct LevelUpMove sDiglettAlolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 4, MOVE_GROWL), + LEVEL_UP_MOVE( 8, MOVE_ASTONISH), + LEVEL_UP_MOVE(12, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(16, MOVE_BULLDOZE), + LEVEL_UP_MOVE(20, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(24, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(28, MOVE_SANDSTORM), + LEVEL_UP_MOVE(32, MOVE_DIG), + LEVEL_UP_MOVE(36, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(40, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(44, MOVE_FISSURE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDugtrioAlolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(12, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(16, MOVE_BULLDOZE), + LEVEL_UP_MOVE(20, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(24, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(30, MOVE_SANDSTORM), + LEVEL_UP_MOVE(36, MOVE_DIG), + LEVEL_UP_MOVE(42, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(48, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(54, MOVE_FISSURE), + LEVEL_UP_END +}; +#endif //P_ALOLAN_FORMS +#endif //P_FAMILY_DIGLETT + +#if P_FAMILY_MEOWTH +static const struct LevelUpMove sMeowthLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 4, MOVE_FEINT), + LEVEL_UP_MOVE( 8, MOVE_SCRATCH), + LEVEL_UP_MOVE(12, MOVE_PAY_DAY), + LEVEL_UP_MOVE(16, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_TAUNT), + LEVEL_UP_MOVE(24, MOVE_ASSURANCE), + LEVEL_UP_MOVE(29, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(32, MOVE_SCREECH), + LEVEL_UP_MOVE(36, MOVE_SLASH), + LEVEL_UP_MOVE(40, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(44, MOVE_PLAY_ROUGH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPersianLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_POWER_GEM), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), + LEVEL_UP_MOVE(12, MOVE_PAY_DAY), + LEVEL_UP_MOVE(16, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_TAUNT), + LEVEL_UP_MOVE(24, MOVE_ASSURANCE), + LEVEL_UP_MOVE(31, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(36, MOVE_SCREECH), + LEVEL_UP_MOVE(42, MOVE_SLASH), + LEVEL_UP_MOVE(48, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(54, MOVE_PLAY_ROUGH), + LEVEL_UP_END +}; + +#if P_ALOLAN_FORMS +static const struct LevelUpMove sMeowthAlolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 4, MOVE_FEINT), + LEVEL_UP_MOVE( 8, MOVE_SCRATCH), + LEVEL_UP_MOVE(12, MOVE_PAY_DAY), + LEVEL_UP_MOVE(16, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_TAUNT), + LEVEL_UP_MOVE(24, MOVE_ASSURANCE), + LEVEL_UP_MOVE(29, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(32, MOVE_SCREECH), + LEVEL_UP_MOVE(36, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(40, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(44, MOVE_PLAY_ROUGH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPersianAlolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_POWER_GEM), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), + LEVEL_UP_MOVE( 1, MOVE_QUASH), + LEVEL_UP_MOVE(12, MOVE_PAY_DAY), + LEVEL_UP_MOVE(16, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_TAUNT), + LEVEL_UP_MOVE(24, MOVE_ASSURANCE), + LEVEL_UP_MOVE(31, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(36, MOVE_SCREECH), + LEVEL_UP_MOVE(42, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(48, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(54, MOVE_PLAY_ROUGH), + LEVEL_UP_END +}; +#endif //P_ALOLAN_FORMS + +#if P_GALARIAN_FORMS +static const struct LevelUpMove sMeowthGalarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 4, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE( 8, MOVE_SCRATCH), + LEVEL_UP_MOVE(12, MOVE_PAY_DAY), + LEVEL_UP_MOVE(16, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(20, MOVE_TAUNT), + LEVEL_UP_MOVE(24, MOVE_SWAGGER), + LEVEL_UP_MOVE(29, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(32, MOVE_SCREECH), + LEVEL_UP_MOVE(36, MOVE_SLASH), + LEVEL_UP_MOVE(40, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(44, MOVE_THRASH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPerrserkerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_IRON_HEAD), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(12, MOVE_PAY_DAY), + LEVEL_UP_MOVE(16, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(20, MOVE_TAUNT), + LEVEL_UP_MOVE(24, MOVE_SWAGGER), + LEVEL_UP_MOVE(31, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(36, MOVE_SCREECH), + LEVEL_UP_MOVE(42, MOVE_SLASH), + LEVEL_UP_MOVE(48, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(54, MOVE_THRASH), + LEVEL_UP_END +}; +#endif //P_GALARIAN_FORMS +#endif //P_FAMILY_MEOWTH + +#if P_FAMILY_PSYDUCK +static const struct LevelUpMove sPsyduckLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 3, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 6, MOVE_CONFUSION), + LEVEL_UP_MOVE( 9, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(12, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(15, MOVE_DISABLE), + LEVEL_UP_MOVE(18, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(21, MOVE_SCREECH), + LEVEL_UP_MOVE(24, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(27, MOVE_SOAK), + LEVEL_UP_MOVE(30, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(34, MOVE_AMNESIA), + LEVEL_UP_MOVE(39, MOVE_WONDER_ROOM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGolduckLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), + LEVEL_UP_MOVE( 9, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(12, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(15, MOVE_DISABLE), + LEVEL_UP_MOVE(18, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(21, MOVE_SCREECH), + LEVEL_UP_MOVE(24, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(27, MOVE_SOAK), + LEVEL_UP_MOVE(30, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(36, MOVE_AMNESIA), + LEVEL_UP_MOVE(40, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(45, MOVE_WONDER_ROOM), + LEVEL_UP_END +}; +#endif //P_FAMILY_PSYDUCK + +#if P_FAMILY_MANKEY +static const struct LevelUpMove sMankeyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_COVET), + LEVEL_UP_MOVE( 5, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE( 8, MOVE_LOW_KICK), + LEVEL_UP_MOVE(12, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(17, MOVE_SWAGGER), + LEVEL_UP_MOVE(22, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE(26, MOVE_ASSURANCE), + LEVEL_UP_MOVE(29, MOVE_THRASH), + LEVEL_UP_MOVE(33, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(36, MOVE_SCREECH), + LEVEL_UP_MOVE(40, MOVE_STOMPING_TANTRUM), + LEVEL_UP_MOVE(44, MOVE_OUTRAGE), + LEVEL_UP_MOVE(48, MOVE_FINAL_GAMBIT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPrimeapeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_FLING), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 5, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE( 8, MOVE_LOW_KICK), + LEVEL_UP_MOVE(15, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(17, MOVE_SWAGGER), + LEVEL_UP_MOVE(22, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE(26, MOVE_ASSURANCE), + LEVEL_UP_MOVE(30, MOVE_THRASH), + LEVEL_UP_MOVE(35, MOVE_RAGE_FIST), + LEVEL_UP_MOVE(39, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(44, MOVE_SCREECH), + LEVEL_UP_MOVE(48, MOVE_STOMPING_TANTRUM), + LEVEL_UP_MOVE(53, MOVE_OUTRAGE), + LEVEL_UP_MOVE(57, MOVE_FINAL_GAMBIT), + LEVEL_UP_END +}; + +#if P_GEN_9_CROSS_EVOS +static const struct LevelUpMove sAnnihilapeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_FLING), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 5, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE( 8, MOVE_LOW_KICK), + LEVEL_UP_MOVE(12, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(17, MOVE_SWAGGER), + LEVEL_UP_MOVE(22, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE(26, MOVE_ASSURANCE), + LEVEL_UP_MOVE(30, MOVE_THRASH), + LEVEL_UP_MOVE(35, MOVE_RAGE_FIST), + LEVEL_UP_MOVE(39, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(44, MOVE_SCREECH), + LEVEL_UP_MOVE(48, MOVE_STOMPING_TANTRUM), + LEVEL_UP_MOVE(53, MOVE_OUTRAGE), + LEVEL_UP_MOVE(57, MOVE_FINAL_GAMBIT), + LEVEL_UP_END +}; +#endif //P_GEN_9_CROSS_EVOS +#endif //P_FAMILY_MANKEY + +#if P_FAMILY_GROWLITHE +static const struct LevelUpMove sGrowlitheLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 4, MOVE_HOWL), + LEVEL_UP_MOVE( 8, MOVE_BITE), + LEVEL_UP_MOVE(12, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(16, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(20, MOVE_AGILITY), + LEVEL_UP_MOVE(24, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(28, MOVE_RETALIATE), + LEVEL_UP_MOVE(32, MOVE_CRUNCH), + LEVEL_UP_MOVE(36, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(40, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(44, MOVE_ROAR), + LEVEL_UP_MOVE(48, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(52, MOVE_REVERSAL), + LEVEL_UP_MOVE(56, MOVE_FLARE_BLITZ), + LEVEL_UP_END +}; + +static const struct LevelUpMove sArcanineLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_EXTREME_SPEED), + LEVEL_UP_MOVE( 1, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE( 1, MOVE_HOWL), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_RETALIATE), + LEVEL_UP_MOVE( 1, MOVE_REVERSAL), + LEVEL_UP_MOVE( 1, MOVE_AGILITY), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_ROAR), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 5, MOVE_FLAMETHROWER), + LEVEL_UP_END +}; + +#if P_HISUIAN_FORMS +static const struct LevelUpMove sGrowlitheHisuiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 4, MOVE_HOWL), + LEVEL_UP_MOVE( 8, MOVE_BITE), + LEVEL_UP_MOVE(12, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(16, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(24, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(28, MOVE_RETALIATE), + LEVEL_UP_MOVE(32, MOVE_CRUNCH), + LEVEL_UP_MOVE(36, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(40, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(44, MOVE_ROAR), + LEVEL_UP_MOVE(48, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(52, MOVE_REVERSAL), + LEVEL_UP_MOVE(56, MOVE_FLARE_BLITZ), + LEVEL_UP_END +}; + +static const struct LevelUpMove sArcanineHisuiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_EXTREME_SPEED), + LEVEL_UP_MOVE( 1, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE( 1, MOVE_HOWL), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_REVERSAL), + LEVEL_UP_MOVE( 1, MOVE_RETALIATE), + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_AGILITY), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_ROAR), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE( 5, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(64, MOVE_RAGING_FURY), + LEVEL_UP_END +}; +#endif //P_HISUIAN_FORMS +#endif //P_FAMILY_GROWLITHE + +#if P_FAMILY_POLIWAG +static const struct LevelUpMove sPoliwagLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 6, MOVE_POUND), + LEVEL_UP_MOVE(12, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(18, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(24, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(30, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(36, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(42, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(48, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(54, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPoliwhirlLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(18, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(24, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(32, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(40, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(48, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(56, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(66, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPoliwrathLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 1, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE( 1, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), + LEVEL_UP_MOVE( 1, MOVE_EARTH_POWER), + LEVEL_UP_MOVE( 1, MOVE_CIRCLE_THROW), + LEVEL_UP_MOVE( 1, MOVE_BODY_SLAM), + LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_END +}; + +#if P_GEN_2_CROSS_EVOS +static const struct LevelUpMove sPolitoedLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_BOUNCE), + LEVEL_UP_MOVE( 1, MOVE_BODY_SLAM), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_PERISH_SONG), + LEVEL_UP_MOVE( 1, MOVE_SWAGGER), + LEVEL_UP_MOVE( 1, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), + LEVEL_UP_MOVE( 1, MOVE_EARTH_POWER), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 1, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE( 1, MOVE_RAIN_DANCE), + LEVEL_UP_END +}; +#endif //P_GEN_2_CROSS_EVOS +#endif //P_FAMILY_POLIWAG + +#if P_FAMILY_ABRA +static const struct LevelUpMove sAbraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sKadabraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_KINESIS), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_MOVE( 5, MOVE_PSYBEAM), + LEVEL_UP_MOVE(10, MOVE_REFLECT), + LEVEL_UP_MOVE(15, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE(20, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE(25, MOVE_RECOVER), + LEVEL_UP_MOVE(30, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(35, MOVE_PSYCHIC), + LEVEL_UP_MOVE(40, MOVE_ROLE_PLAY), + LEVEL_UP_MOVE(45, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(50, MOVE_CALM_MIND), + LEVEL_UP_END +}; + +static const struct LevelUpMove sAlakazamLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_KINESIS), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_MOVE( 5, MOVE_PSYBEAM), + LEVEL_UP_MOVE(10, MOVE_REFLECT), + LEVEL_UP_MOVE(15, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE(20, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE(25, MOVE_RECOVER), + LEVEL_UP_MOVE(30, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(35, MOVE_PSYCHIC), + LEVEL_UP_MOVE(40, MOVE_ROLE_PLAY), + LEVEL_UP_MOVE(45, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(50, MOVE_CALM_MIND), + LEVEL_UP_END +}; +#endif //P_FAMILY_ABRA + +#if P_FAMILY_MACHOP +static const struct LevelUpMove sMachopLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 4, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 8, MOVE_REVENGE), + LEVEL_UP_MOVE(12, MOVE_LOW_SWEEP), + LEVEL_UP_MOVE(16, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(20, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(24, MOVE_VITAL_THROW), + LEVEL_UP_MOVE(29, MOVE_STRENGTH), + LEVEL_UP_MOVE(32, MOVE_DUAL_CHOP), + LEVEL_UP_MOVE(36, MOVE_BULK_UP), + LEVEL_UP_MOVE(40, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(44, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_MOVE(48, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE(52, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMachokeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_REVENGE), + LEVEL_UP_MOVE(12, MOVE_LOW_SWEEP), + LEVEL_UP_MOVE(16, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(20, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(24, MOVE_VITAL_THROW), + LEVEL_UP_MOVE(31, MOVE_STRENGTH), + LEVEL_UP_MOVE(36, MOVE_DUAL_CHOP), + LEVEL_UP_MOVE(42, MOVE_BULK_UP), + LEVEL_UP_MOVE(48, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(54, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_MOVE(60, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE(66, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMachampLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_REVENGE), + LEVEL_UP_MOVE(12, MOVE_LOW_SWEEP), + LEVEL_UP_MOVE(16, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(20, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(24, MOVE_VITAL_THROW), + LEVEL_UP_MOVE(31, MOVE_STRENGTH), + LEVEL_UP_MOVE(36, MOVE_DUAL_CHOP), + LEVEL_UP_MOVE(42, MOVE_BULK_UP), + LEVEL_UP_MOVE(48, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(54, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_MOVE(60, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE(66, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_MACHOP + +#if P_FAMILY_BELLSPROUT +static const struct LevelUpMove sBellsproutLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 7, MOVE_GROWTH), + LEVEL_UP_MOVE(11, MOVE_WRAP), + LEVEL_UP_MOVE(13, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(17, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(23, MOVE_ACID), + LEVEL_UP_MOVE(27, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(29, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(35, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(39, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(41, MOVE_POISON_JAB), + LEVEL_UP_MOVE(47, MOVE_SLAM), + LEVEL_UP_MOVE(52, MOVE_POWER_WHIP), + LEVEL_UP_END +}; + + +static const struct LevelUpMove sWeepinbellLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE(13, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(17, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(24, MOVE_ACID), + LEVEL_UP_MOVE(29, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(32, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(39, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(44, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(47, MOVE_POISON_JAB), + LEVEL_UP_MOVE(54, MOVE_SLAM), + LEVEL_UP_MOVE(58, MOVE_POWER_WHIP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sVictreebelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_LEAF_STORM), + LEVEL_UP_MOVE( 1, MOVE_STOCKPILE), + LEVEL_UP_MOVE( 1, MOVE_SPIT_UP), + LEVEL_UP_MOVE( 1, MOVE_SWALLOW), + LEVEL_UP_MOVE( 1, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE( 1, MOVE_POWER_WHIP), + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(44, MOVE_LEAF_BLADE), + LEVEL_UP_END +}; +#endif //P_FAMILY_BELLSPROUT + +#if P_FAMILY_TENTACOOL +static const struct LevelUpMove sTentacoolLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 4, MOVE_ACID), + LEVEL_UP_MOVE( 8, MOVE_WRAP), + LEVEL_UP_MOVE(12, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(16, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(20, MOVE_SCREECH), + LEVEL_UP_MOVE(24, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(28, MOVE_HEX), + LEVEL_UP_MOVE(32, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(36, MOVE_POISON_JAB), + LEVEL_UP_MOVE(40, MOVE_SURF), + LEVEL_UP_MOVE(44, MOVE_SLUDGE_WAVE), + LEVEL_UP_MOVE(48, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sTentacruelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_REFLECT_TYPE), + LEVEL_UP_MOVE(12, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(16, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(20, MOVE_SCREECH), + LEVEL_UP_MOVE(24, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(28, MOVE_HEX), + LEVEL_UP_MOVE(34, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(40, MOVE_POISON_JAB), + LEVEL_UP_MOVE(46, MOVE_SURF), + LEVEL_UP_MOVE(52, MOVE_SLUDGE_WAVE), + LEVEL_UP_MOVE(58, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; +#endif //P_FAMILY_TENTACOOL + +#if P_FAMILY_GEODUDE +static const struct LevelUpMove sGeodudeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 6, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(10, MOVE_ROLLOUT), + LEVEL_UP_MOVE(12, MOVE_BULLDOZE), + LEVEL_UP_MOVE(16, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(18, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(24, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(28, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(30, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(34, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(36, MOVE_EXPLOSION), + LEVEL_UP_MOVE(40, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(42, MOVE_STONE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGravelerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(10, MOVE_ROLLOUT), + LEVEL_UP_MOVE(12, MOVE_BULLDOZE), + LEVEL_UP_MOVE(16, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(18, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(24, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(30, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(34, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(40, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(44, MOVE_EXPLOSION), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(54, MOVE_STONE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGolemLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(16, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(18, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(22, MOVE_BULLDOZE), + LEVEL_UP_MOVE(24, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(30, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(34, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(40, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(44, MOVE_EXPLOSION), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(54, MOVE_STONE_EDGE), + LEVEL_UP_END +}; + +#if P_ALOLAN_FORMS +static const struct LevelUpMove sGeodudeAlolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 4, MOVE_CHARGE), + LEVEL_UP_MOVE( 6, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(10, MOVE_ROLLOUT), + LEVEL_UP_MOVE(12, MOVE_SPARK), + LEVEL_UP_MOVE(16, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(18, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(22, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE(24, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(28, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(30, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(34, MOVE_DISCHARGE), + LEVEL_UP_MOVE(36, MOVE_EXPLOSION), + LEVEL_UP_MOVE(40, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(42, MOVE_STONE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGravelerAlolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(10, MOVE_ROLLOUT), + LEVEL_UP_MOVE(12, MOVE_SPARK), + LEVEL_UP_MOVE(16, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(18, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(22, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE(24, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(30, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(34, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(40, MOVE_DISCHARGE), + LEVEL_UP_MOVE(44, MOVE_EXPLOSION), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(54, MOVE_STONE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGolemAlolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(12, MOVE_SPARK), + LEVEL_UP_MOVE(16, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(18, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(22, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE(24, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(30, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(34, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(40, MOVE_DISCHARGE), + LEVEL_UP_MOVE(44, MOVE_EXPLOSION), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(54, MOVE_STONE_EDGE), + LEVEL_UP_END +}; +#endif //P_ALOLAN_FORMS +#endif //P_FAMILY_GEODUDE + +#if P_FAMILY_PONYTA +static const struct LevelUpMove sPonytaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(10, MOVE_EMBER), + LEVEL_UP_MOVE(15, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(20, MOVE_AGILITY), + LEVEL_UP_MOVE(25, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(30, MOVE_STOMP), + LEVEL_UP_MOVE(35, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(41, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(45, MOVE_INFERNO), + LEVEL_UP_MOVE(50, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(55, MOVE_FLARE_BLITZ), + LEVEL_UP_END +}; + +static const struct LevelUpMove sRapidashLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SMART_STRIKE), + LEVEL_UP_MOVE( 1, MOVE_SMART_STRIKE), + LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), + LEVEL_UP_MOVE( 1, MOVE_POISON_JAB), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE(15, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(20, MOVE_AGILITY), + LEVEL_UP_MOVE(25, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(30, MOVE_STOMP), + LEVEL_UP_MOVE(35, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(43, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(49, MOVE_INFERNO), + LEVEL_UP_MOVE(56, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(63, MOVE_FLARE_BLITZ), + LEVEL_UP_END +}; + +#if P_GALARIAN_FORMS +static const struct LevelUpMove sPonytaGalarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(10, MOVE_CONFUSION), + LEVEL_UP_MOVE(15, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE(20, MOVE_AGILITY), + LEVEL_UP_MOVE(25, MOVE_PSYBEAM), + LEVEL_UP_MOVE(30, MOVE_STOMP), + LEVEL_UP_MOVE(35, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(41, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(45, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE(50, MOVE_PSYCHIC), + LEVEL_UP_MOVE(55, MOVE_HEALING_WISH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sRapidashGalarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE(15, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE(20, MOVE_AGILITY), + LEVEL_UP_MOVE(25, MOVE_PSYBEAM), + LEVEL_UP_MOVE(30, MOVE_STOMP), + LEVEL_UP_MOVE(35, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(43, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(49, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE(56, MOVE_PSYCHIC), + LEVEL_UP_MOVE(63, MOVE_HEALING_WISH), + LEVEL_UP_END +}; +#endif //P_GALARIAN_FORMS +#endif //P_FAMILY_PONYTA + +#if P_FAMILY_SLOWPOKE +static const struct LevelUpMove sSlowpokeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_CURSE), + LEVEL_UP_MOVE( 3, MOVE_GROWL), + LEVEL_UP_MOVE( 6, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 9, MOVE_YAWN), + LEVEL_UP_MOVE(12, MOVE_CONFUSION), + LEVEL_UP_MOVE(15, MOVE_DISABLE), + LEVEL_UP_MOVE(18, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(21, MOVE_HEADBUTT), + LEVEL_UP_MOVE(24, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(27, MOVE_AMNESIA), + LEVEL_UP_MOVE(30, MOVE_SURF), + LEVEL_UP_MOVE(33, MOVE_SLACK_OFF), + LEVEL_UP_MOVE(36, MOVE_PSYCHIC), + LEVEL_UP_MOVE(39, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(42, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(45, MOVE_HEAL_PULSE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSlowbroLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_CURSE), + LEVEL_UP_MOVE( 9, MOVE_YAWN), + LEVEL_UP_MOVE(12, MOVE_CONFUSION), + LEVEL_UP_MOVE(15, MOVE_DISABLE), + LEVEL_UP_MOVE(18, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(21, MOVE_HEADBUTT), + LEVEL_UP_MOVE(24, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(27, MOVE_AMNESIA), + LEVEL_UP_MOVE(30, MOVE_SURF), + LEVEL_UP_MOVE(33, MOVE_SLACK_OFF), + LEVEL_UP_MOVE(36, MOVE_PSYCHIC), + LEVEL_UP_MOVE(41, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(46, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(51, MOVE_HEAL_PULSE), + LEVEL_UP_END +}; + +#if P_GEN_2_CROSS_EVOS +static const struct LevelUpMove sSlowkingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE( 1, MOVE_CHILLY_RECEPTION), + LEVEL_UP_MOVE( 1, MOVE_CURSE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), + LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE( 1, MOVE_SWAGGER), + LEVEL_UP_MOVE( 9, MOVE_YAWN), + LEVEL_UP_MOVE(12, MOVE_CONFUSION), + LEVEL_UP_MOVE(15, MOVE_DISABLE), + LEVEL_UP_MOVE(18, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(21, MOVE_HEADBUTT), + LEVEL_UP_MOVE(27, MOVE_AMNESIA), + LEVEL_UP_MOVE(30, MOVE_SURF), + LEVEL_UP_MOVE(33, MOVE_SLACK_OFF), + LEVEL_UP_MOVE(36, MOVE_PSYCHIC), + LEVEL_UP_MOVE(39, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(42, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(45, MOVE_HEAL_PULSE), + LEVEL_UP_END +}; +#endif //P_GEN_2_CROSS_EVOS + +#if P_GALARIAN_FORMS +static const struct LevelUpMove sSlowpokeGalarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_CURSE), + LEVEL_UP_MOVE( 3, MOVE_GROWL), + LEVEL_UP_MOVE( 6, MOVE_ACID), + LEVEL_UP_MOVE( 9, MOVE_YAWN), + LEVEL_UP_MOVE(12, MOVE_CONFUSION), + LEVEL_UP_MOVE(15, MOVE_DISABLE), + LEVEL_UP_MOVE(18, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(21, MOVE_HEADBUTT), + LEVEL_UP_MOVE(24, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(27, MOVE_AMNESIA), + LEVEL_UP_MOVE(30, MOVE_SURF), + LEVEL_UP_MOVE(33, MOVE_SLACK_OFF), + LEVEL_UP_MOVE(36, MOVE_PSYCHIC), + LEVEL_UP_MOVE(39, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(42, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(45, MOVE_HEAL_PULSE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSlowbroGalarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SHELL_SIDE_ARM), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_CURSE), + LEVEL_UP_MOVE( 9, MOVE_YAWN), + LEVEL_UP_MOVE(12, MOVE_CONFUSION), + LEVEL_UP_MOVE(15, MOVE_DISABLE), + LEVEL_UP_MOVE(18, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(21, MOVE_HEADBUTT), + LEVEL_UP_MOVE(24, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(27, MOVE_AMNESIA), + LEVEL_UP_MOVE(30, MOVE_SURF), + LEVEL_UP_MOVE(33, MOVE_SLACK_OFF), + LEVEL_UP_MOVE(36, MOVE_PSYCHIC), + LEVEL_UP_MOVE(39, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(42, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(45, MOVE_HEAL_PULSE), + LEVEL_UP_END +}; + +#if P_GEN_2_CROSS_EVOS +static const struct LevelUpMove sSlowkingGalarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_EERIE_SPELL), + LEVEL_UP_MOVE( 1, MOVE_TOXIC), + LEVEL_UP_MOVE( 1, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE( 1, MOVE_CHILLY_RECEPTION), + LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), + LEVEL_UP_MOVE( 1, MOVE_CURSE), + LEVEL_UP_MOVE( 1, MOVE_SWAGGER), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 9, MOVE_YAWN), + LEVEL_UP_MOVE(12, MOVE_CONFUSION), + LEVEL_UP_MOVE(15, MOVE_DISABLE), + LEVEL_UP_MOVE(18, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(21, MOVE_HEADBUTT), + LEVEL_UP_MOVE(24, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(27, MOVE_AMNESIA), + LEVEL_UP_MOVE(30, MOVE_SURF), + LEVEL_UP_MOVE(33, MOVE_SLACK_OFF), + LEVEL_UP_MOVE(36, MOVE_PSYCHIC), + LEVEL_UP_MOVE(39, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(42, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(45, MOVE_HEAL_PULSE), + LEVEL_UP_END +}; +#endif //P_GEN_2_CROSS_EVOS +#endif //P_GALARIAN_FORMS +#endif //P_FAMILY_SLOWPOKE + +#if P_FAMILY_MAGNEMITE +static const struct LevelUpMove sMagnemiteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 4, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 8, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(12, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(16, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(20, MOVE_SPARK), + LEVEL_UP_MOVE(24, MOVE_SCREECH), + LEVEL_UP_MOVE(28, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE(32, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(36, MOVE_DISCHARGE), + LEVEL_UP_MOVE(40, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(44, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(48, MOVE_LOCK_ON), + LEVEL_UP_MOVE(52, MOVE_ZAP_CANNON), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMagnetonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(12, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(16, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(20, MOVE_SPARK), + LEVEL_UP_MOVE(24, MOVE_SCREECH), + LEVEL_UP_MOVE(28, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE(34, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(40, MOVE_DISCHARGE), + LEVEL_UP_MOVE(46, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(52, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(58, MOVE_LOCK_ON), + LEVEL_UP_MOVE(64, MOVE_ZAP_CANNON), + LEVEL_UP_END +}; + +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sMagnezoneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE( 1, MOVE_MAGNETIC_FLUX), + LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(12, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(16, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(20, MOVE_SPARK), + LEVEL_UP_MOVE(24, MOVE_SCREECH), + LEVEL_UP_MOVE(28, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE(34, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(40, MOVE_DISCHARGE), + LEVEL_UP_MOVE(46, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(52, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(58, MOVE_LOCK_ON), + LEVEL_UP_MOVE(64, MOVE_ZAP_CANNON), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS +#endif //P_FAMILY_MAGNEMITE + +#if P_FAMILY_FARFETCHD +static const struct LevelUpMove sFarfetchdLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 5, MOVE_LEER), + LEVEL_UP_MOVE(10, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(15, MOVE_CUT), + LEVEL_UP_MOVE(20, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(25, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(30, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(35, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(40, MOVE_SLASH), + LEVEL_UP_MOVE(45, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(50, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(55, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(60, MOVE_AGILITY), + LEVEL_UP_MOVE(65, MOVE_BRAVE_BIRD), + LEVEL_UP_END +}; + +#if P_GALARIAN_FORMS +static const struct LevelUpMove sFarfetchdGalarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 5, MOVE_LEER), + LEVEL_UP_MOVE(10, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(15, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE(20, MOVE_BRUTAL_SWING), + LEVEL_UP_MOVE(25, MOVE_DETECT), + LEVEL_UP_MOVE(30, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(35, MOVE_DEFOG), + LEVEL_UP_MOVE(40, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(45, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(50, MOVE_SLAM), + LEVEL_UP_MOVE(55, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(60, MOVE_FINAL_GAMBIT), + LEVEL_UP_MOVE(65, MOVE_BRAVE_BIRD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSirfetchdLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_FIRST_IMPRESSION), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(15, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE(20, MOVE_BRUTAL_SWING), + LEVEL_UP_MOVE(25, MOVE_DETECT), + LEVEL_UP_MOVE(30, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(35, MOVE_DEFOG), + LEVEL_UP_MOVE(40, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(45, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(50, MOVE_SLAM), + LEVEL_UP_MOVE(55, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(60, MOVE_FINAL_GAMBIT), + LEVEL_UP_MOVE(65, MOVE_BRAVE_BIRD), + LEVEL_UP_MOVE(70, MOVE_METEOR_ASSAULT), + LEVEL_UP_END +}; +#endif //P_GALARIAN_FORMS +#endif //P_FAMILY_FARFETCHD + +#if P_FAMILY_DODUO +static const struct LevelUpMove sDoduoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 5, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(14, MOVE_PLUCK), + LEVEL_UP_MOVE(19, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(23, MOVE_AGILITY), + LEVEL_UP_MOVE(27, MOVE_UPROAR), + LEVEL_UP_MOVE(30, MOVE_ACUPRESSURE), + LEVEL_UP_MOVE(33, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(36, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(39, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(43, MOVE_THRASH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDodrioLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(12, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(15, MOVE_PLUCK), + LEVEL_UP_MOVE(19, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(23, MOVE_AGILITY), + LEVEL_UP_MOVE(26, MOVE_UPROAR), + LEVEL_UP_MOVE(30, MOVE_ACUPRESSURE), + LEVEL_UP_MOVE(34, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(38, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(43, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(50, MOVE_THRASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_DODUO + +#if P_FAMILY_SEEL +static const struct LevelUpMove sSeelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 3, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_CHARM), + LEVEL_UP_MOVE(11, MOVE_ICY_WIND), + LEVEL_UP_MOVE(13, MOVE_ENCORE), + LEVEL_UP_MOVE(17, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(21, MOVE_REST), + LEVEL_UP_MOVE(23, MOVE_AQUA_RING), + LEVEL_UP_MOVE(27, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(31, MOVE_AQUA_JET), + LEVEL_UP_MOVE(33, MOVE_BRINE), + LEVEL_UP_MOVE(37, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(41, MOVE_DIVE), + LEVEL_UP_MOVE(43, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(47, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(51, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(53, MOVE_SNOWSCAPE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDewgongLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SHEER_COLD), + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), + LEVEL_UP_MOVE(13, MOVE_ENCORE), + LEVEL_UP_MOVE(17, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(21, MOVE_REST), + LEVEL_UP_MOVE(23, MOVE_AQUA_RING), + LEVEL_UP_MOVE(27, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(31, MOVE_AQUA_JET), + LEVEL_UP_MOVE(33, MOVE_BRINE), + LEVEL_UP_MOVE(39, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(45, MOVE_DIVE), + LEVEL_UP_MOVE(49, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(55, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(61, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(65, MOVE_SNOWSCAPE), + LEVEL_UP_END +}; +#endif //P_FAMILY_SEEL + +#if P_FAMILY_GRIMER +static const struct LevelUpMove sGrimerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 4, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(12, MOVE_DISABLE), + LEVEL_UP_MOVE(15, MOVE_SLUDGE), + LEVEL_UP_MOVE(18, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(21, MOVE_MINIMIZE), + LEVEL_UP_MOVE(26, MOVE_TOXIC), + LEVEL_UP_MOVE(29, MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE(32, MOVE_SLUDGE_WAVE), + LEVEL_UP_MOVE(37, MOVE_SCREECH), + LEVEL_UP_MOVE(40, MOVE_GUNK_SHOT), + LEVEL_UP_MOVE(43, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(46, MOVE_BELCH), + LEVEL_UP_MOVE(48, MOVE_MEMENTO), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMukLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(12, MOVE_DISABLE), + LEVEL_UP_MOVE(15, MOVE_SLUDGE), + LEVEL_UP_MOVE(18, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(21, MOVE_MINIMIZE), + LEVEL_UP_MOVE(26, MOVE_TOXIC), + LEVEL_UP_MOVE(29, MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE(32, MOVE_SLUDGE_WAVE), + LEVEL_UP_MOVE(37, MOVE_SCREECH), + LEVEL_UP_MOVE(40, MOVE_GUNK_SHOT), + LEVEL_UP_MOVE(46, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(52, MOVE_BELCH), + LEVEL_UP_MOVE(57, MOVE_MEMENTO), + LEVEL_UP_END +}; + +#if P_ALOLAN_FORMS +static const struct LevelUpMove sGrimerAlolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 4, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_BITE), + LEVEL_UP_MOVE(12, MOVE_DISABLE), + LEVEL_UP_MOVE(15, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE(18, MOVE_POISON_FANG), + LEVEL_UP_MOVE(21, MOVE_MINIMIZE), + LEVEL_UP_MOVE(26, MOVE_TOXIC), + LEVEL_UP_MOVE(29, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(32, MOVE_CRUNCH), + LEVEL_UP_MOVE(37, MOVE_SCREECH), + LEVEL_UP_MOVE(40, MOVE_GUNK_SHOT), + LEVEL_UP_MOVE(43, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(46, MOVE_BELCH), + LEVEL_UP_MOVE(48, MOVE_MEMENTO), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMukAlolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE(12, MOVE_DISABLE), + LEVEL_UP_MOVE(15, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE(18, MOVE_POISON_FANG), + LEVEL_UP_MOVE(21, MOVE_MINIMIZE), + LEVEL_UP_MOVE(26, MOVE_TOXIC), + LEVEL_UP_MOVE(29, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(32, MOVE_CRUNCH), + LEVEL_UP_MOVE(37, MOVE_SCREECH), + LEVEL_UP_MOVE(40, MOVE_GUNK_SHOT), + LEVEL_UP_MOVE(46, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(52, MOVE_BELCH), + LEVEL_UP_MOVE(57, MOVE_MEMENTO), + LEVEL_UP_END +}; +#endif //P_ALOLAN_FORMS +#endif //P_FAMILY_GRIMER + +#if P_FAMILY_SHELLDER +static const struct LevelUpMove sShellderLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 4, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 8, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(12, MOVE_LEER), + LEVEL_UP_MOVE(16, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(20, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(24, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(28, MOVE_PROTECT), + LEVEL_UP_MOVE(32, MOVE_RAZOR_SHELL), + LEVEL_UP_MOVE(36, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(40, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(44, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE(48, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCloysterLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_ICICLE_SPEAR), + LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), + LEVEL_UP_MOVE( 1, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE( 1, MOVE_ICE_SHARD), + LEVEL_UP_MOVE( 1, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE( 1, MOVE_SPIKES), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE( 1, MOVE_ICE_BEAM), + LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_RAZOR_SHELL), + LEVEL_UP_END +}; +#endif //P_FAMILY_SHELLDER + +#if P_FAMILY_GASTLY +static const struct LevelUpMove sGastlyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 4, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 8, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(12, MOVE_PAYBACK), + LEVEL_UP_MOVE(16, MOVE_SPITE), + LEVEL_UP_MOVE(20, MOVE_CURSE), + LEVEL_UP_MOVE(24, MOVE_HEX), + LEVEL_UP_MOVE(28, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(32, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(36, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(40, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(44, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(48, MOVE_DREAM_EATER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sHaunterLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(12, MOVE_PAYBACK), + LEVEL_UP_MOVE(16, MOVE_SPITE), + LEVEL_UP_MOVE(20, MOVE_CURSE), + LEVEL_UP_MOVE(24, MOVE_HEX), + LEVEL_UP_MOVE(30, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(36, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(42, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(48, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(54, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(60, MOVE_DREAM_EATER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGengarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_REFLECT_TYPE), + LEVEL_UP_MOVE( 1, MOVE_PERISH_SONG), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(12, MOVE_PAYBACK), + LEVEL_UP_MOVE(16, MOVE_SPITE), + LEVEL_UP_MOVE(20, MOVE_CURSE), + LEVEL_UP_MOVE(24, MOVE_HEX), + LEVEL_UP_MOVE(30, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(36, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(42, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(48, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(54, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(60, MOVE_DREAM_EATER), + LEVEL_UP_END +}; +#endif //P_FAMILY_GASTLY + +#if P_FAMILY_ONIX +static const struct LevelUpMove sOnixLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_BIND), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 4, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE( 8, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(12, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(16, MOVE_CURSE), + LEVEL_UP_MOVE(20, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(24, MOVE_SCREECH), + LEVEL_UP_MOVE(28, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(32, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(36, MOVE_SLAM), + LEVEL_UP_MOVE(40, MOVE_SANDSTORM), + LEVEL_UP_MOVE(44, MOVE_DIG), + LEVEL_UP_MOVE(48, MOVE_IRON_TAIL), + LEVEL_UP_MOVE(52, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(56, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +#if P_GEN_2_CROSS_EVOS +static const struct LevelUpMove sSteelixLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_BIND), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 4, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE( 8, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE(12, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(16, MOVE_CURSE), + LEVEL_UP_MOVE(20, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(24, MOVE_SCREECH), + LEVEL_UP_MOVE(28, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(32, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(36, MOVE_SLAM), + LEVEL_UP_MOVE(40, MOVE_SANDSTORM), + LEVEL_UP_MOVE(44, MOVE_DIG), + LEVEL_UP_MOVE(48, MOVE_IRON_TAIL), + LEVEL_UP_MOVE(52, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(56, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(60, MOVE_MAGNET_RISE), + LEVEL_UP_END +}; +#endif //P_GEN_2_CROSS_EVOS +#endif //P_FAMILY_ONIX + +#if P_FAMILY_DROWZEE +static const struct LevelUpMove sDrowzeeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 5, MOVE_DISABLE), + LEVEL_UP_MOVE( 9, MOVE_CONFUSION), + LEVEL_UP_MOVE(13, MOVE_HEADBUTT), + LEVEL_UP_MOVE(17, MOVE_POISON_GAS), + LEVEL_UP_MOVE(21, MOVE_PSYBEAM), + LEVEL_UP_MOVE(25, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(29, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(33, MOVE_SWAGGER), + LEVEL_UP_MOVE(37, MOVE_PSYCHIC), + LEVEL_UP_MOVE(41, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(45, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(49, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sHypnoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), + LEVEL_UP_MOVE(13, MOVE_HEADBUTT), + LEVEL_UP_MOVE(17, MOVE_POISON_GAS), + LEVEL_UP_MOVE(21, MOVE_PSYBEAM), + LEVEL_UP_MOVE(25, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(32, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(37, MOVE_SWAGGER), + LEVEL_UP_MOVE(42, MOVE_PSYCHIC), + LEVEL_UP_MOVE(47, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(51, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(56, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; +#endif //P_FAMILY_DROWZEE + +#if P_FAMILY_KRABBY +static const struct LevelUpMove sKrabbyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 4, MOVE_HARDEN), + LEVEL_UP_MOVE( 8, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(12, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(16, MOVE_PROTECT), + LEVEL_UP_MOVE(20, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(24, MOVE_STOMP), + LEVEL_UP_MOVE(29, MOVE_FLAIL), + LEVEL_UP_MOVE(32, MOVE_RAZOR_SHELL), + LEVEL_UP_MOVE(36, MOVE_SLAM), + LEVEL_UP_MOVE(40, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(44, MOVE_CRABHAMMER), + LEVEL_UP_MOVE(48, MOVE_GUILLOTINE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sKinglerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(12, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(16, MOVE_PROTECT), + LEVEL_UP_MOVE(20, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(24, MOVE_STOMP), + LEVEL_UP_MOVE(31, MOVE_FLAIL), + LEVEL_UP_MOVE(36, MOVE_RAZOR_SHELL), + LEVEL_UP_MOVE(42, MOVE_SLAM), + LEVEL_UP_MOVE(48, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(54, MOVE_CRABHAMMER), + LEVEL_UP_MOVE(60, MOVE_GUILLOTINE), + LEVEL_UP_END +}; +#endif //P_FAMILY_KRABBY + +#if P_FAMILY_VOLTORB +static const struct LevelUpMove sVoltorbLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 6, MOVE_EERIE_IMPULSE), + LEVEL_UP_MOVE( 9, MOVE_SPARK), + LEVEL_UP_MOVE(11, MOVE_ROLLOUT), + LEVEL_UP_MOVE(13, MOVE_SCREECH), + LEVEL_UP_MOVE(16, MOVE_CHARGE_BEAM), + LEVEL_UP_MOVE(20, MOVE_SWIFT), + LEVEL_UP_MOVE(22, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(26, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(29, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(34, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE(37, MOVE_DISCHARGE), + LEVEL_UP_MOVE(41, MOVE_EXPLOSION), + LEVEL_UP_MOVE(46, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(50, MOVE_MIRROR_COAT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sElectrodeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EERIE_IMPULSE), + LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_MAGNETIC_FLUX), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 9, MOVE_SPARK), + LEVEL_UP_MOVE(11, MOVE_ROLLOUT), + LEVEL_UP_MOVE(13, MOVE_SCREECH), + LEVEL_UP_MOVE(16, MOVE_CHARGE_BEAM), + LEVEL_UP_MOVE(20, MOVE_SWIFT), + LEVEL_UP_MOVE(22, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(26, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(29, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(36, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE(41, MOVE_DISCHARGE), + LEVEL_UP_MOVE(47, MOVE_EXPLOSION), + LEVEL_UP_MOVE(54, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(58, MOVE_MIRROR_COAT), + LEVEL_UP_END +}; + +#if P_HISUIAN_FORMS +static const struct LevelUpMove sVoltorbHisuiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 6, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 9, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(11, MOVE_ROLLOUT), + LEVEL_UP_MOVE(13, MOVE_SCREECH), + LEVEL_UP_MOVE(16, MOVE_CHARGE_BEAM), + LEVEL_UP_MOVE(20, MOVE_SWIFT), + LEVEL_UP_MOVE(22, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(26, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(29, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(34, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(34, MOVE_DISCHARGE), + LEVEL_UP_MOVE(41, MOVE_EXPLOSION), + LEVEL_UP_MOVE(46, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(50, MOVE_GRASSY_TERRAIN), + LEVEL_UP_END +}; + +static const struct LevelUpMove sElectrodeHisuiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_CHLOROBLAST), + LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 6, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 9, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(11, MOVE_ROLLOUT), + LEVEL_UP_MOVE(13, MOVE_SCREECH), + LEVEL_UP_MOVE(16, MOVE_CHARGE_BEAM), + LEVEL_UP_MOVE(20, MOVE_SWIFT), + LEVEL_UP_MOVE(22, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(26, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(29, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(34, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(34, MOVE_DISCHARGE), + LEVEL_UP_MOVE(41, MOVE_EXPLOSION), + LEVEL_UP_MOVE(46, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(50, MOVE_GRASSY_TERRAIN), + LEVEL_UP_END +}; +#endif //P_HISUIAN_FORMS +#endif //P_FAMILY_VOLTORB + +#if P_FAMILY_EXEGGCUTE +static const struct LevelUpMove sExeggcuteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 5, MOVE_REFLECT), + LEVEL_UP_MOVE(10, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(15, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(20, MOVE_CONFUSION), + LEVEL_UP_MOVE(25, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(30, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(35, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(40, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(45, MOVE_UPROAR), + LEVEL_UP_MOVE(50, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(55, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sExeggutorLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_STOMP), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_LEAF_STORM), + LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), + LEVEL_UP_MOVE( 1, MOVE_WORRY_SEED), + LEVEL_UP_MOVE( 1, MOVE_BULLET_SEED), + LEVEL_UP_MOVE( 1, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE( 1, MOVE_UPROAR), + LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 1, MOVE_PSYSHOCK), + LEVEL_UP_MOVE( 1, MOVE_REFLECT), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_WOOD_HAMMER), + LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), + LEVEL_UP_END +}; + +#if P_ALOLAN_FORMS +static const struct LevelUpMove sExeggutorAlolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DRAGON_HAMMER), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_WOOD_HAMMER), + LEVEL_UP_MOVE( 1, MOVE_LEAF_STORM), + LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), + LEVEL_UP_MOVE( 1, MOVE_WORRY_SEED), + LEVEL_UP_MOVE( 1, MOVE_BULLET_SEED), + LEVEL_UP_MOVE( 1, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE( 1, MOVE_UPROAR), + LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_REFLECT), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_PSYSHOCK), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_END +}; +#endif //P_ALOLAN_FORMS +#endif //P_FAMILY_EXEGGCUTE + +#if P_FAMILY_CUBONE +static const struct LevelUpMove sCuboneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 8, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(12, MOVE_HEADBUTT), + LEVEL_UP_MOVE(16, MOVE_RETALIATE), + LEVEL_UP_MOVE(20, MOVE_FLING), + LEVEL_UP_MOVE(24, MOVE_STOMPING_TANTRUM), + LEVEL_UP_MOVE(29, MOVE_BONE_RUSH), + LEVEL_UP_MOVE(32, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(36, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(40, MOVE_BONEMERANG), + LEVEL_UP_MOVE(44, MOVE_THRASH), + LEVEL_UP_MOVE(48, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMarowakLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(12, MOVE_HEADBUTT), + LEVEL_UP_MOVE(16, MOVE_RETALIATE), + LEVEL_UP_MOVE(20, MOVE_FLING), + LEVEL_UP_MOVE(24, MOVE_STOMPING_TANTRUM), + LEVEL_UP_MOVE(31, MOVE_BONE_RUSH), + LEVEL_UP_MOVE(36, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(42, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(48, MOVE_BONEMERANG), + LEVEL_UP_MOVE(54, MOVE_THRASH), + LEVEL_UP_MOVE(60, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +#if P_ALOLAN_FORMS +static const struct LevelUpMove sMarowakAlolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SHADOW_BONE), + LEVEL_UP_MOVE( 1, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 1, MOVE_RETALIATE), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(12, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(16, MOVE_HEX), + LEVEL_UP_MOVE(20, MOVE_FLING), + LEVEL_UP_MOVE(24, MOVE_STOMPING_TANTRUM), + LEVEL_UP_MOVE(31, MOVE_BONE_RUSH), + LEVEL_UP_MOVE(36, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(42, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(48, MOVE_BONEMERANG), + LEVEL_UP_MOVE(54, MOVE_THRASH), + LEVEL_UP_MOVE(60, MOVE_FLARE_BLITZ), + LEVEL_UP_END +}; +#endif //P_ALOLAN_FORMS +#endif //P_FAMILY_CUBONE + +#if P_FAMILY_HITMONS +#if P_GEN_2_CROSS_EVOS +static const struct LevelUpMove sTyrogueLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_END +}; +#endif //P_GEN_2_CROSS_EVOS + +static const struct LevelUpMove sHitmonleeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_LOW_SWEEP), + LEVEL_UP_MOVE( 4, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 8, MOVE_LOW_KICK), + LEVEL_UP_MOVE(12, MOVE_ENDURE), + LEVEL_UP_MOVE(16, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(21, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(24, MOVE_BLAZE_KICK), + LEVEL_UP_MOVE(28, MOVE_FEINT), + LEVEL_UP_MOVE(32, MOVE_MEGA_KICK), + LEVEL_UP_MOVE(36, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(40, MOVE_REVERSAL), + LEVEL_UP_MOVE(44, MOVE_HIGH_JUMP_KICK), + LEVEL_UP_MOVE(50, MOVE_AXE_KICK), + LEVEL_UP_END +}; + +static const struct LevelUpMove sHitmonchanLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DRAIN_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 4, MOVE_MACH_PUNCH), + LEVEL_UP_MOVE( 8, MOVE_VACUUM_WAVE), + LEVEL_UP_MOVE(12, MOVE_DETECT), + LEVEL_UP_MOVE(16, MOVE_BULLET_PUNCH), + LEVEL_UP_MOVE(21, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(24, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE(24, MOVE_ICE_PUNCH), + LEVEL_UP_MOVE(24, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE(28, MOVE_AGILITY), + LEVEL_UP_MOVE(32, MOVE_MEGA_PUNCH), + LEVEL_UP_MOVE(36, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(40, MOVE_COUNTER), + LEVEL_UP_MOVE(44, MOVE_FOCUS_PUNCH), + LEVEL_UP_END +}; + +#if P_GEN_2_CROSS_EVOS +static const struct LevelUpMove sHitmontopLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_TRIPLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 4, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 8, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(12, MOVE_DETECT), + LEVEL_UP_MOVE(16, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(21, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(21, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(24, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(28, MOVE_AGILITY), + LEVEL_UP_MOVE(32, MOVE_DIG), + LEVEL_UP_MOVE(36, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(40, MOVE_COUNTER), + LEVEL_UP_MOVE(44, MOVE_ENDEAVOR), + LEVEL_UP_END +}; +#endif //P_GEN_2_CROSS_EVOS +#endif //P_FAMILY_HITMONS + +#if P_FAMILY_LICKITUNG +static const struct LevelUpMove sLickitungLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 6, MOVE_ROLLOUT), + LEVEL_UP_MOVE(12, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(18, MOVE_WRAP), + LEVEL_UP_MOVE(24, MOVE_DISABLE), + LEVEL_UP_MOVE(30, MOVE_STOMP), + LEVEL_UP_MOVE(36, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(42, MOVE_SCREECH), + LEVEL_UP_MOVE(48, MOVE_SLAM), + LEVEL_UP_MOVE(54, MOVE_POWER_WHIP), + LEVEL_UP_MOVE(60, MOVE_BELLY_DRUM), + LEVEL_UP_END +}; + +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sLickilickyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(18, MOVE_WRAP), + LEVEL_UP_MOVE(24, MOVE_DISABLE), + LEVEL_UP_MOVE(30, MOVE_STOMP), + LEVEL_UP_MOVE(36, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(42, MOVE_SCREECH), + LEVEL_UP_MOVE(48, MOVE_SLAM), + LEVEL_UP_MOVE(54, MOVE_POWER_WHIP), + LEVEL_UP_MOVE(60, MOVE_BELLY_DRUM), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS +#endif //P_FAMILY_LICKITUNG + +#if P_FAMILY_KOFFING +static const struct LevelUpMove sKoffingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 4, MOVE_SMOG), + LEVEL_UP_MOVE( 8, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(12, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(16, MOVE_ASSURANCE), + LEVEL_UP_MOVE(20, MOVE_SLUDGE), + LEVEL_UP_MOVE(24, MOVE_HAZE), + LEVEL_UP_MOVE(28, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(32, MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE(36, MOVE_TOXIC), + LEVEL_UP_MOVE(40, MOVE_BELCH), + LEVEL_UP_MOVE(44, MOVE_EXPLOSION), + LEVEL_UP_MOVE(48, MOVE_MEMENTO), + LEVEL_UP_MOVE(52, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; + +static const struct LevelUpMove sWeezingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 1, MOVE_HEAT_WAVE), + LEVEL_UP_MOVE(12, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(16, MOVE_ASSURANCE), + LEVEL_UP_MOVE(20, MOVE_SLUDGE), + LEVEL_UP_MOVE(24, MOVE_HAZE), + LEVEL_UP_MOVE(28, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(32, MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE(38, MOVE_TOXIC), + LEVEL_UP_MOVE(44, MOVE_BELCH), + LEVEL_UP_MOVE(50, MOVE_EXPLOSION), + LEVEL_UP_MOVE(56, MOVE_MEMENTO), + LEVEL_UP_MOVE(62, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; + +#if P_GALARIAN_FORMS +static const struct LevelUpMove sWeezingGalarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 1, MOVE_STRANGE_STEAM), + LEVEL_UP_MOVE( 1, MOVE_DEFOG), + LEVEL_UP_MOVE( 1, MOVE_HEAT_WAVE), + LEVEL_UP_MOVE( 1, MOVE_AROMATIC_MIST), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_HAZE), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(12, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(16, MOVE_ASSURANCE), + LEVEL_UP_MOVE(20, MOVE_SLUDGE), + LEVEL_UP_MOVE(24, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE(28, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(32, MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE(38, MOVE_TOXIC), + LEVEL_UP_MOVE(44, MOVE_BELCH), + LEVEL_UP_MOVE(50, MOVE_EXPLOSION), + LEVEL_UP_MOVE(56, MOVE_MEMENTO), + LEVEL_UP_MOVE(62, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(68, MOVE_MISTY_TERRAIN), + LEVEL_UP_END +}; +#endif //P_GALARIAN_FORMS +#endif //P_FAMILY_KOFFING + +#if P_FAMILY_RHYHORN +static const struct LevelUpMove sRhyhornLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 5, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(10, MOVE_BULLDOZE), + LEVEL_UP_MOVE(15, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(20, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(25, MOVE_STOMP), + LEVEL_UP_MOVE(30, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(35, MOVE_DRILL_RUN), + LEVEL_UP_MOVE(40, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(45, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(50, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(55, MOVE_MEGAHORN), + LEVEL_UP_MOVE(60, MOVE_HORN_DRILL), + LEVEL_UP_END +}; + +static const struct LevelUpMove sRhydonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE( 1, MOVE_BULLDOZE), + LEVEL_UP_MOVE(15, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(20, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(25, MOVE_STOMP), + LEVEL_UP_MOVE(30, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(35, MOVE_DRILL_RUN), + LEVEL_UP_MOVE(40, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(47, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(54, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(61, MOVE_MEGAHORN), + LEVEL_UP_MOVE(68, MOVE_HORN_DRILL), + LEVEL_UP_END +}; + +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sRhyperiorLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 1, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE( 1, MOVE_BULLDOZE), + LEVEL_UP_MOVE(15, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(20, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(25, MOVE_STOMP), + LEVEL_UP_MOVE(30, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(35, MOVE_DRILL_RUN), + LEVEL_UP_MOVE(40, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(47, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(54, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(61, MOVE_MEGAHORN), + LEVEL_UP_MOVE(68, MOVE_HORN_DRILL), + LEVEL_UP_MOVE(75, MOVE_ROCK_WRECKER), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS +#endif //P_FAMILY_RHYHORN + +#if P_FAMILY_CHANSEY +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sHappinyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 8, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(12, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE(16, MOVE_COVET), + LEVEL_UP_MOVE(20, MOVE_CHARM), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS + +static const struct LevelUpMove sChanseyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 1, MOVE_COVET), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 1, MOVE_SWEET_KISS), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 8, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE(12, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(16, MOVE_SING), + LEVEL_UP_MOVE(20, MOVE_FLING), + LEVEL_UP_MOVE(24, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(28, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(32, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(36, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(40, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(44, MOVE_SOFT_BOILED), + LEVEL_UP_MOVE(48, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(52, MOVE_HEALING_WISH), + LEVEL_UP_END +}; + +#if P_GEN_2_CROSS_EVOS +static const struct LevelUpMove sBlisseyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 1, MOVE_COVET), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 1, MOVE_SWEET_KISS), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 8, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE(12, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(16, MOVE_SING), + LEVEL_UP_MOVE(20, MOVE_FLING), + LEVEL_UP_MOVE(24, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(28, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(32, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(36, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(40, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(44, MOVE_SOFT_BOILED), + LEVEL_UP_MOVE(48, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(52, MOVE_HEALING_WISH), + LEVEL_UP_END +}; +#endif //P_GEN_2_CROSS_EVOS +#endif //P_FAMILY_CHANSEY + +#if P_FAMILY_TANGELA +static const struct LevelUpMove sTangelaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_BIND), + LEVEL_UP_MOVE( 4, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 8, MOVE_GROWTH), + LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(16, MOVE_VINE_WHIP), + LEVEL_UP_MOVE(20, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(24, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(28, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(32, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(36, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(40, MOVE_SLAM), + LEVEL_UP_MOVE(44, MOVE_TICKLE), + LEVEL_UP_MOVE(48, MOVE_POWER_WHIP), + LEVEL_UP_MOVE(52, MOVE_INGRAIN), + LEVEL_UP_MOVE(56, MOVE_GRASSY_TERRAIN), + LEVEL_UP_END +}; + +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sTangrowthLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BLOCK), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_BIND), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(16, MOVE_VINE_WHIP), + LEVEL_UP_MOVE(20, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(24, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(28, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(32, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(36, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(40, MOVE_SLAM), + LEVEL_UP_MOVE(44, MOVE_TICKLE), + LEVEL_UP_MOVE(48, MOVE_POWER_WHIP), + LEVEL_UP_MOVE(52, MOVE_INGRAIN), + LEVEL_UP_MOVE(56, MOVE_GRASSY_TERRAIN), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS +#endif //P_FAMILY_TANGELA + +#if P_FAMILY_KANGASKHAN +static const struct LevelUpMove sKangaskhanLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 4, MOVE_GROWL), + LEVEL_UP_MOVE( 8, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(12, MOVE_BITE), + LEVEL_UP_MOVE(16, MOVE_STOMP), + LEVEL_UP_MOVE(20, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(24, MOVE_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(32, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(36, MOVE_CRUNCH), + LEVEL_UP_MOVE(40, MOVE_ENDURE), + LEVEL_UP_MOVE(44, MOVE_REVERSAL), + LEVEL_UP_MOVE(48, MOVE_OUTRAGE), + LEVEL_UP_MOVE(52, MOVE_LAST_RESORT), + LEVEL_UP_END +}; +#endif //P_FAMILY_KANGASKHAN + +#if P_FAMILY_HORSEA +static const struct LevelUpMove sHorseaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 5, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(10, MOVE_TWISTER), + LEVEL_UP_MOVE(15, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(20, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(25, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(30, MOVE_AGILITY), + LEVEL_UP_MOVE(35, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(40, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(45, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(50, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(55, MOVE_RAIN_DANCE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSeadraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_TWISTER), + LEVEL_UP_MOVE(15, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(20, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(25, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(30, MOVE_AGILITY), + LEVEL_UP_MOVE(37, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(44, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(51, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(58, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(65, MOVE_RAIN_DANCE), + LEVEL_UP_END +}; + +#if P_GEN_2_CROSS_EVOS +static const struct LevelUpMove sKingdraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_TWISTER), + LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE(15, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(20, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(25, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(30, MOVE_AGILITY), + LEVEL_UP_MOVE(37, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(44, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(51, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(58, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(65, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(72, MOVE_WAVE_CRASH), + LEVEL_UP_END +}; +#endif //P_GEN_2_CROSS_EVOS +#endif //P_FAMILY_HORSEA + +#if P_FAMILY_GOLDEEN +static const struct LevelUpMove sGoldeenLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 5, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(10, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(15, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(20, MOVE_AGILITY), + LEVEL_UP_MOVE(25, MOVE_AQUA_RING), + LEVEL_UP_MOVE(30, MOVE_FLAIL), + LEVEL_UP_MOVE(35, MOVE_WATERFALL), + LEVEL_UP_MOVE(40, MOVE_SOAK), + LEVEL_UP_MOVE(45, MOVE_MEGAHORN), + LEVEL_UP_MOVE(50, MOVE_HORN_DRILL), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSeakingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(15, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(20, MOVE_AGILITY), + LEVEL_UP_MOVE(25, MOVE_AQUA_RING), + LEVEL_UP_MOVE(30, MOVE_FLAIL), + LEVEL_UP_MOVE(37, MOVE_WATERFALL), + LEVEL_UP_MOVE(44, MOVE_SOAK), + LEVEL_UP_MOVE(51, MOVE_MEGAHORN), + LEVEL_UP_MOVE(58, MOVE_HORN_DRILL), + LEVEL_UP_END +}; +#endif //P_FAMILY_GOLDEEN + +#if P_FAMILY_STARYU +static const struct LevelUpMove sStaryuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 4, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 8, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(12, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(16, MOVE_MINIMIZE), + LEVEL_UP_MOVE(20, MOVE_SWIFT), + LEVEL_UP_MOVE(24, MOVE_PSYBEAM), + LEVEL_UP_MOVE(28, MOVE_BRINE), + LEVEL_UP_MOVE(32, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(36, MOVE_POWER_GEM), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC), + LEVEL_UP_MOVE(44, MOVE_SURF), + LEVEL_UP_MOVE(48, MOVE_RECOVER), + LEVEL_UP_MOVE(52, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(56, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sStarmieLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 1, MOVE_MINIMIZE), + LEVEL_UP_MOVE( 1, MOVE_SWIFT), + LEVEL_UP_MOVE( 1, MOVE_PSYBEAM), + LEVEL_UP_MOVE( 1, MOVE_BRINE), + LEVEL_UP_MOVE( 1, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), + LEVEL_UP_MOVE( 1, MOVE_PSYCHIC), + LEVEL_UP_MOVE( 1, MOVE_SURF), + LEVEL_UP_MOVE( 1, MOVE_RECOVER), + LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_END +}; +#endif //P_FAMILY_STARYU + +#if P_FAMILY_MR_MIME +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sMimeJrLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 4, MOVE_BATON_PASS), + LEVEL_UP_MOVE( 8, MOVE_ENCORE), + LEVEL_UP_MOVE(12, MOVE_CONFUSION), + LEVEL_UP_MOVE(16, MOVE_ROLE_PLAY), + LEVEL_UP_MOVE(20, MOVE_PROTECT), + LEVEL_UP_MOVE(24, MOVE_RECYCLE), + LEVEL_UP_MOVE(28, MOVE_PSYBEAM), + LEVEL_UP_MOVE(32, MOVE_MIMIC), + LEVEL_UP_MOVE(36, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(36, MOVE_REFLECT), + LEVEL_UP_MOVE(36, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(40, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(44, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE(48, MOVE_PSYCHIC), + LEVEL_UP_MOVE(52, MOVE_TEETER_DANCE), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS + +static const struct LevelUpMove sMrMimeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE( 1, MOVE_POWER_SWAP), + LEVEL_UP_MOVE( 1, MOVE_GUARD_SWAP), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 1, MOVE_BATON_PASS), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), + LEVEL_UP_MOVE(12, MOVE_CONFUSION), + LEVEL_UP_MOVE(16, MOVE_ROLE_PLAY), + LEVEL_UP_MOVE(20, MOVE_PROTECT), + LEVEL_UP_MOVE(24, MOVE_RECYCLE), + LEVEL_UP_MOVE(28, MOVE_PSYBEAM), + LEVEL_UP_MOVE(32, MOVE_MIMIC), + LEVEL_UP_MOVE(36, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(36, MOVE_REFLECT), + LEVEL_UP_MOVE(36, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(40, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(44, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE(48, MOVE_PSYCHIC), + LEVEL_UP_MOVE(52, MOVE_TEETER_DANCE), + LEVEL_UP_END +}; + +#if P_GALARIAN_FORMS +static const struct LevelUpMove sMrMimeGalarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), + LEVEL_UP_MOVE( 1, MOVE_ROLE_PLAY), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_RECYCLE), + LEVEL_UP_MOVE( 1, MOVE_MIMIC), + LEVEL_UP_MOVE( 1, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE( 1, MOVE_REFLECT), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE( 1, MOVE_MISTY_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 1, MOVE_BATON_PASS), + LEVEL_UP_MOVE( 1, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(12, MOVE_CONFUSION), + LEVEL_UP_MOVE(16, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE(20, MOVE_ICY_WIND), + LEVEL_UP_MOVE(24, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(28, MOVE_PSYBEAM), + LEVEL_UP_MOVE(32, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(36, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE(40, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(44, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE(48, MOVE_PSYCHIC), + LEVEL_UP_MOVE(52, MOVE_TEETER_DANCE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMrRimeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE( 1, MOVE_SLACK_OFF), + LEVEL_UP_MOVE( 1, MOVE_AFTER_YOU), + LEVEL_UP_MOVE( 1, MOVE_BLOCK), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), + LEVEL_UP_MOVE( 1, MOVE_ROLE_PLAY), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_RECYCLE), + LEVEL_UP_MOVE( 1, MOVE_MIMIC), + LEVEL_UP_MOVE( 1, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE( 1, MOVE_REFLECT), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE( 1, MOVE_MISTY_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 1, MOVE_BATON_PASS), + LEVEL_UP_MOVE( 1, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(12, MOVE_CONFUSION), + LEVEL_UP_MOVE(16, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE(20, MOVE_ICY_WIND), + LEVEL_UP_MOVE(24, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(28, MOVE_PSYBEAM), + LEVEL_UP_MOVE(32, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(36, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE(40, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(44, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE(48, MOVE_PSYCHIC), + LEVEL_UP_MOVE(52, MOVE_TEETER_DANCE), + LEVEL_UP_END +}; +#endif //P_GALARIAN_FORMS +#endif //P_FAMILY_MR_MIME + +#if P_FAMILY_SCYTHER +static const struct LevelUpMove sScytherLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 4, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 8, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(12, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(16, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(20, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(24, MOVE_SLASH), + LEVEL_UP_MOVE(28, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(32, MOVE_AGILITY), + LEVEL_UP_MOVE(36, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(40, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(44, MOVE_SWORDS_DANCE), + LEVEL_UP_END +}; + +#if P_GEN_2_CROSS_EVOS +static const struct LevelUpMove sScizorLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_BULLET_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_AGILITY), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_AIR_SLASH), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(12, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(16, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(20, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(24, MOVE_SLASH), + LEVEL_UP_MOVE(28, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(32, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(36, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(40, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(44, MOVE_SWORDS_DANCE), + LEVEL_UP_END +}; +#endif //P_GEN_2_CROSS_EVOS + +#if P_GEN_8_CROSS_EVOS +static const struct LevelUpMove sKleavorLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_STONE_AXE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 4, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 8, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(12, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(16, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(20, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(24, MOVE_SLASH), + LEVEL_UP_MOVE(28, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(32, MOVE_AGILITY), + LEVEL_UP_MOVE(36, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(40, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(44, MOVE_SWORDS_DANCE), + LEVEL_UP_END +}; +#endif //P_GEN_8_CROSS_EVOS +#endif //P_FAMILY_SCYTHER + +#if P_FAMILY_JYNX +#if P_GEN_2_CROSS_EVOS +static const struct LevelUpMove sSmoochumLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 4, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 8, MOVE_COPYCAT), + LEVEL_UP_MOVE(12, MOVE_CONFUSION), + LEVEL_UP_MOVE(16, MOVE_COVET), + LEVEL_UP_MOVE(20, MOVE_SING), + LEVEL_UP_MOVE(24, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(28, MOVE_ICE_PUNCH), + LEVEL_UP_MOVE(32, MOVE_PSYCHIC), + LEVEL_UP_MOVE(36, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(40, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(44, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(48, MOVE_BLIZZARD), + LEVEL_UP_END +}; +#endif //P_GEN_2_CROSS_EVOS + +static const struct LevelUpMove sJynxLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SWEET_KISS), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE(12, MOVE_CONFUSION), + LEVEL_UP_MOVE(16, MOVE_COVET), + LEVEL_UP_MOVE(20, MOVE_SING), + LEVEL_UP_MOVE(24, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(28, MOVE_ICE_PUNCH), + LEVEL_UP_MOVE(34, MOVE_PSYCHIC), + LEVEL_UP_MOVE(40, MOVE_LOVELY_KISS), + LEVEL_UP_MOVE(46, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(52, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(58, MOVE_BLIZZARD), + LEVEL_UP_END +}; +#endif //P_FAMILY_JYNX + +#if P_FAMILY_ELECTABUZZ +#if P_GEN_2_CROSS_EVOS +static const struct LevelUpMove sElekidLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 4, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 8, MOVE_CHARGE), + LEVEL_UP_MOVE(12, MOVE_SWIFT), + LEVEL_UP_MOVE(16, MOVE_SHOCK_WAVE), + LEVEL_UP_MOVE(20, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(24, MOVE_SCREECH), + LEVEL_UP_MOVE(28, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE(32, MOVE_DISCHARGE), + LEVEL_UP_MOVE(36, MOVE_LOW_KICK), + LEVEL_UP_MOVE(40, MOVE_THUNDERBOLT), + LEVEL_UP_MOVE(44, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(48, MOVE_THUNDER), + LEVEL_UP_END +}; +#endif //P_GEN_2_CROSS_EVOS + +static const struct LevelUpMove sElectabuzzLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE(12, MOVE_SWIFT), + LEVEL_UP_MOVE(16, MOVE_SHOCK_WAVE), + LEVEL_UP_MOVE(20, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(24, MOVE_SCREECH), + LEVEL_UP_MOVE(28, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE(34, MOVE_DISCHARGE), + LEVEL_UP_MOVE(40, MOVE_LOW_KICK), + LEVEL_UP_MOVE(46, MOVE_THUNDERBOLT), + LEVEL_UP_MOVE(52, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(58, MOVE_THUNDER), + LEVEL_UP_MOVE(64, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; + +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sElectivireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE(12, MOVE_SWIFT), + LEVEL_UP_MOVE(16, MOVE_SHOCK_WAVE), + LEVEL_UP_MOVE(20, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(24, MOVE_SCREECH), + LEVEL_UP_MOVE(28, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE(34, MOVE_DISCHARGE), + LEVEL_UP_MOVE(40, MOVE_LOW_KICK), + LEVEL_UP_MOVE(46, MOVE_THUNDERBOLT), + LEVEL_UP_MOVE(52, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(58, MOVE_THUNDER), + LEVEL_UP_MOVE(64, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS +#endif //P_FAMILY_ELECTABUZZ + +#if P_FAMILY_MAGMAR +#if P_GEN_2_CROSS_EVOS +static const struct LevelUpMove sMagbyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 4, MOVE_EMBER), + LEVEL_UP_MOVE( 8, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(12, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(16, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(20, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(24, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(28, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE(32, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(36, MOVE_LOW_KICK), + LEVEL_UP_MOVE(40, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(44, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(48, MOVE_FIRE_BLAST), + LEVEL_UP_END +}; +#endif //P_GEN_2_CROSS_EVOS + +static const struct LevelUpMove sMagmarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE(12, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(16, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(20, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(24, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(28, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE(34, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(40, MOVE_LOW_KICK), + LEVEL_UP_MOVE(46, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(52, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(58, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(64, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sMagmortarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE(12, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(16, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(20, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(24, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(28, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE(34, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(40, MOVE_LOW_KICK), + LEVEL_UP_MOVE(46, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(52, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(58, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(64, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS +#endif //P_FAMILY_MAGMAR + +#if P_FAMILY_PINSIR +static const struct LevelUpMove sPinsirLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 4, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 8, MOVE_BIND), + LEVEL_UP_MOVE(12, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(16, MOVE_BUG_BITE), + LEVEL_UP_MOVE(20, MOVE_STORM_THROW), + LEVEL_UP_MOVE(24, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(28, MOVE_VITAL_THROW), + LEVEL_UP_MOVE(32, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(36, MOVE_STRENGTH), + LEVEL_UP_MOVE(40, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(44, MOVE_SUBMISSION), + LEVEL_UP_MOVE(48, MOVE_GUILLOTINE), + LEVEL_UP_MOVE(52, MOVE_SUPERPOWER), + LEVEL_UP_END +}; +#endif //P_FAMILY_PINSIR + +#if P_FAMILY_TAUROS +static const struct LevelUpMove sTaurosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 5, MOVE_WORK_UP), + LEVEL_UP_MOVE(10, MOVE_PAYBACK), + LEVEL_UP_MOVE(15, MOVE_ASSURANCE), + LEVEL_UP_MOVE(20, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(25, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(30, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(35, MOVE_RAGING_BULL), + LEVEL_UP_MOVE(40, MOVE_REST), + LEVEL_UP_MOVE(45, MOVE_SWAGGER), + LEVEL_UP_MOVE(50, MOVE_THRASH), + LEVEL_UP_MOVE(55, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(60, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; + +#if P_PALDEAN_FORMS +static const struct LevelUpMove sTaurosPaldeaCombatLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 5, MOVE_WORK_UP), + LEVEL_UP_MOVE(10, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(15, MOVE_ASSURANCE), + LEVEL_UP_MOVE(20, MOVE_HEADBUTT), + LEVEL_UP_MOVE(25, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(30, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(35, MOVE_RAGING_BULL), + LEVEL_UP_MOVE(40, MOVE_REST), + LEVEL_UP_MOVE(45, MOVE_SWAGGER), + LEVEL_UP_MOVE(50, MOVE_THRASH), + LEVEL_UP_MOVE(55, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(60, MOVE_CLOSE_COMBAT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sTaurosPaldeaBlazeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 5, MOVE_WORK_UP), + LEVEL_UP_MOVE(10, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(15, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(20, MOVE_HEADBUTT), + LEVEL_UP_MOVE(25, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(30, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(35, MOVE_RAGING_BULL), + LEVEL_UP_MOVE(40, MOVE_REST), + LEVEL_UP_MOVE(45, MOVE_SWAGGER), + LEVEL_UP_MOVE(50, MOVE_THRASH), + LEVEL_UP_MOVE(55, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE(60, MOVE_CLOSE_COMBAT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sTaurosPaldeaAquaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 5, MOVE_WORK_UP), + LEVEL_UP_MOVE(10, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(15, MOVE_AQUA_JET), + LEVEL_UP_MOVE(20, MOVE_HEADBUTT), + LEVEL_UP_MOVE(25, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(30, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(35, MOVE_RAGING_BULL), + LEVEL_UP_MOVE(40, MOVE_REST), + LEVEL_UP_MOVE(45, MOVE_SWAGGER), + LEVEL_UP_MOVE(50, MOVE_THRASH), + LEVEL_UP_MOVE(55, MOVE_WAVE_CRASH), + LEVEL_UP_MOVE(60, MOVE_CLOSE_COMBAT), + LEVEL_UP_END +}; +#endif //P_PALDEAN_FORMS +#endif //P_FAMILY_TAUROS + +#if P_FAMILY_MAGIKARP +static const struct LevelUpMove sMagikarpLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE(15, MOVE_TACKLE), + LEVEL_UP_MOVE(25, MOVE_FLAIL), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGyaradosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_TWISTER), + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 4, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE( 8, MOVE_ICE_FANG), + LEVEL_UP_MOVE(12, MOVE_BRINE), + LEVEL_UP_MOVE(16, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(21, MOVE_WATERFALL), + LEVEL_UP_MOVE(24, MOVE_CRUNCH), + LEVEL_UP_MOVE(28, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(32, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(36, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(40, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(44, MOVE_HURRICANE), + LEVEL_UP_MOVE(48, MOVE_THRASH), + LEVEL_UP_MOVE(52, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; +#endif //P_FAMILY_MAGIKARP + +#if P_FAMILY_LAPRAS +static const struct LevelUpMove sLaprasLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 5, MOVE_SING), + LEVEL_UP_MOVE(10, MOVE_MIST), + LEVEL_UP_MOVE(15, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(20, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(25, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(30, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(35, MOVE_BRINE), + LEVEL_UP_MOVE(40, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(45, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(50, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(55, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(60, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(65, MOVE_SHEER_COLD), + LEVEL_UP_END +}; +#endif //P_FAMILY_LAPRAS + +#if P_FAMILY_DITTO +static const struct LevelUpMove sDittoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TRANSFORM), + LEVEL_UP_END +}; +#endif //P_FAMILY_DITTO + +#if P_FAMILY_EEVEE +static const struct LevelUpMove sEeveeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_COVET), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(15, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(20, MOVE_SWIFT), + LEVEL_UP_MOVE(25, MOVE_BITE), + LEVEL_UP_MOVE(30, MOVE_COPYCAT), + LEVEL_UP_MOVE(35, MOVE_BATON_PASS), + LEVEL_UP_MOVE(40, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(45, MOVE_CHARM), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(55, MOVE_LAST_RESORT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sVaporeonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 1, MOVE_COVET), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_SWIFT), + LEVEL_UP_MOVE( 1, MOVE_BATON_PASS), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(15, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(20, MOVE_HAZE), + LEVEL_UP_MOVE(25, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(30, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(35, MOVE_AQUA_RING), + LEVEL_UP_MOVE(40, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(45, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(55, MOVE_LAST_RESORT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sJolteonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_BATON_PASS), + LEVEL_UP_MOVE( 1, MOVE_SWIFT), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_COVET), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(15, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(20, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(25, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(30, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE(35, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(40, MOVE_DISCHARGE), + LEVEL_UP_MOVE(45, MOVE_AGILITY), + LEVEL_UP_MOVE(50, MOVE_THUNDER), + LEVEL_UP_MOVE(55, MOVE_LAST_RESORT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sFlareonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_SWIFT), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_COVET), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_BATON_PASS), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(15, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(20, MOVE_SMOG), + LEVEL_UP_MOVE(25, MOVE_BITE), + LEVEL_UP_MOVE(30, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(35, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(40, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(45, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(50, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE(55, MOVE_LAST_RESORT), + LEVEL_UP_END +}; + +#if P_GEN_2_CROSS_EVOS +static const struct LevelUpMove sEspeonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 1, MOVE_COVET), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_BATON_PASS), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(15, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(20, MOVE_SWIFT), + LEVEL_UP_MOVE(25, MOVE_PSYBEAM), + LEVEL_UP_MOVE(30, MOVE_MORNING_SUN), + LEVEL_UP_MOVE(35, MOVE_POWER_SWAP), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC), + LEVEL_UP_MOVE(45, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(50, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(55, MOVE_LAST_RESORT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sUmbreonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SNARL), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 1, MOVE_COVET), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_SWIFT), + LEVEL_UP_MOVE( 1, MOVE_BATON_PASS), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(15, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(20, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(25, MOVE_ASSURANCE), + LEVEL_UP_MOVE(30, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(35, MOVE_GUARD_SWAP), + LEVEL_UP_MOVE(40, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(45, MOVE_SCREECH), + LEVEL_UP_MOVE(50, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(55, MOVE_LAST_RESORT), + LEVEL_UP_END +}; +#endif //P_GEN_2_CROSS_EVOS + +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sLeafeonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_SWIFT), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 1, MOVE_COVET), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_BATON_PASS), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(15, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(20, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(25, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(30, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(35, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(40, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(45, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(50, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(55, MOVE_LAST_RESORT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGlaceonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_ICY_WIND), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_COVET), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_SWIFT), + LEVEL_UP_MOVE( 1, MOVE_BATON_PASS), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(15, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(20, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(25, MOVE_BITE), + LEVEL_UP_MOVE(30, MOVE_ICE_FANG), + LEVEL_UP_MOVE(35, MOVE_SNOWSCAPE), + LEVEL_UP_MOVE(40, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE(45, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE(50, MOVE_BLIZZARD), + LEVEL_UP_MOVE(55, MOVE_LAST_RESORT), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS + +#if P_GEN_6_CROSS_EVOS +static const struct LevelUpMove sSylveonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 1, MOVE_BATON_PASS), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 1, MOVE_COVET), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(15, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(20, MOVE_SWIFT), + LEVEL_UP_MOVE(25, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(30, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(35, MOVE_MISTY_TERRAIN), + LEVEL_UP_MOVE(40, MOVE_SKILL_SWAP), + LEVEL_UP_MOVE(45, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(50, MOVE_MOONBLAST), + LEVEL_UP_MOVE(55, MOVE_LAST_RESORT), + LEVEL_UP_END +}; +#endif //P_GEN_6_CROSS_EVOS +#endif //P_FAMILY_EEVEE + +#if P_FAMILY_PORYGON +static const struct LevelUpMove sPorygonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_CONVERSION), + LEVEL_UP_MOVE( 5, MOVE_RECYCLE), + LEVEL_UP_MOVE(10, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE(15, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(20, MOVE_PSYBEAM), + LEVEL_UP_MOVE(25, MOVE_CONVERSION_2), + LEVEL_UP_MOVE(30, MOVE_AGILITY), + LEVEL_UP_MOVE(35, MOVE_RECOVER), + LEVEL_UP_MOVE(40, MOVE_DISCHARGE), + LEVEL_UP_MOVE(45, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(55, MOVE_LOCK_ON), + LEVEL_UP_MOVE(60, MOVE_ZAP_CANNON), + LEVEL_UP_END +}; + +#if P_GEN_2_CROSS_EVOS +static const struct LevelUpMove sPorygon2LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_CONVERSION), + LEVEL_UP_MOVE( 1, MOVE_RECYCLE), + LEVEL_UP_MOVE( 1, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE(15, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(20, MOVE_PSYBEAM), + LEVEL_UP_MOVE(25, MOVE_CONVERSION_2), + LEVEL_UP_MOVE(30, MOVE_AGILITY), + LEVEL_UP_MOVE(35, MOVE_RECOVER), + LEVEL_UP_MOVE(40, MOVE_DISCHARGE), + LEVEL_UP_MOVE(45, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE(50, MOVE_LOCK_ON), + LEVEL_UP_MOVE(55, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(60, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sPorygonZLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONVERSION), + LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE( 1, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE( 1, MOVE_RECYCLE), + LEVEL_UP_MOVE( 1, MOVE_TRICK_ROOM), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE(15, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(20, MOVE_PSYBEAM), + LEVEL_UP_MOVE(25, MOVE_CONVERSION_2), + LEVEL_UP_MOVE(30, MOVE_AGILITY), + LEVEL_UP_MOVE(35, MOVE_RECOVER), + LEVEL_UP_MOVE(40, MOVE_DISCHARGE), + LEVEL_UP_MOVE(45, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(55, MOVE_LOCK_ON), + LEVEL_UP_MOVE(60, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS +#endif //P_GEN_2_CROSS_EVOS +#endif //P_FAMILY_PORYGON + +#if P_FAMILY_OMANYTE +static const struct LevelUpMove sOmanyteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BIND), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 5, MOVE_ROLLOUT), + LEVEL_UP_MOVE(10, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(15, MOVE_WATER_GUN), + LEVEL_UP_MOVE(20, MOVE_LEER), + LEVEL_UP_MOVE(25, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(30, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(35, MOVE_BRINE), + LEVEL_UP_MOVE(41, MOVE_PROTECT), + LEVEL_UP_MOVE(45, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(50, MOVE_SURF), + LEVEL_UP_MOVE(55, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE(60, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sOmastarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_BIND), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(15, MOVE_WATER_GUN), + LEVEL_UP_MOVE(20, MOVE_LEER), + LEVEL_UP_MOVE(25, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(30, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(35, MOVE_BRINE), + LEVEL_UP_MOVE(43, MOVE_PROTECT), + LEVEL_UP_MOVE(49, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(56, MOVE_SURF), + LEVEL_UP_MOVE(63, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE(70, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; +#endif //P_FAMILY_OMANYTE + +#if P_FAMILY_KABUTO +static const struct LevelUpMove sKabutoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 5, MOVE_SCRATCH), + LEVEL_UP_MOVE(10, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(15, MOVE_AQUA_JET), + LEVEL_UP_MOVE(20, MOVE_LEER), + LEVEL_UP_MOVE(25, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(30, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(35, MOVE_BRINE), + LEVEL_UP_MOVE(41, MOVE_PROTECT), + LEVEL_UP_MOVE(45, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(50, MOVE_LIQUIDATION), + LEVEL_UP_MOVE(55, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(60, MOVE_STONE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sKabutopsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SLASH), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(15, MOVE_AQUA_JET), + LEVEL_UP_MOVE(20, MOVE_LEER), + LEVEL_UP_MOVE(25, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(30, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(35, MOVE_BRINE), + LEVEL_UP_MOVE(43, MOVE_PROTECT), + LEVEL_UP_MOVE(49, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(56, MOVE_LIQUIDATION), + LEVEL_UP_MOVE(63, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(70, MOVE_STONE_EDGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_KABUTO + +#if P_FAMILY_AERODACTYL +static const struct LevelUpMove sAerodactylLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 5, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(10, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(15, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(20, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(25, MOVE_ROAR), + LEVEL_UP_MOVE(30, MOVE_CRUNCH), + LEVEL_UP_MOVE(35, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(40, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(45, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(50, MOVE_AGILITY), + LEVEL_UP_MOVE(55, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(60, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; +#endif //P_FAMILY_AERODACTYL + +#if P_FAMILY_SNORLAX +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sMunchlaxLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 8, MOVE_RECYCLE), + LEVEL_UP_MOVE(12, MOVE_COVET), + LEVEL_UP_MOVE(16, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_STOCKPILE), + LEVEL_UP_MOVE(20, MOVE_SWALLOW), + LEVEL_UP_MOVE(24, MOVE_SCREECH), + LEVEL_UP_MOVE(28, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(32, MOVE_FLING), + LEVEL_UP_MOVE(36, MOVE_AMNESIA), + LEVEL_UP_MOVE(40, MOVE_METRONOME), + LEVEL_UP_MOVE(44, MOVE_FLAIL), + LEVEL_UP_MOVE(48, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(52, MOVE_LAST_RESORT), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS + +static const struct LevelUpMove sSnorlaxLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LAST_RESORT), + LEVEL_UP_MOVE( 1, MOVE_SWALLOW), + LEVEL_UP_MOVE( 1, MOVE_SCREECH), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_METRONOME), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_FLING), + LEVEL_UP_MOVE( 1, MOVE_RECYCLE), + LEVEL_UP_MOVE( 1, MOVE_STOCKPILE), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_COVET), + LEVEL_UP_MOVE( 1, MOVE_BLOCK), + LEVEL_UP_MOVE(12, MOVE_YAWN), + LEVEL_UP_MOVE(16, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_SNORE), + LEVEL_UP_MOVE(20, MOVE_SLEEP_TALK), + LEVEL_UP_MOVE(20, MOVE_REST), + LEVEL_UP_MOVE(24, MOVE_CRUNCH), + LEVEL_UP_MOVE(28, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(32, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(36, MOVE_AMNESIA), + LEVEL_UP_MOVE(40, MOVE_HIGH_HORSEPOWER), + LEVEL_UP_MOVE(44, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(48, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(52, MOVE_BELCH), + LEVEL_UP_MOVE(56, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; +#endif //P_FAMILY_SNORLAX + +#if P_FAMILY_ARTICUNO +static const struct LevelUpMove sArticunoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_MIST), + LEVEL_UP_MOVE( 5, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(10, MOVE_REFLECT), + LEVEL_UP_MOVE(15, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(20, MOVE_AGILITY), + LEVEL_UP_MOVE(25, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(30, MOVE_TAILWIND), + LEVEL_UP_MOVE(35, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE(40, MOVE_ROOST), + LEVEL_UP_MOVE(45, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(50, MOVE_SNOWSCAPE), + LEVEL_UP_MOVE(55, MOVE_HURRICANE), + LEVEL_UP_MOVE(60, MOVE_HAZE), + LEVEL_UP_MOVE(65, MOVE_BLIZZARD), + LEVEL_UP_MOVE(70, MOVE_SHEER_COLD), + LEVEL_UP_END +}; + +#if P_GALARIAN_FORMS +static const struct LevelUpMove sArticunoGalarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 5, MOVE_CONFUSION), + LEVEL_UP_MOVE(10, MOVE_REFLECT), + LEVEL_UP_MOVE(15, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(20, MOVE_AGILITY), + LEVEL_UP_MOVE(25, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(30, MOVE_TAILWIND), + LEVEL_UP_MOVE(35, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE(40, MOVE_RECOVER), + LEVEL_UP_MOVE(45, MOVE_FREEZING_GLARE), + LEVEL_UP_MOVE(50, MOVE_DREAM_EATER), + LEVEL_UP_MOVE(55, MOVE_HURRICANE), + LEVEL_UP_MOVE(60, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(65, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(70, MOVE_TRICK_ROOM), + LEVEL_UP_END +}; +#endif //P_GALARIAN_FORMS +#endif //P_FAMILY_ARTICUNO + +#if P_FAMILY_ZAPDOS +static const struct LevelUpMove sZapdosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 5, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(10, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(15, MOVE_PLUCK), + LEVEL_UP_MOVE(20, MOVE_AGILITY), + LEVEL_UP_MOVE(25, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(30, MOVE_CHARGE), + LEVEL_UP_MOVE(35, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(40, MOVE_ROOST), + LEVEL_UP_MOVE(45, MOVE_DISCHARGE), + LEVEL_UP_MOVE(50, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(55, MOVE_THUNDER), + LEVEL_UP_MOVE(60, MOVE_DETECT), + LEVEL_UP_MOVE(65, MOVE_MAGNETIC_FLUX), + LEVEL_UP_MOVE(70, MOVE_ZAP_CANNON), + LEVEL_UP_END +}; + +#if P_GALARIAN_FORMS +static const struct LevelUpMove sZapdosGalarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 5, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE(10, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(15, MOVE_PLUCK), + LEVEL_UP_MOVE(20, MOVE_AGILITY), + LEVEL_UP_MOVE(25, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(30, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(35, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(40, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(45, MOVE_THUNDEROUS_KICK), + LEVEL_UP_MOVE(50, MOVE_BULK_UP), + LEVEL_UP_MOVE(55, MOVE_COUNTER), + LEVEL_UP_MOVE(60, MOVE_DETECT), + LEVEL_UP_MOVE(65, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(70, MOVE_REVERSAL), + LEVEL_UP_END +}; +#endif //P_GALARIAN_FORMS +#endif //P_FAMILY_ZAPDOS + +#if P_FAMILY_MOLTRES +static const struct LevelUpMove sMoltresLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 5, MOVE_EMBER), + LEVEL_UP_MOVE(10, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(15, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(20, MOVE_AGILITY), + LEVEL_UP_MOVE(25, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(30, MOVE_INCINERATE), + LEVEL_UP_MOVE(35, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(40, MOVE_ROOST), + LEVEL_UP_MOVE(45, MOVE_HEAT_WAVE), + LEVEL_UP_MOVE(50, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(55, MOVE_HURRICANE), + LEVEL_UP_MOVE(60, MOVE_ENDURE), + LEVEL_UP_MOVE(65, MOVE_OVERHEAT), + LEVEL_UP_MOVE(70, MOVE_SKY_ATTACK), + LEVEL_UP_END +}; + +#if P_GALARIAN_FORMS +static const struct LevelUpMove sMoltresGalarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 5, MOVE_PAYBACK), + LEVEL_UP_MOVE(10, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(15, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(20, MOVE_AGILITY), + LEVEL_UP_MOVE(25, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(30, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(35, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(40, MOVE_AFTER_YOU), + LEVEL_UP_MOVE(45, MOVE_FIERY_WRATH), + LEVEL_UP_MOVE(50, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(55, MOVE_HURRICANE), + LEVEL_UP_MOVE(60, MOVE_ENDURE), + LEVEL_UP_MOVE(65, MOVE_MEMENTO), + LEVEL_UP_MOVE(70, MOVE_SKY_ATTACK), + LEVEL_UP_END +}; +#endif //P_GALARIAN_FORMS +#endif //P_FAMILY_MOLTRES + +#if P_FAMILY_DRATINI +static const struct LevelUpMove sDratiniLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 5, MOVE_TWISTER), + LEVEL_UP_MOVE(10, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(15, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE(20, MOVE_AGILITY), + LEVEL_UP_MOVE(25, MOVE_SLAM), + LEVEL_UP_MOVE(31, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(35, MOVE_DRAGON_RUSH), + LEVEL_UP_MOVE(40, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(45, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(50, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(55, MOVE_OUTRAGE), + LEVEL_UP_MOVE(60, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDragonairLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_TWISTER), + LEVEL_UP_MOVE(15, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE(20, MOVE_AGILITY), + LEVEL_UP_MOVE(25, MOVE_SLAM), + LEVEL_UP_MOVE(33, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(39, MOVE_DRAGON_RUSH), + LEVEL_UP_MOVE(46, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(53, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(60, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(67, MOVE_OUTRAGE), + LEVEL_UP_MOVE(74, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDragoniteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_HURRICANE), + LEVEL_UP_MOVE( 1, MOVE_ROOST), + LEVEL_UP_MOVE( 1, MOVE_EXTREME_SPEED), + LEVEL_UP_MOVE( 1, MOVE_TWISTER), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE(15, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE(20, MOVE_AGILITY), + LEVEL_UP_MOVE(25, MOVE_SLAM), + LEVEL_UP_MOVE(33, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(39, MOVE_DRAGON_RUSH), + LEVEL_UP_MOVE(41, MOVE_OUTRAGE), + LEVEL_UP_MOVE(46, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(53, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(62, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(80, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; +#endif //P_FAMILY_DRATINI + +#if P_FAMILY_MEWTWO +static const struct LevelUpMove sMewtwoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_SWIFT), + LEVEL_UP_MOVE( 1, MOVE_LIFE_DEW), + LEVEL_UP_MOVE( 8, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(16, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE(24, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(32, MOVE_AMNESIA), + LEVEL_UP_MOVE(40, MOVE_AURA_SPHERE), + LEVEL_UP_MOVE(48, MOVE_PSYCHIC), + LEVEL_UP_MOVE(56, MOVE_POWER_SWAP), + LEVEL_UP_MOVE(56, MOVE_GUARD_SWAP), + LEVEL_UP_MOVE(64, MOVE_MIST), + LEVEL_UP_MOVE(72, MOVE_PSYSTRIKE), + LEVEL_UP_MOVE(80, MOVE_RECOVER), + LEVEL_UP_MOVE(88, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; +#endif //P_FAMILY_MEWTWO + +#if P_FAMILY_MEW +static const struct LevelUpMove sMewLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_REFLECT_TYPE), + LEVEL_UP_MOVE(10, MOVE_AMNESIA), + LEVEL_UP_MOVE(20, MOVE_BATON_PASS), + LEVEL_UP_MOVE(30, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(40, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(50, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(60, MOVE_METRONOME), + LEVEL_UP_MOVE(70, MOVE_IMPRISON), + LEVEL_UP_MOVE(80, MOVE_TRANSFORM), + LEVEL_UP_MOVE(90, MOVE_AURA_SPHERE), + LEVEL_UP_MOVE(100, MOVE_PSYCHIC), + LEVEL_UP_END +}; +#endif //P_FAMILY_MEW + +#if P_FAMILY_CHIKORITA +static const struct LevelUpMove sChikoritaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 6, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 9, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(12, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(17, MOVE_REFLECT), + LEVEL_UP_MOVE(20, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(23, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(28, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(31, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(34, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(39, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(42, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(45, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBayleefLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(12, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(18, MOVE_REFLECT), + LEVEL_UP_MOVE(22, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(26, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(32, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(36, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(40, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(46, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(50, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(54, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMeganiumLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 1, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE(12, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(18, MOVE_REFLECT), + LEVEL_UP_MOVE(22, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(26, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(34, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(40, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(46, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(54, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(60, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(65, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; +#endif //P_FAMILY_CHIKORITA + +#if P_FAMILY_CYNDAQUIL +static const struct LevelUpMove sCyndaquilLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 6, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(10, MOVE_EMBER), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(19, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(22, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(28, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(31, MOVE_SWIFT), + LEVEL_UP_MOVE(37, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(40, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(46, MOVE_INFERNO), + LEVEL_UP_MOVE(49, MOVE_ROLLOUT), + LEVEL_UP_MOVE(55, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(58, MOVE_OVERHEAT), + LEVEL_UP_MOVE(64, MOVE_ERUPTION), + LEVEL_UP_END +}; + +static const struct LevelUpMove sQuilavaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(10, MOVE_EMBER), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(20, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(24, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(31, MOVE_SWIFT), + LEVEL_UP_MOVE(35, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(42, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(46, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(53, MOVE_INFERNO), + LEVEL_UP_MOVE(57, MOVE_ROLLOUT), + LEVEL_UP_MOVE(64, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(68, MOVE_OVERHEAT), + LEVEL_UP_MOVE(75, MOVE_ERUPTION), + LEVEL_UP_END +}; + +static const struct LevelUpMove sTyphlosionLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_GYRO_BALL), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_ERUPTION), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(20, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(24, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(31, MOVE_SWIFT), + LEVEL_UP_MOVE(35, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(43, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(48, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(56, MOVE_INFERNO), + LEVEL_UP_MOVE(61, MOVE_ROLLOUT), + LEVEL_UP_MOVE(74, MOVE_OVERHEAT), + LEVEL_UP_END +}; + +#if P_HISUIAN_FORMS +static const struct LevelUpMove sTyphlosionHisuiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_INFERNAL_PARADE), + LEVEL_UP_MOVE( 1, MOVE_GYRO_BALL), + LEVEL_UP_MOVE( 1, MOVE_ERUPTION), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(20, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(24, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(31, MOVE_SWIFT), + LEVEL_UP_MOVE(35, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(43, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(48, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(56, MOVE_INFERNO), + LEVEL_UP_MOVE(61, MOVE_ROLLOUT), + LEVEL_UP_MOVE(74, MOVE_OVERHEAT), + LEVEL_UP_END +}; +#endif //P_HISUIAN_FORMS +#endif //P_FAMILY_CYNDAQUIL + +#if P_FAMILY_TOTODILE +static const struct LevelUpMove sTotodileLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 6, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 9, MOVE_BITE), + LEVEL_UP_MOVE(13, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(19, MOVE_ICE_FANG), + LEVEL_UP_MOVE(22, MOVE_FLAIL), + LEVEL_UP_MOVE(27, MOVE_CRUNCH), + LEVEL_UP_MOVE(30, MOVE_SLASH), + LEVEL_UP_MOVE(33, MOVE_SCREECH), + LEVEL_UP_MOVE(37, MOVE_THRASH), + LEVEL_UP_MOVE(41, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(45, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCroconawLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE(13, MOVE_BITE), + LEVEL_UP_MOVE(15, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(21, MOVE_ICE_FANG), + LEVEL_UP_MOVE(24, MOVE_FLAIL), + LEVEL_UP_MOVE(30, MOVE_CRUNCH), + LEVEL_UP_MOVE(34, MOVE_SLASH), + LEVEL_UP_MOVE(37, MOVE_SCREECH), + LEVEL_UP_MOVE(42, MOVE_THRASH), + LEVEL_UP_MOVE(47, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(50, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(55, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sFeraligatrLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_AGILITY), + LEVEL_UP_MOVE(13, MOVE_BITE), + LEVEL_UP_MOVE(15, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(21, MOVE_ICE_FANG), + LEVEL_UP_MOVE(24, MOVE_FLAIL), + LEVEL_UP_MOVE(32, MOVE_CRUNCH), + LEVEL_UP_MOVE(37, MOVE_SLASH), + LEVEL_UP_MOVE(44, MOVE_SCREECH), + LEVEL_UP_MOVE(51, MOVE_THRASH), + LEVEL_UP_MOVE(59, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(65, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(70, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; +#endif //P_FAMILY_TOTODILE + +#if P_FAMILY_SENTRET +static const struct LevelUpMove sSentretLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(16, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(19, MOVE_FOLLOW_ME), + LEVEL_UP_MOVE(25, MOVE_SLAM), + LEVEL_UP_MOVE(28, MOVE_REST), + LEVEL_UP_MOVE(31, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(36, MOVE_AMNESIA), + LEVEL_UP_MOVE(39, MOVE_BATON_PASS), + LEVEL_UP_MOVE(42, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(47, MOVE_HYPER_VOICE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sFurretLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_AGILITY), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_COIL), + LEVEL_UP_MOVE(13, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(17, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(21, MOVE_FOLLOW_ME), + LEVEL_UP_MOVE(28, MOVE_SLAM), + LEVEL_UP_MOVE(32, MOVE_REST), + LEVEL_UP_MOVE(36, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(42, MOVE_AMNESIA), + LEVEL_UP_MOVE(46, MOVE_BATON_PASS), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(56, MOVE_HYPER_VOICE), + LEVEL_UP_END +}; +#endif //P_FAMILY_SENTRET + +#if P_FAMILY_HOOTHOOT +static const struct LevelUpMove sHoothootLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 3, MOVE_TACKLE), + LEVEL_UP_MOVE( 6, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 9, MOVE_CONFUSION), + LEVEL_UP_MOVE(12, MOVE_REFLECT), + LEVEL_UP_MOVE(15, MOVE_DEFOG), + LEVEL_UP_MOVE(18, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(21, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(24, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(27, MOVE_UPROAR), + LEVEL_UP_MOVE(30, MOVE_ROOST), + LEVEL_UP_MOVE(33, MOVE_MOONBLAST), + LEVEL_UP_MOVE(36, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(39, MOVE_DREAM_EATER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sNoctowlLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_SKY_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 9, MOVE_CONFUSION), + LEVEL_UP_MOVE(12, MOVE_REFLECT), + LEVEL_UP_MOVE(15, MOVE_DEFOG), + LEVEL_UP_MOVE(18, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(23, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(33, MOVE_UPROAR), + LEVEL_UP_MOVE(38, MOVE_ROOST), + LEVEL_UP_MOVE(43, MOVE_MOONBLAST), + LEVEL_UP_MOVE(48, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(53, MOVE_DREAM_EATER), + LEVEL_UP_END +}; +#endif //P_FAMILY_HOOTHOOT + +#if P_FAMILY_LEDYBA +static const struct LevelUpMove sLedybaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 8, MOVE_SWIFT), + LEVEL_UP_MOVE(12, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(12, MOVE_REFLECT), + LEVEL_UP_MOVE(12, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(15, MOVE_MACH_PUNCH), + LEVEL_UP_MOVE(19, MOVE_ROOST), + LEVEL_UP_MOVE(22, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE(26, MOVE_BATON_PASS), + LEVEL_UP_MOVE(29, MOVE_AGILITY), + LEVEL_UP_MOVE(33, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(36, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(40, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLedianLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_SWIFT), + LEVEL_UP_MOVE( 5, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 8, MOVE_SWIFT), + LEVEL_UP_MOVE(12, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(12, MOVE_REFLECT), + LEVEL_UP_MOVE(12, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(15, MOVE_MACH_PUNCH), + LEVEL_UP_MOVE(20, MOVE_ROOST), + LEVEL_UP_MOVE(24, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE(29, MOVE_BATON_PASS), + LEVEL_UP_MOVE(33, MOVE_AGILITY), + LEVEL_UP_MOVE(38, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(42, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(47, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_LEDYBA + +#if P_FAMILY_SPINARAK +static const struct LevelUpMove sSpinarakLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 5, MOVE_ABSORB), + LEVEL_UP_MOVE( 8, MOVE_INFESTATION), + LEVEL_UP_MOVE(12, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(15, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(19, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE(22, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(26, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(29, MOVE_AGILITY), + LEVEL_UP_MOVE(33, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(36, MOVE_PSYCHIC), + LEVEL_UP_MOVE(40, MOVE_POISON_JAB), + LEVEL_UP_MOVE(44, MOVE_CROSS_POISON), + LEVEL_UP_MOVE(47, MOVE_STICKY_WEB), + LEVEL_UP_MOVE(51, MOVE_TOXIC_THREAD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sAriadosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_FELL_STINGER), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 8, MOVE_INFESTATION), + LEVEL_UP_MOVE(12, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(15, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(19, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE(23, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(28, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(31, MOVE_AGILITY), + LEVEL_UP_MOVE(35, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(41, MOVE_PSYCHIC), + LEVEL_UP_MOVE(46, MOVE_POISON_JAB), + LEVEL_UP_MOVE(50, MOVE_CROSS_POISON), + LEVEL_UP_MOVE(54, MOVE_STICKY_WEB), + LEVEL_UP_MOVE(59, MOVE_TOXIC_THREAD), + LEVEL_UP_END +}; +#endif //P_FAMILY_SPINARAK + +#if P_FAMILY_CHINCHOU +static const struct LevelUpMove sChinchouLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 4, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE( 8, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(12, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(16, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(20, MOVE_SPARK), + LEVEL_UP_MOVE(24, MOVE_CHARGE), + LEVEL_UP_MOVE(28, MOVE_DISCHARGE), + LEVEL_UP_MOVE(32, MOVE_AQUA_RING), + LEVEL_UP_MOVE(36, MOVE_FLAIL), + LEVEL_UP_MOVE(40, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(44, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLanturnLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SWALLOW), + LEVEL_UP_MOVE( 0, MOVE_SPIT_UP), + LEVEL_UP_MOVE( 0, MOVE_STOCKPILE), + LEVEL_UP_MOVE( 1, MOVE_EERIE_IMPULSE), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(12, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(16, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(20, MOVE_SPARK), + LEVEL_UP_MOVE(24, MOVE_CHARGE), + LEVEL_UP_MOVE(30, MOVE_DISCHARGE), + LEVEL_UP_MOVE(36, MOVE_AQUA_RING), + LEVEL_UP_MOVE(42, MOVE_FLAIL), + LEVEL_UP_MOVE(48, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(54, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; +#endif //P_FAMILY_CHINCHOU + +#if P_FAMILY_TOGEPI +static const struct LevelUpMove sTogepiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 4, MOVE_SWEET_KISS), + LEVEL_UP_MOVE( 8, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(12, MOVE_CHARM), + LEVEL_UP_MOVE(16, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(20, MOVE_YAWN), + LEVEL_UP_MOVE(24, MOVE_METRONOME), + LEVEL_UP_MOVE(28, MOVE_AFTER_YOU), + LEVEL_UP_MOVE(32, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(36, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(40, MOVE_FOLLOW_ME), + LEVEL_UP_MOVE(44, MOVE_BATON_PASS), + LEVEL_UP_MOVE(48, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(52, MOVE_WISH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sTogeticLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_SWEET_KISS), + LEVEL_UP_MOVE( 1, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(12, MOVE_CHARM), + LEVEL_UP_MOVE(16, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(20, MOVE_YAWN), + LEVEL_UP_MOVE(24, MOVE_METRONOME), + LEVEL_UP_MOVE(28, MOVE_AFTER_YOU), + LEVEL_UP_MOVE(32, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(36, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(40, MOVE_FOLLOW_ME), + LEVEL_UP_MOVE(44, MOVE_BATON_PASS), + LEVEL_UP_MOVE(48, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(52, MOVE_WISH), + LEVEL_UP_END +}; + +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sTogekissLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_AIR_SLASH), + LEVEL_UP_MOVE( 1, MOVE_AIR_SLASH), + LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE( 1, MOVE_SKY_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_AURA_SPHERE), + LEVEL_UP_MOVE( 1, MOVE_EXTREME_SPEED), + LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_METRONOME), + LEVEL_UP_MOVE( 1, MOVE_AFTER_YOU), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_FOLLOW_ME), + LEVEL_UP_MOVE( 1, MOVE_BATON_PASS), + LEVEL_UP_MOVE( 1, MOVE_LAST_RESORT), + LEVEL_UP_MOVE( 1, MOVE_WISH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_SWEET_KISS), + LEVEL_UP_MOVE( 1, MOVE_LIFE_DEW), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS +#endif //P_FAMILY_TOGEPI + +#if P_FAMILY_NATU +static const struct LevelUpMove sNatuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 5, MOVE_STORED_POWER), + LEVEL_UP_MOVE(10, MOVE_TELEPORT), + LEVEL_UP_MOVE(15, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(20, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(26, MOVE_PSYCHO_SHIFT), + LEVEL_UP_MOVE(30, MOVE_POWER_SWAP), + LEVEL_UP_MOVE(35, MOVE_GUARD_SWAP), + LEVEL_UP_MOVE(35, MOVE_PSYCHIC), + LEVEL_UP_MOVE(40, MOVE_WISH), + LEVEL_UP_MOVE(45, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sXatuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_AIR_SLASH), + LEVEL_UP_MOVE( 1, MOVE_AIR_SLASH), + LEVEL_UP_MOVE( 1, MOVE_TAILWIND), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_MOVE(15, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(20, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(28, MOVE_PSYCHO_SHIFT), + LEVEL_UP_MOVE(34, MOVE_POWER_SWAP), + LEVEL_UP_MOVE(34, MOVE_GUARD_SWAP), + LEVEL_UP_MOVE(41, MOVE_PSYCHIC), + LEVEL_UP_MOVE(48, MOVE_WISH), + LEVEL_UP_MOVE(55, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; +#endif //P_FAMILY_NATU + +#if P_FAMILY_MAREEP +static const struct LevelUpMove sMareepLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 8, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(11, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(15, MOVE_CHARGE), + LEVEL_UP_MOVE(18, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(22, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(25, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(29, MOVE_POWER_GEM), + LEVEL_UP_MOVE(32, MOVE_DISCHARGE), + LEVEL_UP_MOVE(36, MOVE_COTTON_GUARD), + LEVEL_UP_MOVE(39, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE(43, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(46, MOVE_THUNDER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sFlaaffyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 6, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 9, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(11, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(16, MOVE_CHARGE), + LEVEL_UP_MOVE(20, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(25, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(29, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(34, MOVE_POWER_GEM), + LEVEL_UP_MOVE(38, MOVE_DISCHARGE), + LEVEL_UP_MOVE(43, MOVE_COTTON_GUARD), + LEVEL_UP_MOVE(47, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE(52, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(56, MOVE_THUNDER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sAmpharosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE( 1, MOVE_MAGNETIC_FLUX), + LEVEL_UP_MOVE( 1, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(11, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(16, MOVE_CHARGE), + LEVEL_UP_MOVE(20, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(25, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(29, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(35, MOVE_POWER_GEM), + LEVEL_UP_MOVE(40, MOVE_DISCHARGE), + LEVEL_UP_MOVE(46, MOVE_COTTON_GUARD), + LEVEL_UP_MOVE(51, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE(57, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(62, MOVE_THUNDER), + LEVEL_UP_END +}; +#endif //P_FAMILY_MAREEP + +#if P_FAMILY_MARILL +#if P_GEN_3_CROSS_EVOS +static const struct LevelUpMove sAzurillLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 3, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 6, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE( 9, MOVE_CHARM), + LEVEL_UP_MOVE(12, MOVE_SLAM), + LEVEL_UP_MOVE(15, MOVE_BOUNCE), + LEVEL_UP_END +}; +#endif //P_GEN_3_CROSS_EVOS + +static const struct LevelUpMove sMarillLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 6, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE( 9, MOVE_CHARM), + LEVEL_UP_MOVE(12, MOVE_SLAM), + LEVEL_UP_MOVE(15, MOVE_BOUNCE), + LEVEL_UP_MOVE(19, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(21, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(24, MOVE_AQUA_RING), + LEVEL_UP_MOVE(27, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(30, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(33, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(36, MOVE_SUPERPOWER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sAzumarillLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 6, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE( 9, MOVE_CHARM), + LEVEL_UP_MOVE(12, MOVE_SLAM), + LEVEL_UP_MOVE(15, MOVE_BOUNCE), + LEVEL_UP_MOVE(21, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(25, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(30, MOVE_AQUA_RING), + LEVEL_UP_MOVE(35, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(40, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(45, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(50, MOVE_SUPERPOWER), + LEVEL_UP_END +}; +#endif //P_FAMILY_MARILL + +#if P_FAMILY_SUDOWOODO +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sBonslyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 4, MOVE_FLAIL), + LEVEL_UP_MOVE( 8, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(12, MOVE_BLOCK), + LEVEL_UP_MOVE(16, MOVE_MIMIC), + LEVEL_UP_MOVE(20, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(24, MOVE_TEARFUL_LOOK), + LEVEL_UP_MOVE(28, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(32, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(36, MOVE_LOW_KICK), + LEVEL_UP_MOVE(40, MOVE_COUNTER), + LEVEL_UP_MOVE(44, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS + +static const struct LevelUpMove sSudowoodoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SLAM), + LEVEL_UP_MOVE( 1, MOVE_WOOD_HAMMER), + LEVEL_UP_MOVE( 1, MOVE_STONE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(12, MOVE_BLOCK), + LEVEL_UP_MOVE(16, MOVE_MIMIC), + LEVEL_UP_MOVE(20, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(24, MOVE_TEARFUL_LOOK), + LEVEL_UP_MOVE(28, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(32, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(36, MOVE_LOW_KICK), + LEVEL_UP_MOVE(40, MOVE_COUNTER), + LEVEL_UP_MOVE(44, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(48, MOVE_HEAD_SMASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_SUDOWOODO + +#if P_FAMILY_HOPPIP +static const struct LevelUpMove sHoppipLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 6, MOVE_ABSORB), + LEVEL_UP_MOVE( 8, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE(10, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(10, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(10, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(12, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(15, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(19, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(22, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(24, MOVE_ACROBATICS), + LEVEL_UP_MOVE(27, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(29, MOVE_U_TURN), + LEVEL_UP_MOVE(32, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(35, MOVE_BOUNCE), + LEVEL_UP_MOVE(38, MOVE_MEMENTO), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSkiploomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 8, MOVE_TACKLE), + LEVEL_UP_MOVE(10, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE(12, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(12, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(12, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(15, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(20, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(24, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(28, MOVE_ACROBATICS), + LEVEL_UP_MOVE(31, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(34, MOVE_U_TURN), + LEVEL_UP_MOVE(37, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(41, MOVE_BOUNCE), + LEVEL_UP_MOVE(44, MOVE_MEMENTO), + LEVEL_UP_END +}; + +static const struct LevelUpMove sJumpluffLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 8, MOVE_TACKLE), + LEVEL_UP_MOVE(10, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE(12, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(12, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(12, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(15, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(20, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(24, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(30, MOVE_ACROBATICS), + LEVEL_UP_MOVE(35, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(39, MOVE_U_TURN), + LEVEL_UP_MOVE(43, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(49, MOVE_BOUNCE), + LEVEL_UP_MOVE(55, MOVE_MEMENTO), + LEVEL_UP_END +}; +#endif //P_FAMILY_HOPPIP + +#if P_FAMILY_AIPOM +static const struct LevelUpMove sAipomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 4, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 8, MOVE_ASTONISH), + LEVEL_UP_MOVE(11, MOVE_BATON_PASS), + LEVEL_UP_MOVE(15, MOVE_TICKLE), + LEVEL_UP_MOVE(18, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(22, MOVE_SWIFT), + LEVEL_UP_MOVE(25, MOVE_SCREECH), + LEVEL_UP_MOVE(29, MOVE_AGILITY), + LEVEL_UP_MOVE(32, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(36, MOVE_FLING), + LEVEL_UP_MOVE(39, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(43, MOVE_LAST_RESORT), + LEVEL_UP_END +}; + +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sAmbipomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE(11, MOVE_BATON_PASS), + LEVEL_UP_MOVE(15, MOVE_TICKLE), + LEVEL_UP_MOVE(18, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(22, MOVE_SWIFT), + LEVEL_UP_MOVE(25, MOVE_SCREECH), + LEVEL_UP_MOVE(29, MOVE_AGILITY), + LEVEL_UP_MOVE(32, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(36, MOVE_FLING), + LEVEL_UP_MOVE(39, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(43, MOVE_LAST_RESORT), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS +#endif //P_FAMILY_AIPOM + +#if P_FAMILY_SUNKERN +static const struct LevelUpMove sSunkernLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 7, MOVE_ABSORB), + LEVEL_UP_MOVE(10, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(16, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(19, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(22, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(25, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(28, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(31, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(34, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(36, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(39, MOVE_SEED_BOMB), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSunfloraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 4, MOVE_INGRAIN), + LEVEL_UP_MOVE( 7, MOVE_ABSORB), + LEVEL_UP_MOVE(10, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(13, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(16, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(19, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(22, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(25, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(28, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE(31, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(34, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(39, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(43, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(50, MOVE_PETAL_BLIZZARD), + LEVEL_UP_END +}; +#endif //P_FAMILY_SUNKERN + +#if P_FAMILY_YANMA +static const struct LevelUpMove sYanmaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 6, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(11, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(14, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(17, MOVE_DETECT), + LEVEL_UP_MOVE(22, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(27, MOVE_UPROAR), + LEVEL_UP_MOVE(30, MOVE_BUG_BITE), + LEVEL_UP_MOVE(33, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(38, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(43, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(46, MOVE_SCREECH), + LEVEL_UP_MOVE(49, MOVE_U_TURN), + LEVEL_UP_MOVE(54, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(57, MOVE_BUG_BUZZ), + LEVEL_UP_END +}; + +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sYanmegaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_AIR_SLASH), + LEVEL_UP_MOVE( 1, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(14, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(17, MOVE_DETECT), + LEVEL_UP_MOVE(22, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(27, MOVE_UPROAR), + LEVEL_UP_MOVE(30, MOVE_BUG_BITE), + LEVEL_UP_MOVE(33, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(38, MOVE_FEINT), + LEVEL_UP_MOVE(43, MOVE_SLASH), + LEVEL_UP_MOVE(46, MOVE_SCREECH), + LEVEL_UP_MOVE(49, MOVE_U_TURN), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS +#endif //P_FAMILY_YANMA + +#if P_FAMILY_WOOPER +static const struct LevelUpMove sWooperLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 4, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE( 8, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(12, MOVE_MIST), + LEVEL_UP_MOVE(12, MOVE_HAZE), + LEVEL_UP_MOVE(16, MOVE_SLAM), + LEVEL_UP_MOVE(21, MOVE_YAWN), + LEVEL_UP_MOVE(24, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(28, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(32, MOVE_AMNESIA), + LEVEL_UP_MOVE(36, MOVE_TOXIC), + LEVEL_UP_MOVE(40, MOVE_EARTHQUAKE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sQuagsireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(12, MOVE_MIST), + LEVEL_UP_MOVE(12, MOVE_HAZE), + LEVEL_UP_MOVE(16, MOVE_SLAM), + LEVEL_UP_MOVE(23, MOVE_YAWN), + LEVEL_UP_MOVE(28, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(34, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(40, MOVE_AMNESIA), + LEVEL_UP_MOVE(46, MOVE_TOXIC), + LEVEL_UP_MOVE(52, MOVE_EARTHQUAKE), + LEVEL_UP_END +}; + +#if P_PALDEAN_FORMS +static const struct LevelUpMove sWooperPaldeaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), + LEVEL_UP_MOVE( 4, MOVE_TACKLE), + LEVEL_UP_MOVE( 8, MOVE_POISON_TAIL), + LEVEL_UP_MOVE(12, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(16, MOVE_SLAM), + LEVEL_UP_MOVE(21, MOVE_YAWN), + LEVEL_UP_MOVE(24, MOVE_POISON_JAB), + LEVEL_UP_MOVE(28, MOVE_SLUDGE_WAVE), + LEVEL_UP_MOVE(32, MOVE_AMNESIA), + LEVEL_UP_MOVE(36, MOVE_TOXIC), + LEVEL_UP_MOVE(40, MOVE_EARTHQUAKE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sClodsireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_AMNESIA), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 4, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE( 8, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(12, MOVE_POISON_TAIL), + LEVEL_UP_MOVE(16, MOVE_SLAM), + LEVEL_UP_MOVE(21, MOVE_YAWN), + LEVEL_UP_MOVE(24, MOVE_POISON_JAB), + LEVEL_UP_MOVE(30, MOVE_SLUDGE_WAVE), + LEVEL_UP_MOVE(36, MOVE_MEGAHORN), + LEVEL_UP_MOVE(40, MOVE_TOXIC), + LEVEL_UP_MOVE(48, MOVE_EARTHQUAKE), + LEVEL_UP_END +}; +#endif //P_PALDEAN_FORMS +#endif //P_FAMILY_WOOPER + +#if P_FAMILY_MURKROW +static const struct LevelUpMove sMurkrowLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 5, MOVE_GUST), + LEVEL_UP_MOVE(11, MOVE_HAZE), + LEVEL_UP_MOVE(15, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(21, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(25, MOVE_ASSURANCE), + LEVEL_UP_MOVE(31, MOVE_TAUNT), + LEVEL_UP_MOVE(35, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(40, MOVE_FOUL_PLAY), + LEVEL_UP_MOVE(50, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(55, MOVE_TORMENT), + LEVEL_UP_MOVE(60, MOVE_QUASH), + LEVEL_UP_END +}; + +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sHonchkrowLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_HAZE), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_QUASH), + LEVEL_UP_MOVE(25, MOVE_SWAGGER), + LEVEL_UP_MOVE(35, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(45, MOVE_FOUL_PLAY), + LEVEL_UP_MOVE(55, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(65, MOVE_COMEUPPANCE), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS +#endif //P_FAMILY_MURKROW + +#if P_FAMILY_MISDREAVUS +static const struct LevelUpMove sMisdreavusLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE(10, MOVE_ASTONISH), + LEVEL_UP_MOVE(14, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(19, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(23, MOVE_HEX), + LEVEL_UP_MOVE(28, MOVE_PSYBEAM), + LEVEL_UP_MOVE(32, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE(37, MOVE_PAYBACK), + LEVEL_UP_MOVE(41, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(46, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(50, MOVE_POWER_GEM), + LEVEL_UP_END +}; + +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sMismagiusLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_SPITE), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), + LEVEL_UP_MOVE( 1, MOVE_PHANTOM_FORCE), + LEVEL_UP_MOVE( 1, MOVE_MYSTICAL_FIRE), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS +#endif //P_FAMILY_MISDREAVUS + +#if P_FAMILY_UNOWN +static const struct LevelUpMove sUnownLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HIDDEN_POWER), + LEVEL_UP_END +}; +#endif //P_FAMILY_UNOWN + +#if P_FAMILY_WOBBUFFET +#if P_GEN_3_CROSS_EVOS +static const struct LevelUpMove sWynautLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), + LEVEL_UP_MOVE( 1, MOVE_AMNESIA), + LEVEL_UP_END +}; +#endif //P_GEN_3_CROSS_EVOS + +static const struct LevelUpMove sWobbuffetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 0, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE( 0, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE( 0, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), + LEVEL_UP_MOVE( 1, MOVE_AMNESIA), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; +#endif //P_FAMILY_WOBBUFFET + +#if P_FAMILY_GIRAFARIG +static const struct LevelUpMove sGirafarigLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_POWER_SWAP), + LEVEL_UP_MOVE( 1, MOVE_GUARD_SWAP), + LEVEL_UP_MOVE( 5, MOVE_CONFUSION), + LEVEL_UP_MOVE(10, MOVE_ASSURANCE), + LEVEL_UP_MOVE(14, MOVE_STOMP), + LEVEL_UP_MOVE(19, MOVE_PSYBEAM), + LEVEL_UP_MOVE(23, MOVE_AGILITY), + LEVEL_UP_MOVE(28, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(32, MOVE_TWIN_BEAM), + LEVEL_UP_MOVE(37, MOVE_CRUNCH), + LEVEL_UP_MOVE(41, MOVE_BATON_PASS), + LEVEL_UP_MOVE(46, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(50, MOVE_PSYCHIC), + LEVEL_UP_END +}; + +#if P_GEN_9_CROSS_EVOS +static const struct LevelUpMove sFarigirafLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_POWER_SWAP), + LEVEL_UP_MOVE( 1, MOVE_GUARD_SWAP), + LEVEL_UP_MOVE( 5, MOVE_CONFUSION), + LEVEL_UP_MOVE(10, MOVE_ASSURANCE), + LEVEL_UP_MOVE(14, MOVE_STOMP), + LEVEL_UP_MOVE(19, MOVE_PSYBEAM), + LEVEL_UP_MOVE(23, MOVE_AGILITY), + LEVEL_UP_MOVE(28, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(32, MOVE_TWIN_BEAM), + LEVEL_UP_MOVE(37, MOVE_CRUNCH), + LEVEL_UP_MOVE(41, MOVE_BATON_PASS), + LEVEL_UP_MOVE(46, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(50, MOVE_PSYCHIC), + LEVEL_UP_END +}; +#endif //P_GEN_9_CROSS_EVOS +#endif //P_FAMILY_GIRAFARIG + +#if P_FAMILY_PINECO +static const struct LevelUpMove sPinecoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 6, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE( 9, MOVE_BUG_BITE), + LEVEL_UP_MOVE(12, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(17, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(20, MOVE_ROLLOUT), + LEVEL_UP_MOVE(23, MOVE_CURSE), + LEVEL_UP_MOVE(28, MOVE_SPIKES), + LEVEL_UP_MOVE(31, MOVE_PAYBACK), + LEVEL_UP_MOVE(34, MOVE_EXPLOSION), + LEVEL_UP_MOVE(39, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(42, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(45, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sForretressLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE( 1, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE( 1, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE( 1, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE(12, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(17, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(20, MOVE_ROLLOUT), + LEVEL_UP_MOVE(23, MOVE_CURSE), + LEVEL_UP_MOVE(28, MOVE_SPIKES), + LEVEL_UP_MOVE(32, MOVE_PAYBACK), + LEVEL_UP_MOVE(36, MOVE_EXPLOSION), + LEVEL_UP_MOVE(42, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(46, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_PINECO + +#if P_FAMILY_DUNSPARCE +static const struct LevelUpMove sDunsparceLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 4, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 8, MOVE_ROLLOUT), + LEVEL_UP_MOVE(12, MOVE_GLARE), + LEVEL_UP_MOVE(16, MOVE_SCREECH), + LEVEL_UP_MOVE(20, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(24, MOVE_DRILL_RUN), + LEVEL_UP_MOVE(28, MOVE_YAWN), + LEVEL_UP_MOVE(32, MOVE_HYPER_DRILL), + LEVEL_UP_MOVE(36, MOVE_ROOST), + LEVEL_UP_MOVE(40, MOVE_DRAGON_RUSH), + LEVEL_UP_MOVE(44, MOVE_COIL), + LEVEL_UP_MOVE(48, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(52, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +#if P_GEN_9_CROSS_EVOS +static const struct LevelUpMove sDudunsparceLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 4, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 8, MOVE_ROLLOUT), + LEVEL_UP_MOVE(12, MOVE_GLARE), + LEVEL_UP_MOVE(16, MOVE_SCREECH), + LEVEL_UP_MOVE(20, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(24, MOVE_DRILL_RUN), + LEVEL_UP_MOVE(28, MOVE_YAWN), + LEVEL_UP_MOVE(32, MOVE_HYPER_DRILL), + LEVEL_UP_MOVE(36, MOVE_ROOST), + LEVEL_UP_MOVE(40, MOVE_DRAGON_RUSH), + LEVEL_UP_MOVE(44, MOVE_COIL), + LEVEL_UP_MOVE(48, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(52, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(56, MOVE_HURRICANE), + LEVEL_UP_MOVE(62, MOVE_BOOMBURST), + LEVEL_UP_END +}; +#endif //P_GEN_9_CROSS_EVOS +#endif //P_FAMILY_DUNSPARCE + +#if P_FAMILY_GLIGAR +static const struct LevelUpMove sGligarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 4, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 7, MOVE_HARDEN), + LEVEL_UP_MOVE(10, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(16, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(19, MOVE_POISON_TAIL), + LEVEL_UP_MOVE(22, MOVE_ACROBATICS), + LEVEL_UP_MOVE(27, MOVE_SLASH), + LEVEL_UP_MOVE(30, MOVE_U_TURN), + LEVEL_UP_MOVE(35, MOVE_SCREECH), + LEVEL_UP_MOVE(40, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(45, MOVE_CRABHAMMER), + LEVEL_UP_MOVE(50, MOVE_SWORDS_DANCE), + LEVEL_UP_END +}; + +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sGliscorLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_POISON_JAB), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(16, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(19, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(22, MOVE_ACROBATICS), + LEVEL_UP_MOVE(27, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(30, MOVE_U_TURN), + LEVEL_UP_MOVE(35, MOVE_SCREECH), + LEVEL_UP_MOVE(40, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(45, MOVE_CRABHAMMER), + LEVEL_UP_MOVE(50, MOVE_SWORDS_DANCE), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS +#endif //P_FAMILY_GLIGAR + +#if P_FAMILY_SNUBBULL +static const struct LevelUpMove sSnubbullLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 7, MOVE_BITE), + LEVEL_UP_MOVE(13, MOVE_LICK), + LEVEL_UP_MOVE(19, MOVE_HEADBUTT), + LEVEL_UP_MOVE(25, MOVE_ROAR), + LEVEL_UP_MOVE(31, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(37, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(43, MOVE_PAYBACK), + LEVEL_UP_MOVE(49, MOVE_CRUNCH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGranbullLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_OUTRAGE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE( 7, MOVE_BITE), + LEVEL_UP_MOVE(13, MOVE_LICK), + LEVEL_UP_MOVE(19, MOVE_HEADBUTT), + LEVEL_UP_MOVE(27, MOVE_ROAR), + LEVEL_UP_MOVE(35, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(43, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(51, MOVE_PAYBACK), + LEVEL_UP_MOVE(59, MOVE_CRUNCH), + LEVEL_UP_END +}; +#endif //P_FAMILY_SNUBBULL + +#if P_FAMILY_QWILFISH +static const struct LevelUpMove sQwilfishLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 4, MOVE_HARDEN), + LEVEL_UP_MOVE( 8, MOVE_WATER_GUN), + LEVEL_UP_MOVE(12, MOVE_FELL_STINGER), + LEVEL_UP_MOVE(16, MOVE_MINIMIZE), + LEVEL_UP_MOVE(20, MOVE_SPIKES), + LEVEL_UP_MOVE(24, MOVE_BRINE), + LEVEL_UP_MOVE(28, MOVE_POISON_JAB), + LEVEL_UP_MOVE(32, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(36, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(40, MOVE_STOCKPILE), + LEVEL_UP_MOVE(40, MOVE_SPIT_UP), + LEVEL_UP_MOVE(44, MOVE_TOXIC), + LEVEL_UP_MOVE(48, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(52, MOVE_ACUPRESSURE), + LEVEL_UP_MOVE(56, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; + +#if P_HISUIAN_FORMS +static const struct LevelUpMove sQwilfishHisuiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 4, MOVE_HARDEN), + LEVEL_UP_MOVE( 8, MOVE_BITE), + LEVEL_UP_MOVE(12, MOVE_FELL_STINGER), + LEVEL_UP_MOVE(16, MOVE_MINIMIZE), + LEVEL_UP_MOVE(20, MOVE_SPIKES), + LEVEL_UP_MOVE(24, MOVE_BRINE), + LEVEL_UP_MOVE(28, MOVE_BARB_BARRAGE), + LEVEL_UP_MOVE(32, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(36, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(40, MOVE_STOCKPILE), + LEVEL_UP_MOVE(40, MOVE_SPIT_UP), + LEVEL_UP_MOVE(44, MOVE_TOXIC), + LEVEL_UP_MOVE(48, MOVE_CRUNCH), + LEVEL_UP_MOVE(52, MOVE_ACUPRESSURE), + LEVEL_UP_MOVE(56, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; + +static const struct LevelUpMove sOverqwilLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 4, MOVE_HARDEN), + LEVEL_UP_MOVE( 8, MOVE_BITE), + LEVEL_UP_MOVE(12, MOVE_FELL_STINGER), + LEVEL_UP_MOVE(16, MOVE_MINIMIZE), + LEVEL_UP_MOVE(20, MOVE_SPIKES), + LEVEL_UP_MOVE(24, MOVE_BRINE), + LEVEL_UP_MOVE(28, MOVE_BARB_BARRAGE), + LEVEL_UP_MOVE(32, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(36, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(40, MOVE_STOCKPILE), + LEVEL_UP_MOVE(40, MOVE_SPIT_UP), + LEVEL_UP_MOVE(44, MOVE_TOXIC), + LEVEL_UP_MOVE(48, MOVE_CRUNCH), + LEVEL_UP_MOVE(52, MOVE_ACUPRESSURE), + LEVEL_UP_MOVE(56, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; +#endif //P_HISUIAN_FORMS +#endif //P_FAMILY_QWILFISH + +#if P_FAMILY_SHUCKLE +static const struct LevelUpMove sShuckleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 5, MOVE_ROLLOUT), + LEVEL_UP_MOVE(10, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE(15, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(20, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(25, MOVE_REST), + LEVEL_UP_MOVE(30, MOVE_BUG_BITE), + LEVEL_UP_MOVE(35, MOVE_POWER_SPLIT), + LEVEL_UP_MOVE(35, MOVE_GUARD_SPLIT), + LEVEL_UP_MOVE(40, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(45, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(50, MOVE_STICKY_WEB), + LEVEL_UP_MOVE(55, MOVE_POWER_TRICK), + LEVEL_UP_MOVE(60, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(65, MOVE_SHELL_SMASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_SHUCKLE + +#if P_FAMILY_HERACROSS +static const struct LevelUpMove sHeracrossLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_ARM_THRUST), + LEVEL_UP_MOVE( 5, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(10, MOVE_ENDURE), + LEVEL_UP_MOVE(15, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(20, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(25, MOVE_COUNTER), + LEVEL_UP_MOVE(30, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(35, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(40, MOVE_THROAT_CHOP), + LEVEL_UP_MOVE(45, MOVE_THRASH), + LEVEL_UP_MOVE(50, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(55, MOVE_MEGAHORN), + LEVEL_UP_MOVE(60, MOVE_CLOSE_COMBAT), + LEVEL_UP_END +}; +#endif //P_FAMILY_HERACROSS + +#if P_FAMILY_SNEASEL +static const struct LevelUpMove sSneaselLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 6, MOVE_TAUNT), + LEVEL_UP_MOVE(12, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(18, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(24, MOVE_ICY_WIND), + LEVEL_UP_MOVE(30, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(36, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(42, MOVE_BEAT_UP), + LEVEL_UP_MOVE(48, MOVE_AGILITY), + LEVEL_UP_MOVE(54, MOVE_SCREECH), + LEVEL_UP_MOVE(60, MOVE_SLASH), + LEVEL_UP_END +}; + +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sWeavileLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_AGILITY), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_ASSURANCE), + LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE( 1, MOVE_SLASH), + LEVEL_UP_MOVE( 1, MOVE_BEAT_UP), + LEVEL_UP_MOVE( 1, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(18, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(24, MOVE_ICY_WIND), + LEVEL_UP_MOVE(30, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(36, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(42, MOVE_FLING), + LEVEL_UP_MOVE(48, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(54, MOVE_SCREECH), + LEVEL_UP_MOVE(60, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(66, MOVE_DARK_PULSE), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS + +#if P_HISUIAN_FORMS +static const struct LevelUpMove sSneaselHisuiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 6, MOVE_TAUNT), + LEVEL_UP_MOVE(12, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(18, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(24, MOVE_POISON_JAB), + LEVEL_UP_MOVE(30, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(36, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(42, MOVE_SLASH), + LEVEL_UP_MOVE(48, MOVE_AGILITY), + LEVEL_UP_MOVE(54, MOVE_SCREECH), + LEVEL_UP_MOVE(60, MOVE_CLOSE_COMBAT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSneaslerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DIRE_CLAW), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 1, MOVE_FLING), + LEVEL_UP_MOVE( 6, MOVE_TAUNT), + LEVEL_UP_MOVE(12, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(18, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(24, MOVE_POISON_JAB), + LEVEL_UP_MOVE(30, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(36, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(42, MOVE_SLASH), + LEVEL_UP_MOVE(48, MOVE_AGILITY), + LEVEL_UP_MOVE(54, MOVE_SCREECH), + LEVEL_UP_MOVE(60, MOVE_CLOSE_COMBAT), + LEVEL_UP_END +}; +#endif //P_HISUIAN_FORMS +#endif //P_FAMILY_SNEASEL + +#if P_FAMILY_TEDDIURSA +static const struct LevelUpMove sTeddiursaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_COVET), + LEVEL_UP_MOVE( 1, MOVE_FLING), + LEVEL_UP_MOVE( 1, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE( 8, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(13, MOVE_PAYBACK), + LEVEL_UP_MOVE(17, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(22, MOVE_SLASH), + LEVEL_UP_MOVE(25, MOVE_PLAY_NICE), + LEVEL_UP_MOVE(29, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(33, MOVE_CHARM), + LEVEL_UP_MOVE(37, MOVE_REST), + LEVEL_UP_MOVE(37, MOVE_SNORE), + LEVEL_UP_MOVE(41, MOVE_THRASH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sUrsaringLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_COVET), + LEVEL_UP_MOVE( 1, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE( 8, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(13, MOVE_PAYBACK), + LEVEL_UP_MOVE(17, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(22, MOVE_SLASH), + LEVEL_UP_MOVE(25, MOVE_PLAY_NICE), + LEVEL_UP_MOVE(29, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(35, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(41, MOVE_REST), + LEVEL_UP_MOVE(41, MOVE_SNORE), + LEVEL_UP_MOVE(48, MOVE_HIGH_HORSEPOWER), + LEVEL_UP_MOVE(56, MOVE_THRASH), + LEVEL_UP_MOVE(64, MOVE_HAMMER_ARM), + LEVEL_UP_END +}; + +#if P_GEN_8_CROSS_EVOS +static const struct LevelUpMove sUrsalunaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_HEADLONG_RUSH), + LEVEL_UP_MOVE( 1, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE( 1, MOVE_COVET), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 8, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(13, MOVE_PAYBACK), + LEVEL_UP_MOVE(17, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(22, MOVE_SLASH), + LEVEL_UP_MOVE(25, MOVE_PLAY_NICE), + LEVEL_UP_MOVE(29, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(35, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(41, MOVE_REST), + LEVEL_UP_MOVE(41, MOVE_SNORE), + LEVEL_UP_MOVE(48, MOVE_HIGH_HORSEPOWER), + LEVEL_UP_MOVE(56, MOVE_THRASH), + LEVEL_UP_MOVE(64, MOVE_HAMMER_ARM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sUrsalunaBloodmoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_HEADLONG_RUSH), + LEVEL_UP_MOVE( 8, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(13, MOVE_PAYBACK), + LEVEL_UP_MOVE(17, MOVE_HARDEN), + LEVEL_UP_MOVE(22, MOVE_SLASH), + LEVEL_UP_MOVE(25, MOVE_PLAY_NICE), + LEVEL_UP_MOVE(35, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(41, MOVE_REST), + LEVEL_UP_MOVE(41, MOVE_SNORE), + LEVEL_UP_MOVE(48, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(56, MOVE_MOONBLAST), + LEVEL_UP_MOVE(64, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(70, MOVE_BLOOD_MOON), + LEVEL_UP_END +}; +#endif //P_GEN_8_CROSS_EVOS +#endif //P_FAMILY_TEDDIURSA + +#if P_FAMILY_SLUGMA +static const struct LevelUpMove sSlugmaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 6, MOVE_EMBER), + LEVEL_UP_MOVE( 8, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(13, MOVE_HARDEN), + LEVEL_UP_MOVE(20, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(22, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(27, MOVE_INCINERATE), + LEVEL_UP_MOVE(29, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(34, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(36, MOVE_AMNESIA), + LEVEL_UP_MOVE(41, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(43, MOVE_RECOVER), + LEVEL_UP_MOVE(48, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(50, MOVE_EARTH_POWER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMagcargoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(13, MOVE_HARDEN), + LEVEL_UP_MOVE(20, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(22, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(27, MOVE_INCINERATE), + LEVEL_UP_MOVE(29, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(34, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(36, MOVE_AMNESIA), + LEVEL_UP_MOVE(43, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(47, MOVE_RECOVER), + LEVEL_UP_MOVE(54, MOVE_FLAMETHROWER), + LEVEL_UP_END +}; +#endif //P_FAMILY_SLUGMA + +#if P_FAMILY_SWINUB +static const struct LevelUpMove sSwinubLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 5, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(10, MOVE_FLAIL), + LEVEL_UP_MOVE(15, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(20, MOVE_MIST), + LEVEL_UP_MOVE(25, MOVE_ENDURE), + LEVEL_UP_MOVE(30, MOVE_ICY_WIND), + LEVEL_UP_MOVE(35, MOVE_AMNESIA), + LEVEL_UP_MOVE(40, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(45, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(50, MOVE_BLIZZARD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPiloswineLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(15, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(20, MOVE_MIST), + LEVEL_UP_MOVE(25, MOVE_ENDURE), + LEVEL_UP_MOVE(30, MOVE_ICY_WIND), + LEVEL_UP_MOVE(37, MOVE_AMNESIA), + LEVEL_UP_MOVE(44, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(51, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(58, MOVE_BLIZZARD), + LEVEL_UP_MOVE(65, MOVE_THRASH), + LEVEL_UP_END +}; + +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sMamoswineLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE(15, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(20, MOVE_MIST), + LEVEL_UP_MOVE(25, MOVE_ENDURE), + LEVEL_UP_MOVE(30, MOVE_ICY_WIND), + LEVEL_UP_MOVE(37, MOVE_AMNESIA), + LEVEL_UP_MOVE(44, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(51, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(58, MOVE_BLIZZARD), + LEVEL_UP_MOVE(65, MOVE_THRASH), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS +#endif //P_FAMILY_SWINUB + +#if P_FAMILY_CORSOLA +static const struct LevelUpMove sCorsolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 5, MOVE_WATER_GUN), + LEVEL_UP_MOVE(10, MOVE_AQUA_RING), + LEVEL_UP_MOVE(15, MOVE_ENDURE), + LEVEL_UP_MOVE(20, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(25, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(30, MOVE_FLAIL), + LEVEL_UP_MOVE(35, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(40, MOVE_POWER_GEM), + LEVEL_UP_MOVE(45, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(50, MOVE_RECOVER), + LEVEL_UP_MOVE(55, MOVE_MIRROR_COAT), + LEVEL_UP_END +}; + +#if P_GALARIAN_FORMS +static const struct LevelUpMove sCorsolaGalarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 5, MOVE_ASTONISH), + LEVEL_UP_MOVE(10, MOVE_DISABLE), + LEVEL_UP_MOVE(15, MOVE_SPITE), + LEVEL_UP_MOVE(20, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(25, MOVE_HEX), + LEVEL_UP_MOVE(30, MOVE_CURSE), + LEVEL_UP_MOVE(35, MOVE_STRENGTH_SAP), + LEVEL_UP_MOVE(40, MOVE_POWER_GEM), + LEVEL_UP_MOVE(45, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(50, MOVE_GRUDGE), + LEVEL_UP_MOVE(55, MOVE_MIRROR_COAT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCursolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PERISH_SONG), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE(15, MOVE_SPITE), + LEVEL_UP_MOVE(20, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(25, MOVE_HEX), + LEVEL_UP_MOVE(30, MOVE_CURSE), + LEVEL_UP_MOVE(35, MOVE_STRENGTH_SAP), + LEVEL_UP_MOVE(40, MOVE_POWER_GEM), + LEVEL_UP_MOVE(45, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(50, MOVE_GRUDGE), + LEVEL_UP_MOVE(55, MOVE_MIRROR_COAT), + LEVEL_UP_END +}; +#endif //P_GALARIAN_FORMS +#endif //P_FAMILY_CORSOLA + +#if P_FAMILY_REMORAID +static const struct LevelUpMove sRemoraidLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 4, MOVE_WATER_PULSE), + LEVEL_UP_MOVE( 8, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(12, MOVE_PSYBEAM), + LEVEL_UP_MOVE(16, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(20, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(24, MOVE_LOCK_ON), + LEVEL_UP_MOVE(28, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(32, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(36, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(40, MOVE_SOAK), + LEVEL_UP_MOVE(44, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sOctilleryLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_OCTAZOOKA), + LEVEL_UP_MOVE( 1, MOVE_OCTAZOOKA), + LEVEL_UP_MOVE( 1, MOVE_GUNK_SHOT), + LEVEL_UP_MOVE( 1, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_WATER_PULSE), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(12, MOVE_PSYBEAM), + LEVEL_UP_MOVE(16, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(20, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(24, MOVE_LOCK_ON), + LEVEL_UP_MOVE(30, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(36, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(42, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(48, MOVE_SOAK), + LEVEL_UP_MOVE(54, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; +#endif //P_FAMILY_REMORAID + +#if P_FAMILY_DELIBIRD +static const struct LevelUpMove sDelibirdLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PRESENT), + LEVEL_UP_MOVE(25, MOVE_DRILL_PECK), + LEVEL_UP_END +}; +#endif //P_FAMILY_DELIBIRD + +#if P_FAMILY_MANTINE +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sMantykeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 4, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 8, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(12, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(16, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(20, MOVE_AGILITY), + LEVEL_UP_MOVE(24, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(28, MOVE_HEADBUTT), + LEVEL_UP_MOVE(32, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(36, MOVE_AQUA_RING), + LEVEL_UP_MOVE(40, MOVE_BOUNCE), + LEVEL_UP_MOVE(44, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(48, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS + +static const struct LevelUpMove sMantineLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PSYBEAM), + LEVEL_UP_MOVE( 1, MOVE_BULLET_SEED), + LEVEL_UP_MOVE( 1, MOVE_ROOST), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(12, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(16, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(20, MOVE_AGILITY), + LEVEL_UP_MOVE(24, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(28, MOVE_HEADBUTT), + LEVEL_UP_MOVE(32, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(36, MOVE_AQUA_RING), + LEVEL_UP_MOVE(40, MOVE_BOUNCE), + LEVEL_UP_MOVE(44, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(48, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; +#endif //P_FAMILY_MANTINE + +#if P_FAMILY_SKARMORY +static const struct LevelUpMove sSkarmoryLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 4, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 8, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(12, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(16, MOVE_AGILITY), + LEVEL_UP_MOVE(20, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(24, MOVE_SLASH), + LEVEL_UP_MOVE(28, MOVE_STEEL_WING), + LEVEL_UP_MOVE(32, MOVE_PAYBACK), + LEVEL_UP_MOVE(36, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(40, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(44, MOVE_SPIKES), + LEVEL_UP_MOVE(48, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(52, MOVE_BRAVE_BIRD), + LEVEL_UP_END +}; +#endif //P_FAMILY_SKARMORY + +#if P_FAMILY_HOUNDOUR +static const struct LevelUpMove sHoundourLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 4, MOVE_HOWL), + LEVEL_UP_MOVE( 8, MOVE_SMOG), + LEVEL_UP_MOVE(13, MOVE_ROAR), + LEVEL_UP_MOVE(16, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_INCINERATE), + LEVEL_UP_MOVE(25, MOVE_BEAT_UP), + LEVEL_UP_MOVE(28, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(32, MOVE_TORMENT), + LEVEL_UP_MOVE(37, MOVE_COMEUPPANCE), + LEVEL_UP_MOVE(40, MOVE_FOUL_PLAY), + LEVEL_UP_MOVE(44, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(49, MOVE_CRUNCH), + LEVEL_UP_MOVE(52, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(56, MOVE_INFERNO), + LEVEL_UP_END +}; + +static const struct LevelUpMove sHoundoomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE( 1, MOVE_HOWL), + LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(13, MOVE_ROAR), + LEVEL_UP_MOVE(16, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_INCINERATE), + LEVEL_UP_MOVE(26, MOVE_BEAT_UP), + LEVEL_UP_MOVE(30, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(35, MOVE_TORMENT), + LEVEL_UP_MOVE(41, MOVE_COMEUPPANCE), + LEVEL_UP_MOVE(45, MOVE_FOUL_PLAY), + LEVEL_UP_MOVE(50, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(56, MOVE_CRUNCH), + LEVEL_UP_MOVE(62, MOVE_INFERNO), + LEVEL_UP_END +}; +#endif //P_FAMILY_HOUNDOUR + +#if P_FAMILY_PHANPY +static const struct LevelUpMove sPhanpyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 6, MOVE_FLAIL), + LEVEL_UP_MOVE(10, MOVE_ROLLOUT), + LEVEL_UP_MOVE(15, MOVE_BULLDOZE), + LEVEL_UP_MOVE(19, MOVE_ENDURE), + LEVEL_UP_MOVE(24, MOVE_SLAM), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(33, MOVE_CHARM), + LEVEL_UP_MOVE(37, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(42, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDonphanLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_BULLDOZE), + LEVEL_UP_MOVE( 6, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(10, MOVE_ROLLOUT), + LEVEL_UP_MOVE(15, MOVE_ASSURANCE), + LEVEL_UP_MOVE(19, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(24, MOVE_SLAM), + LEVEL_UP_MOVE(30, MOVE_STOMPING_TANTRUM), + LEVEL_UP_MOVE(37, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(43, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(50, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; +#endif //P_FAMILY_PHANPY + +#if P_FAMILY_STANTLER +static const struct LevelUpMove sStantlerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 3, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_ASTONISH), + LEVEL_UP_MOVE(10, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(13, MOVE_STOMP), + LEVEL_UP_MOVE(16, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(21, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(23, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(27, MOVE_CALM_MIND), + LEVEL_UP_MOVE(32, MOVE_ROLE_PLAY), + LEVEL_UP_MOVE(37, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(49, MOVE_IMPRISON), + LEVEL_UP_MOVE(55, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +#if P_GEN_8_CROSS_EVOS +static const struct LevelUpMove sWyrdeerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_PSYSHIELD_BASH), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 3, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_ASTONISH), + LEVEL_UP_MOVE(10, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(13, MOVE_STOMP), + LEVEL_UP_MOVE(16, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(21, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(23, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(27, MOVE_CALM_MIND), + LEVEL_UP_MOVE(32, MOVE_ROLE_PLAY), + LEVEL_UP_MOVE(37, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(49, MOVE_IMPRISON), + LEVEL_UP_MOVE(55, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(62, MOVE_MEGAHORN), + LEVEL_UP_END +}; +#endif //P_GEN_8_CROSS_EVOS +#endif //P_FAMILY_STANTLER + +#if P_FAMILY_SMEARGLE +static const struct LevelUpMove sSmeargleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SKETCH), + LEVEL_UP_MOVE(11, MOVE_SKETCH), + LEVEL_UP_MOVE(21, MOVE_SKETCH), + LEVEL_UP_MOVE(31, MOVE_SKETCH), + LEVEL_UP_MOVE(41, MOVE_SKETCH), + LEVEL_UP_MOVE(51, MOVE_SKETCH), + LEVEL_UP_MOVE(61, MOVE_SKETCH), + LEVEL_UP_MOVE(71, MOVE_SKETCH), + LEVEL_UP_MOVE(81, MOVE_SKETCH), + LEVEL_UP_MOVE(91, MOVE_SKETCH), + LEVEL_UP_END +}; +#endif //P_FAMILY_SMEARGLE + +#if P_FAMILY_MILTANK +static const struct LevelUpMove sMiltankLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 5, MOVE_ROLLOUT), + LEVEL_UP_MOVE(10, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(15, MOVE_STOMP), + LEVEL_UP_MOVE(20, MOVE_HEAL_BELL), + LEVEL_UP_MOVE(25, MOVE_HEADBUTT), + LEVEL_UP_MOVE(30, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(35, MOVE_MILK_DRINK), + LEVEL_UP_MOVE(40, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(45, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(50, MOVE_CHARM), + LEVEL_UP_MOVE(55, MOVE_HIGH_HORSEPOWER), + LEVEL_UP_END +}; +#endif //P_FAMILY_MILTANK + +#if P_FAMILY_RAIKOU +static const struct LevelUpMove sRaikouLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_EXTREME_SPEED), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 6, MOVE_SPARK), + LEVEL_UP_MOVE(12, MOVE_BITE), + LEVEL_UP_MOVE(18, MOVE_CALM_MIND), + LEVEL_UP_MOVE(24, MOVE_ROAR), + LEVEL_UP_MOVE(30, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE(36, MOVE_HOWL), + LEVEL_UP_MOVE(42, MOVE_CRUNCH), + LEVEL_UP_MOVE(48, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(54, MOVE_DISCHARGE), + LEVEL_UP_MOVE(60, MOVE_REFLECT), + LEVEL_UP_MOVE(66, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(72, MOVE_THUNDER), + LEVEL_UP_MOVE(78, MOVE_ZAP_CANNON), + LEVEL_UP_END +}; +#endif //P_FAMILY_RAIKOU + +#if P_FAMILY_ENTEI +static const struct LevelUpMove sEnteiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SACRED_FIRE), + LEVEL_UP_MOVE( 1, MOVE_EXTREME_SPEED), + LEVEL_UP_MOVE( 1, MOVE_STOMP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 6, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(12, MOVE_BITE), + LEVEL_UP_MOVE(18, MOVE_CALM_MIND), + LEVEL_UP_MOVE(24, MOVE_ROAR), + LEVEL_UP_MOVE(30, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(36, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(42, MOVE_CRUNCH), + LEVEL_UP_MOVE(48, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(54, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(60, MOVE_SWAGGER), + LEVEL_UP_MOVE(66, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(72, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(78, MOVE_ERUPTION), + LEVEL_UP_END +}; +#endif //P_FAMILY_ENTEI + +#if P_FAMILY_SUICUNE +static const struct LevelUpMove sSuicuneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EXTREME_SPEED), + LEVEL_UP_MOVE( 1, MOVE_SHEER_COLD), + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_MIST), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 6, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(12, MOVE_BITE), + LEVEL_UP_MOVE(18, MOVE_CALM_MIND), + LEVEL_UP_MOVE(24, MOVE_ROAR), + LEVEL_UP_MOVE(30, MOVE_ICE_FANG), + LEVEL_UP_MOVE(36, MOVE_TAILWIND), + LEVEL_UP_MOVE(42, MOVE_CRUNCH), + LEVEL_UP_MOVE(48, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(54, MOVE_SURF), + LEVEL_UP_MOVE(60, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE(66, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(72, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(78, MOVE_BLIZZARD), + LEVEL_UP_END +}; +#endif //P_FAMILY_SUICUNE + +#if P_FAMILY_LARVITAR +static const struct LevelUpMove sLarvitarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 3, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 6, MOVE_PAYBACK), + LEVEL_UP_MOVE( 9, MOVE_BITE), + LEVEL_UP_MOVE(12, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(15, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(18, MOVE_STOMPING_TANTRUM), + LEVEL_UP_MOVE(21, MOVE_SCREECH), + LEVEL_UP_MOVE(24, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(27, MOVE_CRUNCH), + LEVEL_UP_MOVE(31, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(33, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(36, MOVE_THRASH), + LEVEL_UP_MOVE(39, MOVE_SANDSTORM), + LEVEL_UP_MOVE(42, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPupitarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_PAYBACK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 9, MOVE_BITE), + LEVEL_UP_MOVE(12, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(15, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(18, MOVE_STOMPING_TANTRUM), + LEVEL_UP_MOVE(21, MOVE_SCREECH), + LEVEL_UP_MOVE(24, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(27, MOVE_CRUNCH), + LEVEL_UP_MOVE(33, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(37, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(42, MOVE_THRASH), + LEVEL_UP_MOVE(47, MOVE_SANDSTORM), + LEVEL_UP_MOVE(52, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sTyranitarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE( 1, MOVE_DARK_PULSE), + LEVEL_UP_MOVE( 1, MOVE_PAYBACK), + LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 9, MOVE_BITE), + LEVEL_UP_MOVE(12, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(15, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(18, MOVE_STOMPING_TANTRUM), + LEVEL_UP_MOVE(21, MOVE_SCREECH), + LEVEL_UP_MOVE(24, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(27, MOVE_CRUNCH), + LEVEL_UP_MOVE(33, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(37, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(42, MOVE_THRASH), + LEVEL_UP_MOVE(47, MOVE_SANDSTORM), + LEVEL_UP_MOVE(52, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(59, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; +#endif //P_FAMILY_LARVITAR + +#if P_FAMILY_LUGIA +static const struct LevelUpMove sLugiaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DRAGON_RUSH), + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_WEATHER_BALL), + LEVEL_UP_MOVE( 9, MOVE_MIST), + LEVEL_UP_MOVE(18, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(27, MOVE_CALM_MIND), + LEVEL_UP_MOVE(36, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(45, MOVE_RECOVER), + LEVEL_UP_MOVE(54, MOVE_AEROBLAST), + LEVEL_UP_MOVE(63, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(72, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(81, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(90, MOVE_SKY_ATTACK), + LEVEL_UP_END +}; +#endif //P_FAMILY_LUGIA + +#if P_FAMILY_HO_OH +static const struct LevelUpMove sHoOhLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_WEATHER_BALL), + LEVEL_UP_MOVE( 9, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(18, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(27, MOVE_CALM_MIND), + LEVEL_UP_MOVE(36, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(45, MOVE_RECOVER), + LEVEL_UP_MOVE(54, MOVE_SACRED_FIRE), + LEVEL_UP_MOVE(63, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(72, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(81, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(90, MOVE_SKY_ATTACK), + LEVEL_UP_MOVE(99, MOVE_OVERHEAT), + LEVEL_UP_END +}; +#endif //P_FAMILY_HO_OH + +#if P_FAMILY_CELEBI +static const struct LevelUpMove sCelebiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_HEAL_BELL), + LEVEL_UP_MOVE(10, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(20, MOVE_BATON_PASS), + LEVEL_UP_MOVE(30, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(40, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(50, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(60, MOVE_RECOVER), + LEVEL_UP_MOVE(70, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(80, MOVE_HEALING_WISH), + LEVEL_UP_MOVE(90, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(100, MOVE_PERISH_SONG), + LEVEL_UP_END +}; +#endif //P_FAMILY_CELEBI + +#if P_FAMILY_TREECKO +static const struct LevelUpMove sTreeckoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 3, MOVE_LEAFAGE), + LEVEL_UP_MOVE( 6, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(12, MOVE_DETECT), + LEVEL_UP_MOVE(15, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(18, MOVE_ASSURANCE), + LEVEL_UP_MOVE(21, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(24, MOVE_SLAM), + LEVEL_UP_MOVE(27, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(30, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(33, MOVE_SCREECH), + LEVEL_UP_MOVE(36, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(39, MOVE_LEAF_STORM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGrovyleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_X_SCISSOR), + LEVEL_UP_MOVE( 1, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), + LEVEL_UP_MOVE( 9, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(12, MOVE_DETECT), + LEVEL_UP_MOVE(15, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(20, MOVE_ASSURANCE), + LEVEL_UP_MOVE(25, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(30, MOVE_SLAM), + LEVEL_UP_MOVE(35, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(40, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(45, MOVE_SCREECH), + LEVEL_UP_MOVE(50, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(55, MOVE_LEAF_STORM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSceptileLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE( 1, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_X_SCISSOR), + LEVEL_UP_MOVE( 1, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE( 1, MOVE_SHED_TAIL), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), + LEVEL_UP_MOVE( 5, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(12, MOVE_DETECT), + LEVEL_UP_MOVE(15, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(20, MOVE_ASSURANCE), + LEVEL_UP_MOVE(25, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(30, MOVE_SLAM), + LEVEL_UP_MOVE(35, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(42, MOVE_SCREECH), + LEVEL_UP_MOVE(49, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(56, MOVE_LEAF_STORM), + LEVEL_UP_END +}; +#endif //P_FAMILY_TREECKO + +#if P_FAMILY_TORCHIC +static const struct LevelUpMove sTorchicLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 3, MOVE_EMBER), + LEVEL_UP_MOVE( 6, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(12, MOVE_DETECT), + LEVEL_UP_MOVE(15, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(18, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(21, MOVE_SLASH), + LEVEL_UP_MOVE(24, MOVE_BOUNCE), + LEVEL_UP_MOVE(27, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(30, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(33, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(36, MOVE_REVERSAL), + LEVEL_UP_MOVE(39, MOVE_FLARE_BLITZ), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCombuskenLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE( 1, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(12, MOVE_DETECT), + LEVEL_UP_MOVE(15, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(20, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(25, MOVE_SLASH), + LEVEL_UP_MOVE(30, MOVE_BOUNCE), + LEVEL_UP_MOVE(35, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(40, MOVE_BLAZE_KICK), + LEVEL_UP_MOVE(45, MOVE_BULK_UP), + LEVEL_UP_MOVE(50, MOVE_REVERSAL), + LEVEL_UP_MOVE(55, MOVE_FLARE_BLITZ), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBlazikenLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_BLAZE_KICK), + LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE( 1, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(12, MOVE_DETECT), + LEVEL_UP_MOVE(15, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(20, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(25, MOVE_SLASH), + LEVEL_UP_MOVE(30, MOVE_BOUNCE), + LEVEL_UP_MOVE(35, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(42, MOVE_BULK_UP), + LEVEL_UP_MOVE(49, MOVE_REVERSAL), + LEVEL_UP_MOVE(56, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE(63, MOVE_BRAVE_BIRD), + LEVEL_UP_END +}; +#endif //P_FAMILY_TORCHIC + +#if P_FAMILY_MUDKIP +static const struct LevelUpMove sMudkipLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 3, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 6, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 9, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(12, MOVE_PROTECT), + LEVEL_UP_MOVE(15, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(18, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(21, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(24, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(27, MOVE_AMNESIA), + LEVEL_UP_MOVE(30, MOVE_SURF), + LEVEL_UP_MOVE(33, MOVE_SCREECH), + LEVEL_UP_MOVE(36, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(39, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMarshtompLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_MUD_SHOT), + LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 9, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(12, MOVE_PROTECT), + LEVEL_UP_MOVE(15, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(20, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(25, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(30, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(35, MOVE_AMNESIA), + LEVEL_UP_MOVE(40, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(45, MOVE_SCREECH), + LEVEL_UP_MOVE(50, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(55, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSwampertLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SURF), + LEVEL_UP_MOVE( 1, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), + LEVEL_UP_MOVE( 9, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(12, MOVE_PROTECT), + LEVEL_UP_MOVE(15, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(20, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(25, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(30, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(35, MOVE_AMNESIA), + LEVEL_UP_MOVE(42, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(49, MOVE_SCREECH), + LEVEL_UP_MOVE(56, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(63, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; +#endif //P_FAMILY_MUDKIP + +#if P_FAMILY_POOCHYENA +static const struct LevelUpMove sPoochyenaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_HOWL), + LEVEL_UP_MOVE( 7, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(10, MOVE_BITE), + LEVEL_UP_MOVE(13, MOVE_LEER), + LEVEL_UP_MOVE(16, MOVE_ROAR), + LEVEL_UP_MOVE(19, MOVE_SWAGGER), + LEVEL_UP_MOVE(22, MOVE_ASSURANCE), + LEVEL_UP_MOVE(25, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(28, MOVE_TAUNT), + LEVEL_UP_MOVE(31, MOVE_CRUNCH), + LEVEL_UP_MOVE(34, MOVE_YAWN), + LEVEL_UP_MOVE(36, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(40, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(44, MOVE_PLAY_ROUGH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMightyenaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SNARL), + LEVEL_UP_MOVE( 1, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE( 1, MOVE_THIEF), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE(13, MOVE_HOWL), + LEVEL_UP_MOVE(13, MOVE_LEER), + LEVEL_UP_MOVE(16, MOVE_ROAR), + LEVEL_UP_MOVE(20, MOVE_SWAGGER), + LEVEL_UP_MOVE(24, MOVE_ASSURANCE), + LEVEL_UP_MOVE(28, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(36, MOVE_TAUNT), + LEVEL_UP_MOVE(44, MOVE_YAWN), + LEVEL_UP_MOVE(48, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(52, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(56, MOVE_PLAY_ROUGH), + LEVEL_UP_END +}; +#endif //P_FAMILY_POOCHYENA + +#if P_FAMILY_ZIGZAGOON +static const struct LevelUpMove sZigzagoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 3, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 9, MOVE_COVET), + LEVEL_UP_MOVE(12, MOVE_HEADBUTT), + LEVEL_UP_MOVE(15, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(18, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(21, MOVE_REST), + LEVEL_UP_MOVE(24, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(27, MOVE_FLING), + LEVEL_UP_MOVE(30, MOVE_FLAIL), + LEVEL_UP_MOVE(33, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(36, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLinooneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), + LEVEL_UP_MOVE( 1, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE( 1, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 9, MOVE_COVET), + LEVEL_UP_MOVE(12, MOVE_HEADBUTT), + LEVEL_UP_MOVE(15, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(18, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(23, MOVE_REST), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(33, MOVE_FLING), + LEVEL_UP_MOVE(38, MOVE_FLAIL), + LEVEL_UP_MOVE(43, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(48, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +#if P_GALARIAN_FORMS +static const struct LevelUpMove sZigzagoonGalarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 3, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 6, MOVE_LICK), + LEVEL_UP_MOVE( 9, MOVE_SNARL), + LEVEL_UP_MOVE(12, MOVE_HEADBUTT), + LEVEL_UP_MOVE(15, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(18, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(21, MOVE_REST), + LEVEL_UP_MOVE(24, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(27, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(30, MOVE_COUNTER), + LEVEL_UP_MOVE(33, MOVE_TAUNT), + LEVEL_UP_MOVE(36, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLinooneGalarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), + LEVEL_UP_MOVE( 1, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE( 1, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 9, MOVE_SNARL), + LEVEL_UP_MOVE(12, MOVE_HEADBUTT), + LEVEL_UP_MOVE(15, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(18, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(23, MOVE_REST), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(33, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(38, MOVE_COUNTER), + LEVEL_UP_MOVE(43, MOVE_TAUNT), + LEVEL_UP_MOVE(48, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sObstagoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_OBSTRUCT), + LEVEL_UP_MOVE( 1, MOVE_OBSTRUCT), + LEVEL_UP_MOVE( 1, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE( 1, MOVE_SUBMISSION), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), + LEVEL_UP_MOVE( 1, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE( 1, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 9, MOVE_SNARL), + LEVEL_UP_MOVE(12, MOVE_HEADBUTT), + LEVEL_UP_MOVE(15, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(18, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(23, MOVE_REST), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(35, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(42, MOVE_COUNTER), + LEVEL_UP_MOVE(49, MOVE_TAUNT), + LEVEL_UP_MOVE(56, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; +#endif //P_GALARIAN_FORMS +#endif //P_FAMILY_ZIGZAGOON + +#if P_FAMILY_WURMPLE +static const struct LevelUpMove sWurmpleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 5, MOVE_POISON_STING), + LEVEL_UP_MOVE(15, MOVE_BUG_BITE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSilcoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBeautiflyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE(12, MOVE_ABSORB), + LEVEL_UP_MOVE(15, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(17, MOVE_MORNING_SUN), + LEVEL_UP_MOVE(20, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(22, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(25, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(27, MOVE_ATTRACT), + LEVEL_UP_MOVE(30, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(32, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(35, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(37, MOVE_PROTECT), + LEVEL_UP_MOVE(40, MOVE_QUIVER_DANCE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCascoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDustoxLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE(12, MOVE_CONFUSION), + LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(17, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(20, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(22, MOVE_PSYBEAM), + LEVEL_UP_MOVE(25, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(27, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(30, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(32, MOVE_TOXIC), + LEVEL_UP_MOVE(35, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(37, MOVE_PROTECT), + LEVEL_UP_MOVE(40, MOVE_QUIVER_DANCE), + LEVEL_UP_END +}; +#endif //P_FAMILY_WURMPLE + +#if P_FAMILY_LOTAD +static const struct LevelUpMove sLotadLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 3, MOVE_ABSORB), + LEVEL_UP_MOVE( 6, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 9, MOVE_MIST), + LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(16, MOVE_FLAIL), + LEVEL_UP_MOVE(20, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(24, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(28, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(33, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(38, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(43, MOVE_ENERGY_BALL), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLombreLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_TEETER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 9, MOVE_MIST), + LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(18, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(24, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(30, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(36, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(50, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(57, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(64, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLudicoloLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_MIST), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE( 1, MOVE_TEETER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE( 1, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), + LEVEL_UP_END +}; +#endif //P_FAMILY_LOTAD + +#if P_FAMILY_SEEDOT +static const struct LevelUpMove sSeedotLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 3, MOVE_ABSORB), + LEVEL_UP_MOVE( 6, MOVE_ASTONISH), + LEVEL_UP_MOVE( 9, MOVE_GROWTH), + LEVEL_UP_MOVE(12, MOVE_ROLLOUT), + LEVEL_UP_MOVE(15, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(18, MOVE_PAYBACK), + LEVEL_UP_MOVE(21, MOVE_HEADBUTT), + LEVEL_UP_MOVE(24, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(27, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(30, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(33, MOVE_EXPLOSION), + LEVEL_UP_END +}; + +static const struct LevelUpMove sNuzleafLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), + LEVEL_UP_MOVE( 1, MOVE_SWAGGER), + LEVEL_UP_MOVE( 1, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_TORMENT), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 9, MOVE_GROWTH), + LEVEL_UP_MOVE(12, MOVE_ROLLOUT), + LEVEL_UP_MOVE(18, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(24, MOVE_PAYBACK), + LEVEL_UP_MOVE(30, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(36, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(43, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(50, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(57, MOVE_LEAF_BLADE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sShiftryLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_SWAGGER), + LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 1, MOVE_BEAT_UP), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_TORMENT), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_PAYBACK), + LEVEL_UP_MOVE( 1, MOVE_HURRICANE), + LEVEL_UP_END +}; +#endif //P_FAMILY_SEEDOT + +#if P_FAMILY_TAILLOW +static const struct LevelUpMove sTaillowLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 5, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 9, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(17, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(21, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(25, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(29, MOVE_AGILITY), + LEVEL_UP_MOVE(33, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(37, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(41, MOVE_BRAVE_BIRD), + LEVEL_UP_MOVE(45, MOVE_REVERSAL), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSwellowLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BRAVE_BIRD), + LEVEL_UP_MOVE( 1, MOVE_AIR_SLASH), + LEVEL_UP_MOVE( 1, MOVE_PLUCK), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 5, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 9, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(17, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(21, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(27, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(33, MOVE_AGILITY), + LEVEL_UP_MOVE(39, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(45, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(51, MOVE_BRAVE_BIRD), + LEVEL_UP_MOVE(57, MOVE_REVERSAL), + LEVEL_UP_END +}; +#endif //P_FAMILY_TAILLOW + +#if P_FAMILY_WINGULL +static const struct LevelUpMove sWingullLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 5, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(10, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(15, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(20, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(26, MOVE_AGILITY), + LEVEL_UP_MOVE(30, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(35, MOVE_MIST), + LEVEL_UP_MOVE(40, MOVE_ROOST), + LEVEL_UP_MOVE(45, MOVE_HURRICANE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPelipperLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_AIR_SLASH), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_TAILWIND), + LEVEL_UP_MOVE( 1, MOVE_AGILITY), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_SOAK), + LEVEL_UP_MOVE(15, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(20, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(28, MOVE_STOCKPILE), + LEVEL_UP_MOVE(28, MOVE_SPIT_UP), + LEVEL_UP_MOVE(28, MOVE_SWALLOW), + LEVEL_UP_MOVE(34, MOVE_FLING), + LEVEL_UP_MOVE(41, MOVE_MIST), + LEVEL_UP_MOVE(48, MOVE_ROOST), + LEVEL_UP_MOVE(55, MOVE_HURRICANE), + LEVEL_UP_MOVE(62, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; +#endif //P_FAMILY_WINGULL + +#if P_FAMILY_RALTS +static const struct LevelUpMove sRaltsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 3, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 6, MOVE_CONFUSION), + LEVEL_UP_MOVE( 9, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(12, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(15, MOVE_TELEPORT), + LEVEL_UP_MOVE(18, MOVE_PSYBEAM), + LEVEL_UP_MOVE(21, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(24, MOVE_CHARM), + LEVEL_UP_MOVE(27, MOVE_CALM_MIND), + LEVEL_UP_MOVE(30, MOVE_PSYCHIC), + LEVEL_UP_MOVE(33, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(36, MOVE_DREAM_EATER), + LEVEL_UP_MOVE(39, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sKirliaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 9, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(12, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(15, MOVE_TELEPORT), + LEVEL_UP_MOVE(18, MOVE_PSYBEAM), + LEVEL_UP_MOVE(23, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(28, MOVE_CHARM), + LEVEL_UP_MOVE(33, MOVE_CALM_MIND), + LEVEL_UP_MOVE(38, MOVE_PSYCHIC), + LEVEL_UP_MOVE(43, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(48, MOVE_DREAM_EATER), + LEVEL_UP_MOVE(53, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGardevoirLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_MYSTICAL_FIRE), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_MISTY_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 1, MOVE_HEALING_WISH), + LEVEL_UP_MOVE( 1, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE( 9, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(12, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(15, MOVE_TELEPORT), + LEVEL_UP_MOVE(18, MOVE_PSYBEAM), + LEVEL_UP_MOVE(23, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(28, MOVE_WISH), + LEVEL_UP_MOVE(35, MOVE_CALM_MIND), + LEVEL_UP_MOVE(42, MOVE_PSYCHIC), + LEVEL_UP_MOVE(49, MOVE_MOONBLAST), + LEVEL_UP_MOVE(56, MOVE_DREAM_EATER), + LEVEL_UP_MOVE(63, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; + +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sGalladeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_IMPRISON), + LEVEL_UP_MOVE( 1, MOVE_LIFE_DEW), + LEVEL_UP_MOVE( 1, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_SACRED_SWORD), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 1, MOVE_CALM_MIND), + LEVEL_UP_MOVE( 1, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_PSYCHIC), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_PSYBEAM), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_DREAM_EATER), + LEVEL_UP_MOVE( 1, MOVE_AQUA_CUTTER), + LEVEL_UP_MOVE( 9, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(12, MOVE_FEINT), + LEVEL_UP_MOVE(15, MOVE_TELEPORT), + LEVEL_UP_MOVE(18, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(23, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(28, MOVE_PROTECT), + LEVEL_UP_MOVE(35, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(42, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE(49, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(56, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(56, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(63, MOVE_CLOSE_COMBAT), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS +#endif //P_FAMILY_RALTS + +#if P_FAMILY_SURSKIT +static const struct LevelUpMove sSurskitLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 6, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(14, MOVE_SOAK), + LEVEL_UP_MOVE(17, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(22, MOVE_AGILITY), + LEVEL_UP_MOVE(25, MOVE_MIST), + LEVEL_UP_MOVE(25, MOVE_HAZE), + LEVEL_UP_MOVE(35, MOVE_BATON_PASS), + LEVEL_UP_MOVE(38, MOVE_STICKY_WEB), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMasquerainLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_SOAK), + LEVEL_UP_MOVE(17, MOVE_GUST), + LEVEL_UP_MOVE(22, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(22, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(26, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(32, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(38, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(44, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(52, MOVE_QUIVER_DANCE), + LEVEL_UP_END +}; +#endif //P_FAMILY_SURSKIT + +#if P_FAMILY_SHROOMISH +static const struct LevelUpMove sShroomishLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 5, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 8, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(15, MOVE_HEADBUTT), + LEVEL_UP_MOVE(19, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(26, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(29, MOVE_GROWTH), + LEVEL_UP_MOVE(33, MOVE_TOXIC), + LEVEL_UP_MOVE(36, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(40, MOVE_SPORE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBreloomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_MACH_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_SPORE), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 1, MOVE_TOXIC), + LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(15, MOVE_HEADBUTT), + LEVEL_UP_MOVE(19, MOVE_FEINT), + LEVEL_UP_MOVE(22, MOVE_COUNTER), + LEVEL_UP_MOVE(28, MOVE_FORCE_PALM), + LEVEL_UP_MOVE(33, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(39, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(44, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(50, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_MOVE(55, MOVE_FOCUS_PUNCH), + LEVEL_UP_END +}; +#endif //P_FAMILY_SHROOMISH + +#if P_FAMILY_SLAKOTH +static const struct LevelUpMove sSlakothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 6, MOVE_ENCORE), + LEVEL_UP_MOVE( 9, MOVE_SLACK_OFF), + LEVEL_UP_MOVE(14, MOVE_HEADBUTT), + LEVEL_UP_MOVE(17, MOVE_AMNESIA), + LEVEL_UP_MOVE(22, MOVE_COVET), + LEVEL_UP_MOVE(25, MOVE_THROAT_CHOP), + LEVEL_UP_MOVE(30, MOVE_COUNTER), + LEVEL_UP_MOVE(33, MOVE_FLAIL), + LEVEL_UP_MOVE(38, MOVE_PLAY_ROUGH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sVigorothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), + LEVEL_UP_MOVE( 1, MOVE_UPROAR), + LEVEL_UP_MOVE(14, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(17, MOVE_ENDURE), + LEVEL_UP_MOVE(23, MOVE_SLASH), + LEVEL_UP_MOVE(27, MOVE_THROAT_CHOP), + LEVEL_UP_MOVE(33, MOVE_COUNTER), + LEVEL_UP_MOVE(37, MOVE_FOCUS_PUNCH), + LEVEL_UP_MOVE(43, MOVE_REVERSAL), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSlakingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SWAGGER), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_SLACK_OFF), + LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(17, MOVE_AMNESIA), + LEVEL_UP_MOVE(23, MOVE_COVET), + LEVEL_UP_MOVE(27, MOVE_THROAT_CHOP), + LEVEL_UP_MOVE(33, MOVE_COUNTER), + LEVEL_UP_MOVE(39, MOVE_FLAIL), + LEVEL_UP_MOVE(45, MOVE_FLING), + LEVEL_UP_MOVE(52, MOVE_MEGA_KICK), + LEVEL_UP_MOVE(63, MOVE_HAMMER_ARM), + LEVEL_UP_END +}; +#endif //P_FAMILY_SLAKOTH + +#if P_FAMILY_NINCADA +static const struct LevelUpMove sNincadaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 5, MOVE_HARDEN), + LEVEL_UP_MOVE(10, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(15, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(21, MOVE_ABSORB), + LEVEL_UP_MOVE(25, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(30, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(35, MOVE_MIND_READER), + LEVEL_UP_MOVE(40, MOVE_DIG), + LEVEL_UP_END +}; + +static const struct LevelUpMove sNinjaskLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SCREECH), + LEVEL_UP_MOVE( 0, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_SCREECH), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_BATON_PASS), + LEVEL_UP_MOVE( 1, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_DIG), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(15, MOVE_AGILITY), + LEVEL_UP_MOVE(23, MOVE_ABSORB), + LEVEL_UP_MOVE(29, MOVE_BUG_BITE), + LEVEL_UP_MOVE(36, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(43, MOVE_MIND_READER), + LEVEL_UP_MOVE(50, MOVE_SLASH), + LEVEL_UP_MOVE(57, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(64, MOVE_X_SCISSOR), + LEVEL_UP_END +}; + +static const struct LevelUpMove sShedinjaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_GRUDGE), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_DIG), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(15, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(23, MOVE_ABSORB), + LEVEL_UP_MOVE(29, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE(36, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(43, MOVE_MIND_READER), + LEVEL_UP_MOVE(50, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(57, MOVE_SPITE), + LEVEL_UP_MOVE(64, MOVE_PHANTOM_FORCE), + LEVEL_UP_END +}; +#endif //P_FAMILY_NINCADA + +#if P_FAMILY_WHISMUR +static const struct LevelUpMove sWhismurLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 5, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE(10, MOVE_HOWL), + LEVEL_UP_MOVE(15, MOVE_REST), + LEVEL_UP_MOVE(15, MOVE_SLEEP_TALK), + LEVEL_UP_MOVE(21, MOVE_STOMP), + LEVEL_UP_MOVE(25, MOVE_ROAR), + LEVEL_UP_MOVE(30, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(35, MOVE_UPROAR), + LEVEL_UP_MOVE(40, MOVE_SCREECH), + LEVEL_UP_MOVE(45, MOVE_HYPER_VOICE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLoudredLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 1, MOVE_HOWL), + LEVEL_UP_MOVE(15, MOVE_REST), + LEVEL_UP_MOVE(15, MOVE_SLEEP_TALK), + LEVEL_UP_MOVE(23, MOVE_STOMP), + LEVEL_UP_MOVE(29, MOVE_ROAR), + LEVEL_UP_MOVE(36, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(43, MOVE_UPROAR), + LEVEL_UP_MOVE(50, MOVE_SCREECH), + LEVEL_UP_MOVE(57, MOVE_HYPER_VOICE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sExploudLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 1, MOVE_HOWL), + LEVEL_UP_MOVE(15, MOVE_REST), + LEVEL_UP_MOVE(15, MOVE_SLEEP_TALK), + LEVEL_UP_MOVE(23, MOVE_STOMP), + LEVEL_UP_MOVE(29, MOVE_ROAR), + LEVEL_UP_MOVE(36, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(45, MOVE_UPROAR), + LEVEL_UP_MOVE(54, MOVE_SCREECH), + LEVEL_UP_MOVE(63, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(72, MOVE_BOOMBURST), + LEVEL_UP_MOVE(81, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; +#endif //P_FAMILY_WHISMUR + +#if P_FAMILY_MAKUHITA +static const struct LevelUpMove sMakuhitaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 4, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 7, MOVE_ARM_THRUST), + LEVEL_UP_MOVE(10, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(13, MOVE_FORCE_PALM), + LEVEL_UP_MOVE(16, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(19, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(22, MOVE_BULK_UP), + LEVEL_UP_MOVE(25, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(28, MOVE_DETECT), + LEVEL_UP_MOVE(31, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(34, MOVE_FOCUS_PUNCH), + LEVEL_UP_MOVE(37, MOVE_ENDURE), + LEVEL_UP_MOVE(40, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(43, MOVE_REVERSAL), + LEVEL_UP_MOVE(46, MOVE_HEAVY_SLAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sHariyamaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_BRINE), + LEVEL_UP_MOVE( 1, MOVE_ARM_THRUST), + LEVEL_UP_MOVE(10, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(13, MOVE_FORCE_PALM), + LEVEL_UP_MOVE(16, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(19, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(22, MOVE_BULK_UP), + LEVEL_UP_MOVE(26, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(30, MOVE_DETECT), + LEVEL_UP_MOVE(34, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(38, MOVE_FOCUS_PUNCH), + LEVEL_UP_MOVE(42, MOVE_ENDURE), + LEVEL_UP_MOVE(46, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(50, MOVE_REVERSAL), + LEVEL_UP_MOVE(54, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(60, MOVE_HEADLONG_RUSH), + LEVEL_UP_END +}; +#endif //P_FAMILY_MAKUHITA + +#if P_FAMILY_NOSEPASS +static const struct LevelUpMove sNosepassLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_BLOCK), + LEVEL_UP_MOVE(10, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(13, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(16, MOVE_REST), + LEVEL_UP_MOVE(19, MOVE_SPARK), + LEVEL_UP_MOVE(22, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(25, MOVE_POWER_GEM), + LEVEL_UP_MOVE(28, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(31, MOVE_DISCHARGE), + LEVEL_UP_MOVE(34, MOVE_SANDSTORM), + LEVEL_UP_MOVE(37, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(40, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(43, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(43, MOVE_LOCK_ON), + LEVEL_UP_END +}; + +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sProbopassLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_MAGNETIC_FLUX), + LEVEL_UP_MOVE( 1, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE( 1, MOVE_GRAVITY), + LEVEL_UP_MOVE( 1, MOVE_BLOCK), + LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE(13, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(16, MOVE_REST), + LEVEL_UP_MOVE(19, MOVE_SPARK), + LEVEL_UP_MOVE(22, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(25, MOVE_POWER_GEM), + LEVEL_UP_MOVE(28, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(31, MOVE_DISCHARGE), + LEVEL_UP_MOVE(34, MOVE_SANDSTORM), + LEVEL_UP_MOVE(37, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(40, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(43, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(43, MOVE_LOCK_ON), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS +#endif //P_FAMILY_NOSEPASS + +#if P_FAMILY_SKITTY +static const struct LevelUpMove sSkittyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 4, MOVE_TACKLE), + LEVEL_UP_MOVE( 7, MOVE_SING), + LEVEL_UP_MOVE(10, MOVE_ATTRACT), + LEVEL_UP_MOVE(13, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE(16, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(19, MOVE_COPYCAT), + LEVEL_UP_MOVE(22, MOVE_PAYBACK), + LEVEL_UP_MOVE(25, MOVE_CHARM), + LEVEL_UP_MOVE(31, MOVE_FACADE), + LEVEL_UP_MOVE(34, MOVE_COVET), + LEVEL_UP_MOVE(37, MOVE_HEAL_BELL), + LEVEL_UP_MOVE(40, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(43, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(46, MOVE_PLAY_ROUGH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDelcattyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_ATTRACT), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 1, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 1, MOVE_PAYBACK), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_FACADE), + LEVEL_UP_MOVE( 1, MOVE_COVET), + LEVEL_UP_MOVE( 1, MOVE_HEAL_BELL), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE( 1, MOVE_PLAY_ROUGH), + LEVEL_UP_END +}; +#endif //P_FAMILY_SKITTY + +#if P_FAMILY_SABLEYE +static const struct LevelUpMove sSableyeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 3, MOVE_ASTONISH), + LEVEL_UP_MOVE( 9, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE(12, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(15, MOVE_DISABLE), + LEVEL_UP_MOVE(18, MOVE_DETECT), + LEVEL_UP_MOVE(21, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(24, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(27, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(30, MOVE_QUASH), + LEVEL_UP_MOVE(33, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE(36, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(39, MOVE_POWER_GEM), + LEVEL_UP_MOVE(42, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(45, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(48, MOVE_FOUL_PLAY), + LEVEL_UP_END +}; +#endif //P_FAMILY_SABLEYE + +#if P_FAMILY_MAWILE +static const struct LevelUpMove sMawileLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 4, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE( 8, MOVE_BATON_PASS), + LEVEL_UP_MOVE(12, MOVE_BITE), + LEVEL_UP_MOVE(16, MOVE_STOCKPILE), + LEVEL_UP_MOVE(16, MOVE_SWALLOW), + LEVEL_UP_MOVE(16, MOVE_SPIT_UP), + LEVEL_UP_MOVE(20, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(24, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(28, MOVE_CRUNCH), + LEVEL_UP_MOVE(32, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(36, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(40, MOVE_TAUNT), + LEVEL_UP_MOVE(44, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(48, MOVE_PLAY_ROUGH), + LEVEL_UP_END +}; +#endif //P_FAMILY_MAWILE + +#if P_FAMILY_ARON +static const struct LevelUpMove sAronLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 4, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 8, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(12, MOVE_ROAR), + LEVEL_UP_MOVE(16, MOVE_HEADBUTT), + LEVEL_UP_MOVE(20, MOVE_PROTECT), + LEVEL_UP_MOVE(24, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(28, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(33, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(36, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(40, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE(44, MOVE_IRON_TAIL), + LEVEL_UP_MOVE(48, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(52, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(56, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(60, MOVE_METAL_BURST), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLaironLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(12, MOVE_ROAR), + LEVEL_UP_MOVE(16, MOVE_HEADBUTT), + LEVEL_UP_MOVE(20, MOVE_PROTECT), + LEVEL_UP_MOVE(24, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(28, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(35, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(40, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(46, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE(52, MOVE_IRON_TAIL), + LEVEL_UP_MOVE(58, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(64, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(70, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(76, MOVE_METAL_BURST), + LEVEL_UP_END +}; + +static const struct LevelUpMove sAggronLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(12, MOVE_ROAR), + LEVEL_UP_MOVE(16, MOVE_HEADBUTT), + LEVEL_UP_MOVE(20, MOVE_PROTECT), + LEVEL_UP_MOVE(24, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(28, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(35, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(40, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(48, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE(56, MOVE_IRON_TAIL), + LEVEL_UP_MOVE(64, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(72, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(80, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(88, MOVE_METAL_BURST), + LEVEL_UP_END +}; +#endif //P_FAMILY_ARON + +#if P_FAMILY_MEDITITE +static const struct LevelUpMove sMedititeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_WORK_UP), + LEVEL_UP_MOVE( 9, MOVE_DETECT), + LEVEL_UP_MOVE(12, MOVE_ENDURE), + LEVEL_UP_MOVE(15, MOVE_FEINT), + LEVEL_UP_MOVE(17, MOVE_FORCE_PALM), + LEVEL_UP_MOVE(20, MOVE_PSYBEAM), + LEVEL_UP_MOVE(23, MOVE_CALM_MIND), + LEVEL_UP_MOVE(25, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_HIGH_JUMP_KICK), + LEVEL_UP_MOVE(31, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(33, MOVE_ACUPRESSURE), + LEVEL_UP_MOVE(36, MOVE_POWER_TRICK), + LEVEL_UP_MOVE(39, MOVE_REVERSAL), + LEVEL_UP_MOVE(41, MOVE_RECOVER), + LEVEL_UP_MOVE(44, MOVE_COUNTER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMedichamLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_ICE_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_WORK_UP), + LEVEL_UP_MOVE( 1, MOVE_DETECT), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE(12, MOVE_ENDURE), + LEVEL_UP_MOVE(15, MOVE_FEINT), + LEVEL_UP_MOVE(17, MOVE_FORCE_PALM), + LEVEL_UP_MOVE(20, MOVE_PSYBEAM), + LEVEL_UP_MOVE(23, MOVE_CALM_MIND), + LEVEL_UP_MOVE(25, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_HIGH_JUMP_KICK), + LEVEL_UP_MOVE(31, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(33, MOVE_ACUPRESSURE), + LEVEL_UP_MOVE(36, MOVE_POWER_TRICK), + LEVEL_UP_MOVE(47, MOVE_RECOVER), + LEVEL_UP_MOVE(53, MOVE_COUNTER), + LEVEL_UP_MOVE(53, MOVE_AXE_KICK), + LEVEL_UP_END +}; +#endif //P_FAMILY_MEDITITE + +#if P_FAMILY_ELECTRIKE +static const struct LevelUpMove sElectrikeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 4, MOVE_LEER), + LEVEL_UP_MOVE( 8, MOVE_HOWL), + LEVEL_UP_MOVE(12, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(16, MOVE_SHOCK_WAVE), + LEVEL_UP_MOVE(20, MOVE_BITE), + LEVEL_UP_MOVE(24, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE(28, MOVE_ROAR), + LEVEL_UP_MOVE(32, MOVE_DISCHARGE), + LEVEL_UP_MOVE(36, MOVE_CHARGE), + LEVEL_UP_MOVE(40, MOVE_WILD_CHARGE), + LEVEL_UP_MOVE(44, MOVE_THUNDER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sManectricLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_HOWL), + LEVEL_UP_MOVE(12, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(16, MOVE_SHOCK_WAVE), + LEVEL_UP_MOVE(20, MOVE_BITE), + LEVEL_UP_MOVE(24, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE(30, MOVE_ROAR), + LEVEL_UP_MOVE(36, MOVE_DISCHARGE), + LEVEL_UP_MOVE(42, MOVE_CHARGE), + LEVEL_UP_MOVE(48, MOVE_WILD_CHARGE), + LEVEL_UP_MOVE(54, MOVE_THUNDER), + LEVEL_UP_MOVE(60, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_END +}; +#endif //P_FAMILY_ELECTRIKE + +#if P_FAMILY_PLUSLE +static const struct LevelUpMove sPlusleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_NUZZLE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 4, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 7, MOVE_SPARK), + LEVEL_UP_MOVE(10, MOVE_ENCORE), + LEVEL_UP_MOVE(13, MOVE_SWITCHEROO), + LEVEL_UP_MOVE(16, MOVE_SWIFT), + LEVEL_UP_MOVE(19, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(22, MOVE_COPYCAT), + LEVEL_UP_MOVE(26, MOVE_CHARGE), + LEVEL_UP_MOVE(31, MOVE_DISCHARGE), + LEVEL_UP_MOVE(34, MOVE_BATON_PASS), + LEVEL_UP_MOVE(37, MOVE_AGILITY), + LEVEL_UP_MOVE(40, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(43, MOVE_THUNDER), + LEVEL_UP_MOVE(46, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(49, MOVE_ENTRAINMENT), + LEVEL_UP_END +}; +#endif //P_FAMILY_PLUSLE + +#if P_FAMILY_MINUN +static const struct LevelUpMove sMinunLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_NUZZLE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 4, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 7, MOVE_SPARK), + LEVEL_UP_MOVE(10, MOVE_ENCORE), + LEVEL_UP_MOVE(13, MOVE_SWITCHEROO), + LEVEL_UP_MOVE(16, MOVE_SWIFT), + LEVEL_UP_MOVE(19, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(22, MOVE_COPYCAT), + LEVEL_UP_MOVE(26, MOVE_CHARGE), + LEVEL_UP_MOVE(31, MOVE_DISCHARGE), + LEVEL_UP_MOVE(34, MOVE_BATON_PASS), + LEVEL_UP_MOVE(37, MOVE_AGILITY), + LEVEL_UP_MOVE(40, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(43, MOVE_THUNDER), + LEVEL_UP_MOVE(46, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(49, MOVE_ENTRAINMENT), + LEVEL_UP_END +}; +#endif //P_FAMILY_MINUN + +#if P_FAMILY_VOLBEAT_ILLUMISE +static const struct LevelUpMove sVolbeatLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 8, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(12, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(15, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE(19, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(22, MOVE_TAIL_GLOW), + LEVEL_UP_MOVE(26, MOVE_PROTECT), + LEVEL_UP_MOVE(29, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(33, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(36, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(40, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(43, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(47, MOVE_INFESTATION), + LEVEL_UP_END +}; + +static const struct LevelUpMove sIllumiseLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), + LEVEL_UP_MOVE( 5, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 9, MOVE_CHARM), + LEVEL_UP_MOVE(12, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(15, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE(19, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(22, MOVE_WISH), + LEVEL_UP_MOVE(26, MOVE_ENCORE), + LEVEL_UP_MOVE(29, MOVE_FLATTER), + LEVEL_UP_MOVE(33, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(36, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(40, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(43, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(47, MOVE_INFESTATION), + LEVEL_UP_END +}; +#endif //P_FAMILY_VOLBEAT_ILLUMISE + +#if P_FAMILY_ROSELIA +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sBudewLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_WORRY_SEED), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS + +static const struct LevelUpMove sRoseliaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_WORRY_SEED), + LEVEL_UP_MOVE( 5, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(10, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(15, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(20, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(25, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(30, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(35, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(40, MOVE_TOXIC), + LEVEL_UP_MOVE(45, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE(50, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(55, MOVE_INGRAIN), + LEVEL_UP_MOVE(60, MOVE_PETAL_DANCE), + LEVEL_UP_END +}; + +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sRoseradeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE( 1, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 1, MOVE_TOXIC), + LEVEL_UP_MOVE( 1, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE( 1, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE( 1, MOVE_INGRAIN), + LEVEL_UP_MOVE( 1, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_WORRY_SEED), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS +#endif //P_FAMILY_ROSELIA + +#if P_FAMILY_GULPIN +static const struct LevelUpMove sGulpinLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 5, MOVE_YAWN), + LEVEL_UP_MOVE( 8, MOVE_POISON_GAS), + LEVEL_UP_MOVE(10, MOVE_SLUDGE), + LEVEL_UP_MOVE(12, MOVE_AMNESIA), + LEVEL_UP_MOVE(17, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE(20, MOVE_ENCORE), + LEVEL_UP_MOVE(25, MOVE_TOXIC), + LEVEL_UP_MOVE(28, MOVE_STOCKPILE), + LEVEL_UP_MOVE(28, MOVE_SPIT_UP), + LEVEL_UP_MOVE(28, MOVE_SWALLOW), + LEVEL_UP_MOVE(33, MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE(36, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(41, MOVE_BELCH), + LEVEL_UP_MOVE(44, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE(49, MOVE_GUNK_SHOT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSwalotLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_BODY_SLAM), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_SLUDGE), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_GUNK_SHOT), + LEVEL_UP_MOVE(12, MOVE_AMNESIA), + LEVEL_UP_MOVE(17, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE(20, MOVE_ENCORE), + LEVEL_UP_MOVE(25, MOVE_TOXIC), + LEVEL_UP_MOVE(30, MOVE_STOCKPILE), + LEVEL_UP_MOVE(30, MOVE_SPIT_UP), + LEVEL_UP_MOVE(30, MOVE_SWALLOW), + LEVEL_UP_MOVE(37, MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE(42, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(49, MOVE_BELCH), + LEVEL_UP_END +}; +#endif //P_FAMILY_GULPIN + +#if P_FAMILY_CARVANHA +static const struct LevelUpMove sCarvanhaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 4, MOVE_POISON_FANG), + LEVEL_UP_MOVE( 8, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(12, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(16, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_ICE_FANG), + LEVEL_UP_MOVE(24, MOVE_SCREECH), + LEVEL_UP_MOVE(28, MOVE_SWAGGER), + LEVEL_UP_MOVE(32, MOVE_CRUNCH), + LEVEL_UP_MOVE(36, MOVE_AGILITY), + LEVEL_UP_MOVE(40, MOVE_LIQUIDATION), + LEVEL_UP_MOVE(44, MOVE_TAKE_DOWN), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSharpedoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SLASH), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_POISON_FANG), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(12, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(16, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_ICE_FANG), + LEVEL_UP_MOVE(24, MOVE_SCREECH), + LEVEL_UP_MOVE(28, MOVE_SWAGGER), + LEVEL_UP_MOVE(34, MOVE_CRUNCH), + LEVEL_UP_MOVE(40, MOVE_AGILITY), + LEVEL_UP_MOVE(46, MOVE_LIQUIDATION), + LEVEL_UP_MOVE(52, MOVE_TAKE_DOWN), + LEVEL_UP_END +}; +#endif //P_FAMILY_CARVANHA + +#if P_FAMILY_WAILMER +static const struct LevelUpMove sWailmerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 3, MOVE_GROWL), + LEVEL_UP_MOVE( 6, MOVE_ASTONISH), + LEVEL_UP_MOVE(12, MOVE_WATER_GUN), + LEVEL_UP_MOVE(15, MOVE_MIST), + LEVEL_UP_MOVE(18, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(21, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(24, MOVE_BRINE), + LEVEL_UP_MOVE(27, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(30, MOVE_DIVE), + LEVEL_UP_MOVE(33, MOVE_BOUNCE), + LEVEL_UP_MOVE(36, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(39, MOVE_REST), + LEVEL_UP_MOVE(42, MOVE_AMNESIA), + LEVEL_UP_MOVE(45, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(48, MOVE_WATER_SPOUT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sWailordLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SOAK), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE(15, MOVE_MIST), + LEVEL_UP_MOVE(18, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(21, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(24, MOVE_BRINE), + LEVEL_UP_MOVE(27, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(30, MOVE_DIVE), + LEVEL_UP_MOVE(33, MOVE_BOUNCE), + LEVEL_UP_MOVE(36, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(39, MOVE_REST), + LEVEL_UP_MOVE(44, MOVE_AMNESIA), + LEVEL_UP_MOVE(49, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(54, MOVE_WATER_SPOUT), + LEVEL_UP_END +}; +#endif //P_FAMILY_WAILMER + +#if P_FAMILY_NUMEL +static const struct LevelUpMove sNumelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 5, MOVE_EMBER), + LEVEL_UP_MOVE( 8, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(12, MOVE_BULLDOZE), + LEVEL_UP_MOVE(15, MOVE_INCINERATE), + LEVEL_UP_MOVE(19, MOVE_AMNESIA), + LEVEL_UP_MOVE(22, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(26, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(29, MOVE_CURSE), + LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(40, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(43, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(47, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCameruptLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_FISSURE), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_ERUPTION), + LEVEL_UP_MOVE(12, MOVE_BULLDOZE), + LEVEL_UP_MOVE(15, MOVE_INCINERATE), + LEVEL_UP_MOVE(19, MOVE_AMNESIA), + LEVEL_UP_MOVE(22, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(26, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(29, MOVE_CURSE), + LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(39, MOVE_YAWN), + LEVEL_UP_MOVE(46, MOVE_EARTHQUAKE), + LEVEL_UP_END +}; +#endif //P_FAMILY_NUMEL + +#if P_FAMILY_TORKOAL +static const struct LevelUpMove sTorkoalLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 4, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 8, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(12, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(16, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(20, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(24, MOVE_PROTECT), + LEVEL_UP_MOVE(28, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(32, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(36, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(40, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(44, MOVE_CURSE), + LEVEL_UP_MOVE(48, MOVE_HEAT_WAVE), + LEVEL_UP_MOVE(52, MOVE_AMNESIA), + LEVEL_UP_MOVE(56, MOVE_INFERNO), + LEVEL_UP_MOVE(60, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE(64, MOVE_ERUPTION), + LEVEL_UP_END +}; +#endif //P_FAMILY_TORKOAL + +#if P_FAMILY_SPOINK +static const struct LevelUpMove sSpoinkLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 7, MOVE_CONFUSION), + LEVEL_UP_MOVE(10, MOVE_GROWL), + LEVEL_UP_MOVE(14, MOVE_PSYBEAM), + LEVEL_UP_MOVE(18, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(22, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(29, MOVE_REST), + LEVEL_UP_MOVE(29, MOVE_POWER_GEM), + LEVEL_UP_MOVE(33, MOVE_SNORE), + LEVEL_UP_MOVE(38, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(40, MOVE_PAYBACK), + LEVEL_UP_MOVE(44, MOVE_PSYCHIC), + LEVEL_UP_MOVE(50, MOVE_BOUNCE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGrumpigLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_TEETER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_PSYBEAM), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_BELCH), + LEVEL_UP_MOVE(18, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(22, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(26, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(29, MOVE_POWER_GEM), + LEVEL_UP_MOVE(35, MOVE_REST), + LEVEL_UP_MOVE(35, MOVE_SNORE), + LEVEL_UP_MOVE(42, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(46, MOVE_PAYBACK), + LEVEL_UP_MOVE(52, MOVE_PSYCHIC), + LEVEL_UP_MOVE(60, MOVE_BOUNCE), + LEVEL_UP_END +}; +#endif //P_FAMILY_SPOINK + +#if P_FAMILY_SPINDA +static const struct LevelUpMove sSpindaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_COPYCAT), + LEVEL_UP_MOVE(14, MOVE_PSYBEAM), + LEVEL_UP_MOVE(19, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(21, MOVE_TEETER_DANCE), + LEVEL_UP_MOVE(23, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(28, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(37, MOVE_UPROAR), + LEVEL_UP_MOVE(41, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(46, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(50, MOVE_FLAIL), + LEVEL_UP_MOVE(55, MOVE_THRASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_SPINDA + +#if P_FAMILY_TRAPINCH +static const struct LevelUpMove sTrapinchLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 8, MOVE_BITE), + LEVEL_UP_MOVE(12, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(16, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(20, MOVE_BULLDOZE), + LEVEL_UP_MOVE(24, MOVE_DIG), + LEVEL_UP_MOVE(28, MOVE_CRUNCH), + LEVEL_UP_MOVE(32, MOVE_SANDSTORM), + LEVEL_UP_MOVE(36, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(40, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(44, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(48, MOVE_FISSURE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sVibravaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_FISSURE), + LEVEL_UP_MOVE( 1, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_SUPERPOWER), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_BULLDOZE), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_DIG), + LEVEL_UP_MOVE(12, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(16, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(20, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE(24, MOVE_SCREECH), + LEVEL_UP_MOVE(28, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(32, MOVE_SANDSTORM), + LEVEL_UP_MOVE(38, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(44, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(50, MOVE_UPROAR), + LEVEL_UP_MOVE(56, MOVE_DRAGON_RUSH), + LEVEL_UP_MOVE(62, MOVE_BOOMBURST), + LEVEL_UP_END +}; + +static const struct LevelUpMove sFlygonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_FISSURE), + LEVEL_UP_MOVE( 1, MOVE_DIG), + LEVEL_UP_MOVE( 1, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_SUPERPOWER), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_BULLDOZE), + LEVEL_UP_MOVE(12, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(16, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(20, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE(24, MOVE_SCREECH), + LEVEL_UP_MOVE(28, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(32, MOVE_SANDSTORM), + LEVEL_UP_MOVE(38, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(44, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(52, MOVE_UPROAR), + LEVEL_UP_MOVE(60, MOVE_DRAGON_RUSH), + LEVEL_UP_MOVE(68, MOVE_BOOMBURST), + LEVEL_UP_END +}; +#endif //P_FAMILY_TRAPINCH + +#if P_FAMILY_CACNEA +static const struct LevelUpMove sCacneaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 4, MOVE_ABSORB), + LEVEL_UP_MOVE( 7, MOVE_GROWTH), + LEVEL_UP_MOVE(10, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(13, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(16, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(19, MOVE_POWER_TRIP), + LEVEL_UP_MOVE(22, MOVE_INGRAIN), + LEVEL_UP_MOVE(26, MOVE_PAYBACK), + LEVEL_UP_MOVE(30, MOVE_SPIKES), + LEVEL_UP_MOVE(34, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(38, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(42, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(46, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(50, MOVE_SANDSTORM), + LEVEL_UP_MOVE(54, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCacturneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SPIKY_SHIELD), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(10, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(13, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(16, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(19, MOVE_POWER_TRIP), + LEVEL_UP_MOVE(22, MOVE_INGRAIN), + LEVEL_UP_MOVE(26, MOVE_PAYBACK), + LEVEL_UP_MOVE(30, MOVE_SPIKES), + LEVEL_UP_MOVE(35, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(38, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(44, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(49, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(54, MOVE_SANDSTORM), + LEVEL_UP_END +}; +#endif //P_FAMILY_CACNEA + +#if P_FAMILY_SWABLU +static const struct LevelUpMove sSwabluLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 4, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 8, MOVE_MIST), + LEVEL_UP_MOVE(12, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(16, MOVE_ROUND), + LEVEL_UP_MOVE(20, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(24, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(28, MOVE_SING), + LEVEL_UP_MOVE(32, MOVE_COTTON_GUARD), + LEVEL_UP_MOVE(36, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(40, MOVE_MOONBLAST), + LEVEL_UP_MOVE(44, MOVE_PERISH_SONG), + LEVEL_UP_END +}; + +static const struct LevelUpMove sAltariaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_MIST), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_PLUCK), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE(12, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(16, MOVE_ROUND), + LEVEL_UP_MOVE(20, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(24, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(28, MOVE_SING), + LEVEL_UP_MOVE(32, MOVE_COTTON_GUARD), + LEVEL_UP_MOVE(38, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(44, MOVE_MOONBLAST), + LEVEL_UP_MOVE(50, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(56, MOVE_SKY_ATTACK), + LEVEL_UP_END +}; +#endif //P_FAMILY_SWABLU + +#if P_FAMILY_ZANGOOSE +static const struct LevelUpMove sZangooseLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE( 1, MOVE_CURSE), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_FINAL_GAMBIT), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 5, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 8, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(12, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(15, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(19, MOVE_SLASH), + LEVEL_UP_MOVE(22, MOVE_POWER_TRIP), + LEVEL_UP_MOVE(26, MOVE_CRUSH_CLAW), + LEVEL_UP_MOVE(29, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(33, MOVE_SWITCHEROO), + LEVEL_UP_MOVE(36, MOVE_DETECT), + LEVEL_UP_MOVE(40, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(43, MOVE_TAUNT), + LEVEL_UP_MOVE(47, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(50, MOVE_CLOSE_COMBAT), + LEVEL_UP_END +}; +#endif //P_FAMILY_ZANGOOSE + +#if P_FAMILY_SEVIPER +static const struct LevelUpMove sSeviperLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_SWAGGER), + LEVEL_UP_MOVE( 4, MOVE_BITE), + LEVEL_UP_MOVE( 6, MOVE_LICK), + LEVEL_UP_MOVE( 9, MOVE_POISON_TAIL), + LEVEL_UP_MOVE(11, MOVE_FEINT), + LEVEL_UP_MOVE(14, MOVE_SCREECH), + LEVEL_UP_MOVE(19, MOVE_GLARE), + LEVEL_UP_MOVE(21, MOVE_POISON_FANG), + LEVEL_UP_MOVE(24, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(29, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(31, MOVE_POISON_JAB), + LEVEL_UP_MOVE(34, MOVE_HAZE), + LEVEL_UP_MOVE(39, MOVE_CRUNCH), + LEVEL_UP_MOVE(41, MOVE_BELCH), + LEVEL_UP_MOVE(44, MOVE_COIL), + LEVEL_UP_MOVE(46, MOVE_SLUDGE_BOMB), + LEVEL_UP_END +}; +#endif //P_FAMILY_SEVIPER + +#if P_FAMILY_LUNATONE +static const struct LevelUpMove sLunatoneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MOONBLAST), + LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 5, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(10, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(15, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(20, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(25, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(30, MOVE_PSYCHIC), + LEVEL_UP_MOVE(35, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(40, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(45, MOVE_MAGIC_ROOM), + LEVEL_UP_MOVE(50, MOVE_EXPLOSION), + LEVEL_UP_END +}; +#endif //P_FAMILY_LUNATONE + +#if P_FAMILY_SOLROCK +static const struct LevelUpMove sSolrockLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE( 1, MOVE_MORNING_SUN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 5, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(10, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(15, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(20, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(25, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(30, MOVE_PSYCHIC), + LEVEL_UP_MOVE(35, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(40, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(45, MOVE_WONDER_ROOM), + LEVEL_UP_MOVE(50, MOVE_EXPLOSION), + LEVEL_UP_END +}; +#endif //P_FAMILY_SOLROCK + +#if P_FAMILY_BARBOACH +static const struct LevelUpMove sBarboachLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 6, MOVE_REST), + LEVEL_UP_MOVE( 6, MOVE_SNORE), + LEVEL_UP_MOVE(12, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(18, MOVE_AMNESIA), + LEVEL_UP_MOVE(24, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(31, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(36, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(42, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(48, MOVE_FISSURE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sWhiscashLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_THRASH), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_REST), + LEVEL_UP_MOVE( 1, MOVE_SNORE), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_TICKLE), + LEVEL_UP_MOVE( 1, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE( 1, MOVE_BELCH), + LEVEL_UP_MOVE(12, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(18, MOVE_AMNESIA), + LEVEL_UP_MOVE(24, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(33, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(40, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(48, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(56, MOVE_FISSURE), + LEVEL_UP_END +}; +#endif //P_FAMILY_BARBOACH + +#if P_FAMILY_CORPHISH +static const struct LevelUpMove sCorphishLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 4, MOVE_LEER), + LEVEL_UP_MOVE( 8, MOVE_TAUNT), + LEVEL_UP_MOVE(12, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(16, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(20, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(24, MOVE_PROTECT), + LEVEL_UP_MOVE(28, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(32, MOVE_RAZOR_SHELL), + LEVEL_UP_MOVE(36, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(40, MOVE_CRUNCH), + LEVEL_UP_MOVE(44, MOVE_CRABHAMMER), + LEVEL_UP_MOVE(48, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(52, MOVE_GUILLOTINE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCrawdauntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SWIFT), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE(12, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(16, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(20, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(24, MOVE_PROTECT), + LEVEL_UP_MOVE(28, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(34, MOVE_RAZOR_SHELL), + LEVEL_UP_MOVE(40, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(46, MOVE_CRUNCH), + LEVEL_UP_MOVE(52, MOVE_CRABHAMMER), + LEVEL_UP_MOVE(58, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(64, MOVE_GUILLOTINE), + LEVEL_UP_END +}; +#endif //P_FAMILY_CORPHISH + +#if P_FAMILY_BALTOY +static const struct LevelUpMove sBaltoyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 3, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 6, MOVE_CONFUSION), + LEVEL_UP_MOVE( 9, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(12, MOVE_POWER_TRICK), + LEVEL_UP_MOVE(15, MOVE_PSYBEAM), + LEVEL_UP_MOVE(18, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(21, MOVE_IMPRISON), + LEVEL_UP_MOVE(24, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(27, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(30, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(33, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(36, MOVE_GUARD_SPLIT), + LEVEL_UP_MOVE(36, MOVE_POWER_SPLIT), + LEVEL_UP_MOVE(39, MOVE_SANDSTORM), + LEVEL_UP_MOVE(42, MOVE_EXPLOSION), + LEVEL_UP_END +}; + +static const struct LevelUpMove sClaydolLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE( 1, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 9, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(12, MOVE_POWER_TRICK), + LEVEL_UP_MOVE(15, MOVE_PSYBEAM), + LEVEL_UP_MOVE(18, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(21, MOVE_IMPRISON), + LEVEL_UP_MOVE(24, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(27, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(30, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(33, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(38, MOVE_GUARD_SPLIT), + LEVEL_UP_MOVE(38, MOVE_POWER_SPLIT), + LEVEL_UP_MOVE(43, MOVE_SANDSTORM), + LEVEL_UP_MOVE(48, MOVE_EXPLOSION), + LEVEL_UP_END +}; +#endif //P_FAMILY_BALTOY + +#if P_FAMILY_LILEEP +static const struct LevelUpMove sLileepLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 4, MOVE_ACID), + LEVEL_UP_MOVE( 8, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(12, MOVE_INGRAIN), + LEVEL_UP_MOVE(16, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(20, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(24, MOVE_BRINE), + LEVEL_UP_MOVE(28, MOVE_AMNESIA), + LEVEL_UP_MOVE(32, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(36, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(41, MOVE_STOCKPILE), + LEVEL_UP_MOVE(41, MOVE_SPIT_UP), + LEVEL_UP_MOVE(41, MOVE_SWALLOW), + LEVEL_UP_MOVE(44, MOVE_ENERGY_BALL), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCradilyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(12, MOVE_INGRAIN), + LEVEL_UP_MOVE(16, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(20, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(24, MOVE_BRINE), + LEVEL_UP_MOVE(28, MOVE_AMNESIA), + LEVEL_UP_MOVE(32, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(36, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(43, MOVE_STOCKPILE), + LEVEL_UP_MOVE(43, MOVE_SPIT_UP), + LEVEL_UP_MOVE(43, MOVE_SWALLOW), + LEVEL_UP_MOVE(48, MOVE_ENERGY_BALL), + LEVEL_UP_END +}; +#endif //P_FAMILY_LILEEP + +#if P_FAMILY_ANORITH +static const struct LevelUpMove sAnorithLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 4, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 8, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(12, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(16, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(20, MOVE_BUG_BITE), + LEVEL_UP_MOVE(24, MOVE_BRINE), + LEVEL_UP_MOVE(28, MOVE_SLASH), + LEVEL_UP_MOVE(32, MOVE_CRUSH_CLAW), + LEVEL_UP_MOVE(36, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(41, MOVE_PROTECT), + LEVEL_UP_MOVE(44, MOVE_X_SCISSOR), + LEVEL_UP_END +}; + +static const struct LevelUpMove sArmaldoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(12, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(16, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(20, MOVE_BUG_BITE), + LEVEL_UP_MOVE(24, MOVE_BRINE), + LEVEL_UP_MOVE(28, MOVE_SLASH), + LEVEL_UP_MOVE(32, MOVE_CRUSH_CLAW), + LEVEL_UP_MOVE(36, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(43, MOVE_PROTECT), + LEVEL_UP_MOVE(48, MOVE_X_SCISSOR), + LEVEL_UP_END +}; +#endif //P_FAMILY_ANORITH + +#if P_FAMILY_FEEBAS +static const struct LevelUpMove sFeebasLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE(15, MOVE_TACKLE), + LEVEL_UP_MOVE(25, MOVE_FLAIL), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMiloticLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_WATER_PULSE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 4, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 8, MOVE_TWISTER), + LEVEL_UP_MOVE(12, MOVE_AQUA_RING), + LEVEL_UP_MOVE(16, MOVE_ATTRACT), + LEVEL_UP_MOVE(20, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(24, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE(28, MOVE_RECOVER), + LEVEL_UP_MOVE(32, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(36, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(40, MOVE_SURF), + LEVEL_UP_MOVE(44, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(48, MOVE_COIL), + LEVEL_UP_MOVE(52, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; +#endif //P_FAMILY_FEEBAS + +#if P_FAMILY_CASTFORM +static const struct LevelUpMove sCastformLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE(10, MOVE_WATER_GUN), + LEVEL_UP_MOVE(10, MOVE_EMBER), + LEVEL_UP_MOVE(10, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(15, MOVE_HEADBUTT), + LEVEL_UP_MOVE(20, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(20, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(20, MOVE_HAIL), + LEVEL_UP_MOVE(25, MOVE_WEATHER_BALL), + LEVEL_UP_MOVE(35, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(35, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(35, MOVE_BLIZZARD), + LEVEL_UP_MOVE(45, MOVE_HURRICANE), + LEVEL_UP_END +}; +#endif //P_FAMILY_CASTFORM + +#if P_FAMILY_KECLEON +static const struct LevelUpMove sKecleonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_THIEF), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 4, MOVE_BIND), + LEVEL_UP_MOVE( 7, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE(10, MOVE_FEINT), + LEVEL_UP_MOVE(13, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(16, MOVE_DISABLE), + LEVEL_UP_MOVE(18, MOVE_PSYBEAM), + LEVEL_UP_MOVE(21, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(25, MOVE_SLASH), + LEVEL_UP_MOVE(30, MOVE_DETECT), + LEVEL_UP_MOVE(33, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE(38, MOVE_SCREECH), + LEVEL_UP_MOVE(42, MOVE_SUBSTITUTE), + LEVEL_UP_MOVE(46, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(50, MOVE_FOUL_PLAY), + LEVEL_UP_END +}; +#endif //P_FAMILY_KECLEON + +#if P_FAMILY_SHUPPET +static const struct LevelUpMove sShuppetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 4, MOVE_SCREECH), + LEVEL_UP_MOVE( 7, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(10, MOVE_SPITE), + LEVEL_UP_MOVE(16, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(19, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE(22, MOVE_HEX), + LEVEL_UP_MOVE(26, MOVE_CURSE), + LEVEL_UP_MOVE(30, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(34, MOVE_ROLE_PLAY), + LEVEL_UP_MOVE(38, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(42, MOVE_TRICK), + LEVEL_UP_MOVE(48, MOVE_PHANTOM_FORCE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBanetteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE( 1, MOVE_SCREECH), + LEVEL_UP_MOVE( 1, MOVE_SPITE), + LEVEL_UP_MOVE(16, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(19, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE(22, MOVE_HEX), + LEVEL_UP_MOVE(26, MOVE_CURSE), + LEVEL_UP_MOVE(30, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(34, MOVE_ROLE_PLAY), + LEVEL_UP_MOVE(40, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(46, MOVE_TRICK), + LEVEL_UP_MOVE(53, MOVE_PHANTOM_FORCE), + LEVEL_UP_END +}; +#endif //P_FAMILY_SHUPPET + +#if P_FAMILY_DUSKULL +static const struct LevelUpMove sDuskullLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 4, MOVE_DISABLE), + LEVEL_UP_MOVE( 8, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE(12, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(16, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(20, MOVE_PAYBACK), + LEVEL_UP_MOVE(24, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(28, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(32, MOVE_HEX), + LEVEL_UP_MOVE(36, MOVE_CURSE), + LEVEL_UP_MOVE(40, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(44, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDusclopsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_ICE_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_BIND), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_GRAVITY), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE(12, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(16, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(20, MOVE_PAYBACK), + LEVEL_UP_MOVE(24, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(28, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(32, MOVE_HEX), + LEVEL_UP_MOVE(36, MOVE_CURSE), + LEVEL_UP_MOVE(42, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(48, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; + +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sDusknoirLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_ICE_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_BIND), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_GRAVITY), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE(12, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(16, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(20, MOVE_PAYBACK), + LEVEL_UP_MOVE(24, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(28, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(32, MOVE_HEX), + LEVEL_UP_MOVE(36, MOVE_CURSE), + LEVEL_UP_MOVE(42, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(48, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(54, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS +#endif //P_FAMILY_DUSKULL + +#if P_FAMILY_TROPIUS +static const struct LevelUpMove sTropiusLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_LEAF_STORM), + LEVEL_UP_MOVE( 6, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(10, MOVE_STOMP), + LEVEL_UP_MOVE(16, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(21, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(30, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(36, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(41, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(46, MOVE_OUTRAGE), + LEVEL_UP_MOVE(50, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(56, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; +#endif //P_FAMILY_TROPIUS + +#if P_FAMILY_CHIMECHO +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sChinglingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 4, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_ASTONISH), + LEVEL_UP_MOVE(10, MOVE_CONFUSION), + LEVEL_UP_MOVE(13, MOVE_YAWN), + LEVEL_UP_MOVE(16, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(19, MOVE_ENTRAINMENT), + LEVEL_UP_MOVE(32, MOVE_UPROAR), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS + +static const struct LevelUpMove sChimechoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_HEALING_WISH), + LEVEL_UP_MOVE(13, MOVE_YAWN), + LEVEL_UP_MOVE(16, MOVE_STORED_POWER), + LEVEL_UP_MOVE(19, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(22, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(27, MOVE_HEAL_BELL), + LEVEL_UP_MOVE(32, MOVE_UPROAR), + LEVEL_UP_MOVE(37, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(42, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(47, MOVE_HEAL_PULSE), + LEVEL_UP_END +}; +#endif //P_FAMILY_CHIMECHO + +#if P_FAMILY_ABSOL +static const struct LevelUpMove sAbsolLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 5, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(10, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(15, MOVE_DETECT), + LEVEL_UP_MOVE(20, MOVE_TAUNT), + LEVEL_UP_MOVE(25, MOVE_SLASH), + LEVEL_UP_MOVE(30, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(35, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(40, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(45, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(50, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(55, MOVE_PERISH_SONG), + LEVEL_UP_END +}; +#endif //P_FAMILY_ABSOL + +#if P_FAMILY_SNORUNT +static const struct LevelUpMove sSnoruntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 5, MOVE_LEER), + LEVEL_UP_MOVE(10, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(15, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(20, MOVE_PROTECT), + LEVEL_UP_MOVE(25, MOVE_ICY_WIND), + LEVEL_UP_MOVE(30, MOVE_FROST_BREATH), + LEVEL_UP_MOVE(35, MOVE_BITE), + LEVEL_UP_MOVE(40, MOVE_ICE_FANG), + LEVEL_UP_MOVE(45, MOVE_SNOWSCAPE), + LEVEL_UP_MOVE(50, MOVE_WEATHER_BALL), + LEVEL_UP_MOVE(55, MOVE_CRUNCH), + LEVEL_UP_MOVE(60, MOVE_BLIZZARD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGlalieLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_SHEER_COLD), + LEVEL_UP_MOVE(15, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(20, MOVE_PROTECT), + LEVEL_UP_MOVE(25, MOVE_ICY_WIND), + LEVEL_UP_MOVE(30, MOVE_FROST_BREATH), + LEVEL_UP_MOVE(35, MOVE_BITE), + LEVEL_UP_MOVE(40, MOVE_ICE_FANG), + LEVEL_UP_MOVE(47, MOVE_SNOWSCAPE), + LEVEL_UP_MOVE(54, MOVE_WEATHER_BALL), + LEVEL_UP_MOVE(61, MOVE_CRUNCH), + LEVEL_UP_MOVE(68, MOVE_BLIZZARD), + LEVEL_UP_END +}; + +#if P_GEN_4_CROSS_EVOS +static const struct LevelUpMove sFroslassLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_HEX), + LEVEL_UP_MOVE( 1, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(15, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(20, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(25, MOVE_ICY_WIND), + LEVEL_UP_MOVE(30, MOVE_FROST_BREATH), + LEVEL_UP_MOVE(35, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(40, MOVE_SNOWSCAPE), + LEVEL_UP_MOVE(47, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(54, MOVE_AURORA_VEIL), + LEVEL_UP_MOVE(61, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(68, MOVE_BLIZZARD), + LEVEL_UP_END +}; +#endif //P_GEN_4_CROSS_EVOS +#endif //P_FAMILY_SNORUNT + +#if P_FAMILY_SPHEAL +static const struct LevelUpMove sSphealLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 4, MOVE_GROWL), + LEVEL_UP_MOVE( 8, MOVE_WATER_GUN), + LEVEL_UP_MOVE(12, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(16, MOVE_REST), + LEVEL_UP_MOVE(20, MOVE_SNORE), + LEVEL_UP_MOVE(24, MOVE_BRINE), + LEVEL_UP_MOVE(28, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(33, MOVE_ENCORE), + LEVEL_UP_MOVE(36, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(40, MOVE_SURF), + LEVEL_UP_MOVE(44, MOVE_BLIZZARD), + LEVEL_UP_MOVE(48, MOVE_HAIL), + LEVEL_UP_MOVE(52, MOVE_SHEER_COLD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSealeoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SWAGGER), + LEVEL_UP_MOVE( 1, MOVE_SWAGGER), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE(12, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(16, MOVE_REST), + LEVEL_UP_MOVE(20, MOVE_SNORE), + LEVEL_UP_MOVE(24, MOVE_BRINE), + LEVEL_UP_MOVE(28, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(35, MOVE_ENCORE), + LEVEL_UP_MOVE(40, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(46, MOVE_SURF), + LEVEL_UP_MOVE(52, MOVE_BLIZZARD), + LEVEL_UP_MOVE(58, MOVE_HAIL), + LEVEL_UP_MOVE(64, MOVE_SHEER_COLD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sWalreinLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SWAGGER), + LEVEL_UP_MOVE( 1, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE(12, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(16, MOVE_REST), + LEVEL_UP_MOVE(20, MOVE_SNORE), + LEVEL_UP_MOVE(24, MOVE_BRINE), + LEVEL_UP_MOVE(28, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(35, MOVE_ENCORE), + LEVEL_UP_MOVE(40, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(48, MOVE_SURF), + LEVEL_UP_MOVE(56, MOVE_BLIZZARD), + LEVEL_UP_MOVE(64, MOVE_HAIL), + LEVEL_UP_MOVE(72, MOVE_SHEER_COLD), + LEVEL_UP_END +}; +#endif //P_FAMILY_SPHEAL + +#if P_FAMILY_CLAMPERL +static const struct LevelUpMove sClamperlLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(50, MOVE_SHELL_SMASH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sHuntailLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE( 5, MOVE_SCREECH), + LEVEL_UP_MOVE( 9, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(11, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(14, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(16, MOVE_ICE_FANG), + LEVEL_UP_MOVE(19, MOVE_BRINE), + LEVEL_UP_MOVE(23, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(26, MOVE_DIVE), + LEVEL_UP_MOVE(29, MOVE_BATON_PASS), + LEVEL_UP_MOVE(34, MOVE_CRUNCH), + LEVEL_UP_MOVE(39, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(45, MOVE_COIL), + LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGorebyssLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE( 5, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE( 9, MOVE_AGILITY), + LEVEL_UP_MOVE(11, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(14, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(16, MOVE_AMNESIA), + LEVEL_UP_MOVE(19, MOVE_AQUA_RING), + LEVEL_UP_MOVE(23, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(26, MOVE_DIVE), + LEVEL_UP_MOVE(29, MOVE_BATON_PASS), + LEVEL_UP_MOVE(34, MOVE_PSYCHIC), + LEVEL_UP_MOVE(39, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(45, MOVE_COIL), + LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; +#endif //P_FAMILY_CLAMPERL + +#if P_FAMILY_RELICANTH +static const struct LevelUpMove sRelicanthLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 5, MOVE_WATER_GUN), + LEVEL_UP_MOVE(10, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(15, MOVE_YAWN), + LEVEL_UP_MOVE(20, MOVE_DIVE), + LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(30, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(35, MOVE_REST), + LEVEL_UP_MOVE(40, MOVE_FLAIL), + LEVEL_UP_MOVE(45, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(55, MOVE_HEAD_SMASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_RELICANTH + +#if P_FAMILY_LUVDISC +static const struct LevelUpMove sLuvdiscLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 4, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 7, MOVE_AGILITY), + LEVEL_UP_MOVE(13, MOVE_WISH), + LEVEL_UP_MOVE(17, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(20, MOVE_ATTRACT), + LEVEL_UP_MOVE(22, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(26, MOVE_FLAIL), + LEVEL_UP_MOVE(31, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(34, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(37, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(40, MOVE_AQUA_RING), + LEVEL_UP_MOVE(42, MOVE_SOAK), + LEVEL_UP_MOVE(46, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(49, MOVE_SAFEGUARD), + LEVEL_UP_END +}; +#endif //P_FAMILY_LUVDISC + +#if P_FAMILY_BAGON +static const struct LevelUpMove sBagonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 5, MOVE_BITE), + LEVEL_UP_MOVE(10, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(15, MOVE_HEADBUTT), + LEVEL_UP_MOVE(20, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(25, MOVE_CRUNCH), + LEVEL_UP_MOVE(31, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(35, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(40, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(45, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(50, MOVE_OUTRAGE), + LEVEL_UP_MOVE(55, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sShelgonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(15, MOVE_HEADBUTT), + LEVEL_UP_MOVE(20, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(25, MOVE_CRUNCH), + LEVEL_UP_MOVE(33, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(39, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(46, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(53, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(60, MOVE_OUTRAGE), + LEVEL_UP_MOVE(67, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSalamenceLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_FLY), + LEVEL_UP_MOVE( 1, MOVE_ROOST), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_DUAL_WINGBEAT), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE(15, MOVE_HEADBUTT), + LEVEL_UP_MOVE(20, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(25, MOVE_CRUNCH), + LEVEL_UP_MOVE(33, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(39, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(46, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(55, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(73, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_BAGON + +#if P_FAMILY_BELDUM +static const struct LevelUpMove sBeldumLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMetangLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_CONFUSION), + LEVEL_UP_MOVE( 0, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_BULLET_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE( 6, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(12, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE(18, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(26, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(34, MOVE_PSYCHIC), + LEVEL_UP_MOVE(42, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(50, MOVE_METEOR_MASH), + LEVEL_UP_MOVE(58, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(66, MOVE_AGILITY), + LEVEL_UP_MOVE(74, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMetagrossLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_BULLET_PUNCH), + LEVEL_UP_MOVE( 6, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(12, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE(16, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(26, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(34, MOVE_PSYCHIC), + LEVEL_UP_MOVE(42, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(52, MOVE_METEOR_MASH), + LEVEL_UP_MOVE(62, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(72, MOVE_AGILITY), + LEVEL_UP_MOVE(82, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; +#endif //P_FAMILY_BELDUM + +#if P_FAMILY_REGIROCK +static const struct LevelUpMove sRegirockLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 1, MOVE_CHARGE_BEAM), + LEVEL_UP_MOVE( 6, MOVE_BULLDOZE), + LEVEL_UP_MOVE(12, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(18, MOVE_STOMP), + LEVEL_UP_MOVE(24, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(30, MOVE_CURSE), + LEVEL_UP_MOVE(36, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(42, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(48, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(54, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(60, MOVE_LOCK_ON), + LEVEL_UP_MOVE(66, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(72, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(78, MOVE_EXPLOSION), + LEVEL_UP_END +}; +#endif //P_FAMILY_REGIROCK + +#if P_FAMILY_REGICE +static const struct LevelUpMove sRegiceLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), + LEVEL_UP_MOVE( 1, MOVE_CHARGE_BEAM), + LEVEL_UP_MOVE( 6, MOVE_BULLDOZE), + LEVEL_UP_MOVE(12, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(18, MOVE_STOMP), + LEVEL_UP_MOVE(24, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(30, MOVE_CURSE), + LEVEL_UP_MOVE(36, MOVE_AMNESIA), + LEVEL_UP_MOVE(42, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(48, MOVE_BLIZZARD), + LEVEL_UP_MOVE(54, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(60, MOVE_LOCK_ON), + LEVEL_UP_MOVE(66, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(72, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(78, MOVE_EXPLOSION), + LEVEL_UP_END +}; +#endif //P_FAMILY_REGICE + +#if P_FAMILY_REGISTEEL +static const struct LevelUpMove sRegisteelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_CHARGE_BEAM), + LEVEL_UP_MOVE( 6, MOVE_BULLDOZE), + LEVEL_UP_MOVE(12, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(18, MOVE_STOMP), + LEVEL_UP_MOVE(24, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(24, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(30, MOVE_CURSE), + LEVEL_UP_MOVE(36, MOVE_AMNESIA), + LEVEL_UP_MOVE(36, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(42, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(48, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(54, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(60, MOVE_LOCK_ON), + LEVEL_UP_MOVE(66, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(72, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(78, MOVE_EXPLOSION), + LEVEL_UP_END +}; +#endif //P_FAMILY_REGISTEEL + +#if P_FAMILY_LATIAS +static const struct LevelUpMove sLatiasLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), + LEVEL_UP_MOVE( 5, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(10, MOVE_RECOVER), + LEVEL_UP_MOVE(15, MOVE_CONFUSION), + LEVEL_UP_MOVE(20, MOVE_TAILWIND), + LEVEL_UP_MOVE(25, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(30, MOVE_WISH), + LEVEL_UP_MOVE(35, MOVE_MIST_BALL), + LEVEL_UP_MOVE(40, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(45, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(50, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(55, MOVE_REFLECT_TYPE), + LEVEL_UP_MOVE(60, MOVE_PSYCHIC), + LEVEL_UP_MOVE(65, MOVE_GUARD_SPLIT), + LEVEL_UP_MOVE(70, MOVE_HEALING_WISH), + LEVEL_UP_END +}; +#endif //P_FAMILY_LATIAS + +#if P_FAMILY_LATIOS +static const struct LevelUpMove sLatiosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), + LEVEL_UP_MOVE( 5, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(10, MOVE_RECOVER), + LEVEL_UP_MOVE(15, MOVE_CONFUSION), + LEVEL_UP_MOVE(20, MOVE_TAILWIND), + LEVEL_UP_MOVE(25, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(30, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE(35, MOVE_LUSTER_PURGE), + LEVEL_UP_MOVE(40, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(45, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(50, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(55, MOVE_SIMPLE_BEAM), + LEVEL_UP_MOVE(60, MOVE_PSYCHIC), + LEVEL_UP_MOVE(65, MOVE_POWER_SPLIT), + LEVEL_UP_MOVE(70, MOVE_MEMENTO), + LEVEL_UP_END +}; +#endif //P_FAMILY_LATIOS + +#if P_FAMILY_KYOGRE +static const struct LevelUpMove sKyogreLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BODY_SLAM), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_WATER_PULSE), + LEVEL_UP_MOVE( 1, MOVE_ORIGIN_PULSE), + LEVEL_UP_MOVE( 9, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(18, MOVE_CALM_MIND), + LEVEL_UP_MOVE(27, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(36, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(45, MOVE_SHEER_COLD), + LEVEL_UP_MOVE(54, MOVE_AQUA_RING), + LEVEL_UP_MOVE(72, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(81, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(90, MOVE_WATER_SPOUT), + LEVEL_UP_END +}; +#endif //P_FAMILY_KYOGRE + +#if P_FAMILY_GROUDON +static const struct LevelUpMove sGroudonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), + LEVEL_UP_MOVE( 1, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE( 1, MOVE_PRECIPICE_BLADES), + LEVEL_UP_MOVE( 9, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(18, MOVE_BULK_UP), + LEVEL_UP_MOVE(27, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(36, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(45, MOVE_FISSURE), + LEVEL_UP_MOVE(54, MOVE_REST), + LEVEL_UP_MOVE(72, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(81, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(90, MOVE_ERUPTION), + LEVEL_UP_END +}; +#endif //P_FAMILY_GROUDON + +#if P_FAMILY_RAYQUAZA +static const struct LevelUpMove sRayquazaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 1, MOVE_TWISTER), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_AIR_SLASH), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_ASCENT), + LEVEL_UP_MOVE( 9, MOVE_CRUNCH), + LEVEL_UP_MOVE(18, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(27, MOVE_EXTREME_SPEED), + LEVEL_UP_MOVE(36, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(45, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(54, MOVE_REST), + LEVEL_UP_MOVE(63, MOVE_FLY), + LEVEL_UP_MOVE(72, MOVE_HURRICANE), + LEVEL_UP_MOVE(81, MOVE_OUTRAGE), + LEVEL_UP_MOVE(90, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; +#endif //P_FAMILY_RAYQUAZA + +#if P_FAMILY_JIRACHI +static const struct LevelUpMove sJirachiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_WISH), + LEVEL_UP_MOVE( 7, MOVE_SWIFT), + LEVEL_UP_MOVE(21, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(28, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(35, MOVE_GRAVITY), + LEVEL_UP_MOVE(42, MOVE_PSYCHIC), + LEVEL_UP_MOVE(49, MOVE_METEOR_MASH), + LEVEL_UP_MOVE(56, MOVE_HEALING_WISH), + LEVEL_UP_MOVE(63, MOVE_REST), + LEVEL_UP_MOVE(70, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(77, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(84, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(91, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(98, MOVE_DOOM_DESIRE), + LEVEL_UP_END +}; +#endif //P_FAMILY_JIRACHI + +#if P_FAMILY_DEOXYS +static const struct LevelUpMove sDeoxysNormalLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(13, MOVE_TELEPORT), + LEVEL_UP_MOVE(19, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(25, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(31, MOVE_PSYCHIC), + LEVEL_UP_MOVE(37, MOVE_GRAVITY), + LEVEL_UP_MOVE(43, MOVE_SKILL_SWAP), + LEVEL_UP_MOVE(49, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(55, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(61, MOVE_RECOVER), + LEVEL_UP_MOVE(67, MOVE_PSYCHO_BOOST), + LEVEL_UP_MOVE(73, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDeoxysAttackLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(13, MOVE_TELEPORT), + LEVEL_UP_MOVE(19, MOVE_TAUNT), + LEVEL_UP_MOVE(25, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(31, MOVE_PSYCHIC), + LEVEL_UP_MOVE(37, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(43, MOVE_SKILL_SWAP), + LEVEL_UP_MOVE(49, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(55, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(61, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(67, MOVE_PSYCHO_BOOST), + LEVEL_UP_MOVE(73, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDeoxysDefenseLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(13, MOVE_TELEPORT), + LEVEL_UP_MOVE(19, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(25, MOVE_SPIKES), + LEVEL_UP_MOVE(31, MOVE_PSYCHIC), + LEVEL_UP_MOVE(37, MOVE_PROTECT), + LEVEL_UP_MOVE(43, MOVE_SKILL_SWAP), + LEVEL_UP_MOVE(49, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(55, MOVE_AMNESIA), + LEVEL_UP_MOVE(55, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(61, MOVE_RECOVER), + LEVEL_UP_MOVE(67, MOVE_PSYCHO_BOOST), + LEVEL_UP_MOVE(73, MOVE_COUNTER), + LEVEL_UP_MOVE(73, MOVE_MIRROR_COAT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDeoxysSpeedLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(13, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(19, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(25, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(31, MOVE_PSYCHIC), + LEVEL_UP_MOVE(37, MOVE_SWIFT), + LEVEL_UP_MOVE(43, MOVE_SKILL_SWAP), + LEVEL_UP_MOVE(49, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(55, MOVE_AGILITY), + LEVEL_UP_MOVE(61, MOVE_RECOVER), + LEVEL_UP_MOVE(67, MOVE_PSYCHO_BOOST), + LEVEL_UP_MOVE(73, MOVE_EXTREME_SPEED), + LEVEL_UP_END +}; +#endif //P_FAMILY_DEOXYS + +#if P_FAMILY_TURTWIG +static const struct LevelUpMove sTurtwigLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 9, MOVE_ABSORB), + LEVEL_UP_MOVE(13, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(17, MOVE_CURSE), + LEVEL_UP_MOVE(21, MOVE_BITE), + LEVEL_UP_MOVE(25, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(29, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(33, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(37, MOVE_CRUNCH), + LEVEL_UP_MOVE(41, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(45, MOVE_LEAF_STORM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGrotleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE(13, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(17, MOVE_CURSE), + LEVEL_UP_MOVE(22, MOVE_BITE), + LEVEL_UP_MOVE(27, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(32, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(37, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(42, MOVE_CRUNCH), + LEVEL_UP_MOVE(47, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(52, MOVE_LEAF_STORM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sTorterraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_WOOD_HAMMER), + LEVEL_UP_MOVE(17, MOVE_CURSE), + LEVEL_UP_MOVE(22, MOVE_BITE), + LEVEL_UP_MOVE(27, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(33, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(39, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(45, MOVE_CRUNCH), + LEVEL_UP_MOVE(51, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(57, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(63, MOVE_HEADLONG_RUSH), + LEVEL_UP_END +}; +#endif //P_FAMILY_TURTWIG + +#if P_FAMILY_CHIMCHAR +static const struct LevelUpMove sChimcharLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_EMBER), + LEVEL_UP_MOVE( 9, MOVE_TAUNT), + LEVEL_UP_MOVE(15, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(17, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(23, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(25, MOVE_TORMENT), + LEVEL_UP_MOVE(31, MOVE_FACADE), + LEVEL_UP_MOVE(33, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(39, MOVE_ACROBATICS), + LEVEL_UP_MOVE(41, MOVE_SLACK_OFF), + LEVEL_UP_MOVE(47, MOVE_FLAMETHROWER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMonfernoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_MACH_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 9, MOVE_TAUNT), + LEVEL_UP_MOVE(16, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(19, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(26, MOVE_FEINT), + LEVEL_UP_MOVE(29, MOVE_TORMENT), + LEVEL_UP_MOVE(36, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(39, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(46, MOVE_ACROBATICS), + LEVEL_UP_MOVE(49, MOVE_SLACK_OFF), + LEVEL_UP_MOVE(56, MOVE_FLARE_BLITZ), + LEVEL_UP_END +}; + +static const struct LevelUpMove sInfernapeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE( 1, MOVE_SLACK_OFF), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_MACH_PUNCH), + LEVEL_UP_MOVE(16, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(19, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(26, MOVE_FEINT), + LEVEL_UP_MOVE(29, MOVE_TORMENT), + LEVEL_UP_MOVE(42, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(47, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE(52, MOVE_ACROBATICS), + LEVEL_UP_MOVE(58, MOVE_CALM_MIND), + LEVEL_UP_MOVE(65, MOVE_RAGING_FURY), + LEVEL_UP_END +}; +#endif //P_FAMILY_CHIMCHAR + +#if P_FAMILY_PIPLUP +static const struct LevelUpMove sPiplupLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 4, MOVE_GROWL), + LEVEL_UP_MOVE( 8, MOVE_WATER_GUN), + LEVEL_UP_MOVE(11, MOVE_CHARM), + LEVEL_UP_MOVE(15, MOVE_PECK), + LEVEL_UP_MOVE(18, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(22, MOVE_SWAGGER), + LEVEL_UP_MOVE(25, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(29, MOVE_BRINE), + LEVEL_UP_MOVE(32, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(36, MOVE_MIST), + LEVEL_UP_MOVE(39, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(43, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPrinplupLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE(15, MOVE_PECK), + LEVEL_UP_MOVE(19, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(24, MOVE_SWAGGER), + LEVEL_UP_MOVE(28, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(33, MOVE_BRINE), + LEVEL_UP_MOVE(37, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(42, MOVE_MIST), + LEVEL_UP_MOVE(46, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sEmpoleonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_AQUA_JET), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(11, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(15, MOVE_PECK), + LEVEL_UP_MOVE(19, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(24, MOVE_SWAGGER), + LEVEL_UP_MOVE(28, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(33, MOVE_BRINE), + LEVEL_UP_MOVE(39, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(46, MOVE_MIST), + LEVEL_UP_MOVE(52, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(59, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(66, MOVE_WAVE_CRASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_PIPLUP + +#if P_FAMILY_STARLY +static const struct LevelUpMove sStarlyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 5, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(13, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(17, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(21, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(25, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(29, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(33, MOVE_AGILITY), + LEVEL_UP_MOVE(37, MOVE_BRAVE_BIRD), + LEVEL_UP_MOVE(41, MOVE_FINAL_GAMBIT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sStaraviaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(13, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(18, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(23, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(28, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(33, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(38, MOVE_AGILITY), + LEVEL_UP_MOVE(43, MOVE_BRAVE_BIRD), + LEVEL_UP_MOVE(48, MOVE_FINAL_GAMBIT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sStaraptorLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(18, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(23, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(28, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(33, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(41, MOVE_AGILITY), + LEVEL_UP_MOVE(49, MOVE_BRAVE_BIRD), + LEVEL_UP_MOVE(57, MOVE_FINAL_GAMBIT), + LEVEL_UP_END +}; +#endif //P_FAMILY_STARLY + +#if P_FAMILY_BIDOOF +static const struct LevelUpMove sBidoofLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 5, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 9, MOVE_ROLLOUT), + LEVEL_UP_MOVE(13, MOVE_HEADBUTT), + LEVEL_UP_MOVE(17, MOVE_TAUNT), + LEVEL_UP_MOVE(21, MOVE_YAWN), + LEVEL_UP_MOVE(25, MOVE_CRUNCH), + LEVEL_UP_MOVE(29, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(33, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(37, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(41, MOVE_AMNESIA), + LEVEL_UP_MOVE(45, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(49, MOVE_CURSE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBibarelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 5, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 9, MOVE_ROLLOUT), + LEVEL_UP_MOVE(13, MOVE_HEADBUTT), + LEVEL_UP_MOVE(18, MOVE_TAUNT), + LEVEL_UP_MOVE(23, MOVE_YAWN), + LEVEL_UP_MOVE(28, MOVE_CRUNCH), + LEVEL_UP_MOVE(33, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(38, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(43, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(48, MOVE_AMNESIA), + LEVEL_UP_MOVE(53, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(58, MOVE_CURSE), + LEVEL_UP_END +}; +#endif //P_FAMILY_BIDOOF + +#if P_FAMILY_KRICKETOT +static const struct LevelUpMove sKricketotLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 6, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE(16, MOVE_BUG_BITE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sKricketuneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE(14, MOVE_ABSORB), + LEVEL_UP_MOVE(18, MOVE_SING), + LEVEL_UP_MOVE(22, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(26, MOVE_SLASH), + LEVEL_UP_MOVE(30, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(34, MOVE_SCREECH), + LEVEL_UP_MOVE(36, MOVE_FELL_STINGER), + LEVEL_UP_MOVE(38, MOVE_TAUNT), + LEVEL_UP_MOVE(42, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(44, MOVE_STICKY_WEB), + LEVEL_UP_MOVE(46, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(50, MOVE_PERISH_SONG), + LEVEL_UP_END +}; +#endif //P_FAMILY_KRICKETOT + +#if P_FAMILY_SHINX +static const struct LevelUpMove sShinxLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 4, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 8, MOVE_CHARGE), + LEVEL_UP_MOVE(12, MOVE_BITE), + LEVEL_UP_MOVE(16, MOVE_SPARK), + LEVEL_UP_MOVE(20, MOVE_ROAR), + LEVEL_UP_MOVE(24, MOVE_VOLT_SWITCH), + LEVEL_UP_MOVE(28, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(32, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(36, MOVE_CRUNCH), + LEVEL_UP_MOVE(40, MOVE_DISCHARGE), + LEVEL_UP_MOVE(44, MOVE_SWAGGER), + LEVEL_UP_MOVE(48, MOVE_WILD_CHARGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLuxioLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE(12, MOVE_BITE), + LEVEL_UP_MOVE(18, MOVE_SPARK), + LEVEL_UP_MOVE(24, MOVE_ROAR), + LEVEL_UP_MOVE(31, MOVE_VOLT_SWITCH), + LEVEL_UP_MOVE(36, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(42, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(48, MOVE_CRUNCH), + LEVEL_UP_MOVE(54, MOVE_DISCHARGE), + LEVEL_UP_MOVE(60, MOVE_SWAGGER), + LEVEL_UP_MOVE(68, MOVE_WILD_CHARGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLuxrayLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_MOVE(12, MOVE_BITE), + LEVEL_UP_MOVE(18, MOVE_SPARK), + LEVEL_UP_MOVE(24, MOVE_ROAR), + LEVEL_UP_MOVE(33, MOVE_VOLT_SWITCH), + LEVEL_UP_MOVE(40, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(48, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(56, MOVE_CRUNCH), + LEVEL_UP_MOVE(64, MOVE_DISCHARGE), + LEVEL_UP_MOVE(72, MOVE_SWAGGER), + LEVEL_UP_MOVE(80, MOVE_WILD_CHARGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_SHINX + +#if P_FAMILY_CRANIDOS +static const struct LevelUpMove sCranidosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 6, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(10, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE(15, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(19, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(24, MOVE_ASSURANCE), + LEVEL_UP_MOVE(28, MOVE_SLAM), + LEVEL_UP_MOVE(33, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(37, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(42, MOVE_SCREECH), + LEVEL_UP_MOVE(46, MOVE_HEAD_SMASH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sRampardosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_ENDEAVOR), + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(10, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE(15, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(19, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(24, MOVE_ASSURANCE), + LEVEL_UP_MOVE(28, MOVE_SLAM), + LEVEL_UP_MOVE(36, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(43, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(51, MOVE_SCREECH), + LEVEL_UP_MOVE(58, MOVE_HEAD_SMASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_CRANIDOS + +#if P_FAMILY_SHIELDON +static const struct LevelUpMove sShieldonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 6, MOVE_TAUNT), + LEVEL_UP_MOVE(10, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(15, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(19, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(24, MOVE_SWAGGER), + LEVEL_UP_MOVE(28, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(33, MOVE_ENDURE), + LEVEL_UP_MOVE(37, MOVE_METAL_BURST), + LEVEL_UP_MOVE(42, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(46, MOVE_HEAVY_SLAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBastiodonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_BLOCK), + LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE( 1, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(15, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(19, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(24, MOVE_SWAGGER), + LEVEL_UP_MOVE(28, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(36, MOVE_ENDURE), + LEVEL_UP_MOVE(43, MOVE_METAL_BURST), + LEVEL_UP_MOVE(51, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(58, MOVE_HEAVY_SLAM), + LEVEL_UP_END +}; +#endif //P_FAMILY_SHIELDON + +#if P_FAMILY_BURMY +static const struct LevelUpMove sBurmyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE(10, MOVE_TACKLE), + LEVEL_UP_MOVE(15, MOVE_BUG_BITE), + LEVEL_UP_MOVE(20, MOVE_STRING_SHOT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sWormadamPlantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE(10, MOVE_PROTECT), + LEVEL_UP_MOVE(15, MOVE_BUG_BITE), + LEVEL_UP_MOVE(20, MOVE_STRING_SHOT), + LEVEL_UP_MOVE(23, MOVE_CONFUSION), + LEVEL_UP_MOVE(26, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(29, MOVE_GROWTH), + LEVEL_UP_MOVE(32, MOVE_PSYBEAM), + LEVEL_UP_MOVE(35, MOVE_INFESTATION), + LEVEL_UP_MOVE(38, MOVE_FLAIL), + LEVEL_UP_MOVE(41, MOVE_ATTRACT), + LEVEL_UP_MOVE(44, MOVE_PSYCHIC), + LEVEL_UP_MOVE(47, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(50, MOVE_BUG_BUZZ), + LEVEL_UP_END +}; + +static const struct LevelUpMove sWormadamSandyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE(10, MOVE_PROTECT), + LEVEL_UP_MOVE(15, MOVE_BUG_BITE), + LEVEL_UP_MOVE(20, MOVE_STRING_SHOT), + LEVEL_UP_MOVE(23, MOVE_CONFUSION), + LEVEL_UP_MOVE(26, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(29, MOVE_HARDEN), + LEVEL_UP_MOVE(32, MOVE_PSYBEAM), + LEVEL_UP_MOVE(35, MOVE_INFESTATION), + LEVEL_UP_MOVE(38, MOVE_FLAIL), + LEVEL_UP_MOVE(41, MOVE_ATTRACT), + LEVEL_UP_MOVE(44, MOVE_PSYCHIC), + LEVEL_UP_MOVE(47, MOVE_FISSURE), + LEVEL_UP_MOVE(50, MOVE_BUG_BUZZ), + LEVEL_UP_END +}; + +static const struct LevelUpMove sWormadamTrashLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), + LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE(10, MOVE_PROTECT), + LEVEL_UP_MOVE(15, MOVE_BUG_BITE), + LEVEL_UP_MOVE(20, MOVE_STRING_SHOT), + LEVEL_UP_MOVE(23, MOVE_CONFUSION), + LEVEL_UP_MOVE(26, MOVE_METAL_BURST), + LEVEL_UP_MOVE(29, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(32, MOVE_PSYBEAM), + LEVEL_UP_MOVE(35, MOVE_INFESTATION), + LEVEL_UP_MOVE(38, MOVE_FLAIL), + LEVEL_UP_MOVE(41, MOVE_ATTRACT), + LEVEL_UP_MOVE(44, MOVE_PSYCHIC), + LEVEL_UP_MOVE(47, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(50, MOVE_BUG_BUZZ), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMothimLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE(10, MOVE_PROTECT), + LEVEL_UP_MOVE(15, MOVE_BUG_BITE), + LEVEL_UP_MOVE(20, MOVE_STRING_SHOT), + LEVEL_UP_MOVE(23, MOVE_CONFUSION), + LEVEL_UP_MOVE(26, MOVE_GUST), + LEVEL_UP_MOVE(29, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(32, MOVE_PSYBEAM), + LEVEL_UP_MOVE(35, MOVE_ROOST), + LEVEL_UP_MOVE(38, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE(41, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(44, MOVE_PSYCHIC), + LEVEL_UP_MOVE(47, MOVE_LUNGE), + LEVEL_UP_MOVE(50, MOVE_BUG_BUZZ), + LEVEL_UP_END +}; +#endif //P_FAMILY_BURMY + +#if P_FAMILY_COMBEE +static const struct LevelUpMove sCombeeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE( 1, MOVE_STRUGGLE_BUG), + LEVEL_UP_END +}; + +static const struct LevelUpMove sVespiquenLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 4, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 8, MOVE_AROMATIC_MIST), + LEVEL_UP_MOVE(12, MOVE_FELL_STINGER), + LEVEL_UP_MOVE(16, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(20, MOVE_SWAGGER), + LEVEL_UP_MOVE(24, MOVE_ROOST), + LEVEL_UP_MOVE(28, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(32, MOVE_POWER_GEM), + LEVEL_UP_MOVE(36, MOVE_TOXIC), + LEVEL_UP_MOVE(40, MOVE_ATTACK_ORDER), + LEVEL_UP_MOVE(40, MOVE_DEFEND_ORDER), + LEVEL_UP_MOVE(44, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; +#endif //P_FAMILY_COMBEE + +#if P_FAMILY_PACHIRISU +static const struct LevelUpMove sPachirisuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 5, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_CHARM), + LEVEL_UP_MOVE(13, MOVE_SPARK), + LEVEL_UP_MOVE(17, MOVE_ENDURE), + LEVEL_UP_MOVE(19, MOVE_NUZZLE), + LEVEL_UP_MOVE(21, MOVE_SWIFT), + LEVEL_UP_MOVE(25, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(29, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(33, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(37, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(41, MOVE_DISCHARGE), + LEVEL_UP_MOVE(45, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(49, MOVE_THUNDER), + LEVEL_UP_END +}; +#endif //P_FAMILY_PACHIRISU + +#if P_FAMILY_BUIZEL +static const struct LevelUpMove sBuizelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_SOAK), + LEVEL_UP_MOVE(11, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(15, MOVE_WATER_GUN), + LEVEL_UP_MOVE(18, MOVE_BITE), + LEVEL_UP_MOVE(21, MOVE_SWIFT), + LEVEL_UP_MOVE(24, MOVE_AQUA_JET), + LEVEL_UP_MOVE(27, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(31, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(35, MOVE_LIQUIDATION), + LEVEL_UP_MOVE(38, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(41, MOVE_AGILITY), + LEVEL_UP_MOVE(45, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(49, MOVE_WAVE_CRASH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sFloatzelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_SOAK), + LEVEL_UP_MOVE(15, MOVE_WATER_GUN), + LEVEL_UP_MOVE(18, MOVE_BITE), + LEVEL_UP_MOVE(21, MOVE_SWIFT), + LEVEL_UP_MOVE(24, MOVE_AQUA_JET), + LEVEL_UP_MOVE(29, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(35, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(41, MOVE_LIQUIDATION), + LEVEL_UP_MOVE(46, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(51, MOVE_AGILITY), + LEVEL_UP_MOVE(57, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(62, MOVE_WAVE_CRASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_BUIZEL + +#if P_FAMILY_CHERUBI +static const struct LevelUpMove sCherubiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MORNING_SUN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_LEAFAGE), + LEVEL_UP_MOVE(10, MOVE_GROWTH), + LEVEL_UP_MOVE(15, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(20, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(26, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(30, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(35, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE(40, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(45, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCherrimLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_FLOWER_SHIELD), + LEVEL_UP_MOVE( 1, MOVE_MORNING_SUN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE(15, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(20, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(28, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(34, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(41, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE(48, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(55, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(62, MOVE_PETAL_DANCE), + LEVEL_UP_END +}; +#endif //P_FAMILY_CHERUBI + +#if P_FAMILY_SHELLOS +static const struct LevelUpMove sShellosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 5, MOVE_HARDEN), + LEVEL_UP_MOVE(10, MOVE_RECOVER), + LEVEL_UP_MOVE(15, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(20, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(25, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(31, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(35, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(40, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(45, MOVE_MEMENTO), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGastrodonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_RECOVER), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(15, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(20, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(25, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(33, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(39, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(46, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(53, MOVE_MEMENTO), + LEVEL_UP_END +}; +#endif //P_FAMILY_SHELLOS + +#if P_FAMILY_DRIFLOON +static const struct LevelUpMove sDrifloonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MINIMIZE), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 4, MOVE_GUST), + LEVEL_UP_MOVE( 8, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(12, MOVE_PAYBACK), + LEVEL_UP_MOVE(16, MOVE_HEX), + LEVEL_UP_MOVE(20, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(24, MOVE_STOCKPILE), + LEVEL_UP_MOVE(24, MOVE_SPIT_UP), + LEVEL_UP_MOVE(24, MOVE_SWALLOW), + LEVEL_UP_MOVE(29, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(32, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(36, MOVE_BATON_PASS), + LEVEL_UP_MOVE(40, MOVE_TAILWIND), + LEVEL_UP_MOVE(44, MOVE_EXPLOSION), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDrifblimLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_PHANTOM_FORCE), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_STRENGTH_SAP), + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_MINIMIZE), + LEVEL_UP_MOVE(12, MOVE_PAYBACK), + LEVEL_UP_MOVE(16, MOVE_HEX), + LEVEL_UP_MOVE(20, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(24, MOVE_SPIT_UP), + LEVEL_UP_MOVE(24, MOVE_SWALLOW), + LEVEL_UP_MOVE(24, MOVE_STOCKPILE), + LEVEL_UP_MOVE(31, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(36, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(42, MOVE_BATON_PASS), + LEVEL_UP_MOVE(48, MOVE_TAILWIND), + LEVEL_UP_MOVE(54, MOVE_EXPLOSION), + LEVEL_UP_END +}; +#endif //P_FAMILY_DRIFLOON + +#if P_FAMILY_BUNEARY +static const struct LevelUpMove sBunearyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 8, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(12, MOVE_AFTER_YOU), + LEVEL_UP_MOVE(16, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(20, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(24, MOVE_CHARM), + LEVEL_UP_MOVE(28, MOVE_BATON_PASS), + LEVEL_UP_MOVE(32, MOVE_HEADBUTT), + LEVEL_UP_MOVE(36, MOVE_AGILITY), + LEVEL_UP_MOVE(40, MOVE_ENTRAINMENT), + LEVEL_UP_MOVE(44, MOVE_FLATTER), + LEVEL_UP_MOVE(48, MOVE_BOUNCE), + LEVEL_UP_MOVE(52, MOVE_HEALING_WISH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLopunnyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE( 1, MOVE_MAGIC_COAT), + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(12, MOVE_AFTER_YOU), + LEVEL_UP_MOVE(16, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(20, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(24, MOVE_CHARM), + LEVEL_UP_MOVE(28, MOVE_BATON_PASS), + LEVEL_UP_MOVE(32, MOVE_HEADBUTT), + LEVEL_UP_MOVE(36, MOVE_AGILITY), + LEVEL_UP_MOVE(40, MOVE_ENTRAINMENT), + LEVEL_UP_MOVE(44, MOVE_FLATTER), + LEVEL_UP_MOVE(48, MOVE_BOUNCE), + LEVEL_UP_MOVE(52, MOVE_HEALING_WISH), + LEVEL_UP_MOVE(56, MOVE_HIGH_JUMP_KICK), + LEVEL_UP_END +}; +#endif //P_FAMILY_BUNEARY + +#if P_FAMILY_GLAMEOW +static const struct LevelUpMove sGlameowLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 5, MOVE_SCRATCH), + LEVEL_UP_MOVE( 8, MOVE_GROWL), + LEVEL_UP_MOVE(13, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(17, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(20, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(25, MOVE_CHARM), + LEVEL_UP_MOVE(29, MOVE_TAUNT), + LEVEL_UP_MOVE(32, MOVE_RETALIATE), + LEVEL_UP_MOVE(37, MOVE_SLASH), + LEVEL_UP_MOVE(41, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(44, MOVE_ATTRACT), + LEVEL_UP_MOVE(48, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(50, MOVE_PLAY_ROUGH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPuruglyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SWAGGER), + LEVEL_UP_MOVE( 1, MOVE_SWAGGER), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE( 5, MOVE_SCRATCH), + LEVEL_UP_MOVE( 8, MOVE_GROWL), + LEVEL_UP_MOVE(13, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(17, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(20, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(25, MOVE_CHARM), + LEVEL_UP_MOVE(29, MOVE_TAUNT), + LEVEL_UP_MOVE(32, MOVE_RETALIATE), + LEVEL_UP_MOVE(37, MOVE_SLASH), + LEVEL_UP_MOVE(45, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(52, MOVE_ATTRACT), + LEVEL_UP_MOVE(60, MOVE_HONE_CLAWS), + LEVEL_UP_END +}; +#endif //P_FAMILY_GLAMEOW + +#if P_FAMILY_STUNKY +static const struct LevelUpMove sStunkyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 3, MOVE_FEINT), + LEVEL_UP_MOVE( 6, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 9, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(15, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(18, MOVE_BITE), + LEVEL_UP_MOVE(21, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(24, MOVE_SCREECH), + LEVEL_UP_MOVE(27, MOVE_TOXIC), + LEVEL_UP_MOVE(30, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(33, MOVE_MEMENTO), + LEVEL_UP_MOVE(36, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(39, MOVE_BELCH), + LEVEL_UP_MOVE(42, MOVE_EXPLOSION), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSkuntankLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(15, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(18, MOVE_BITE), + LEVEL_UP_MOVE(21, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(24, MOVE_SCREECH), + LEVEL_UP_MOVE(27, MOVE_TOXIC), + LEVEL_UP_MOVE(30, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(33, MOVE_MEMENTO), + LEVEL_UP_MOVE(38, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(43, MOVE_BELCH), + LEVEL_UP_MOVE(48, MOVE_EXPLOSION), + LEVEL_UP_END +}; +#endif //P_FAMILY_STUNKY + +#if P_FAMILY_BRONZOR +static const struct LevelUpMove sBronzorLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 4, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 8, MOVE_PAYBACK), + LEVEL_UP_MOVE(12, MOVE_IMPRISON), + LEVEL_UP_MOVE(16, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(20, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(24, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(28, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(32, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(36, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(40, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(44, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBronzongLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_BLOCK), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_WEATHER_BALL), + LEVEL_UP_MOVE( 1, MOVE_PAYBACK), + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(12, MOVE_IMPRISON), + LEVEL_UP_MOVE(16, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(20, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(24, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(28, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(32, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(38, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(44, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(50, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(56, MOVE_RAIN_DANCE), + LEVEL_UP_END +}; +#endif //P_FAMILY_BRONZOR + +#if P_FAMILY_CHATOT +static const struct LevelUpMove sChatotLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE( 1, MOVE_CHATTER), + LEVEL_UP_MOVE( 1, MOVE_CONFIDE), + LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE( 5, MOVE_PECK), + LEVEL_UP_MOVE( 9, MOVE_GROWL), + LEVEL_UP_MOVE(13, MOVE_SING), + LEVEL_UP_MOVE(17, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(21, MOVE_CHATTER), + LEVEL_UP_MOVE(25, MOVE_TAUNT), + LEVEL_UP_MOVE(29, MOVE_ROUND), + LEVEL_UP_MOVE(33, MOVE_MIMIC), + LEVEL_UP_MOVE(37, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE(41, MOVE_ROOST), + LEVEL_UP_MOVE(45, MOVE_UPROAR), + LEVEL_UP_MOVE(49, MOVE_PARTING_SHOT), + LEVEL_UP_MOVE(50, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(57, MOVE_HYPER_VOICE), + LEVEL_UP_END +}; +#endif //P_FAMILY_CHATOT + +#if P_FAMILY_SPIRITOMB +static const struct LevelUpMove sSpiritombLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 5, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE(10, MOVE_SPITE), + LEVEL_UP_MOVE(15, MOVE_PAYBACK), + LEVEL_UP_MOVE(20, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(25, MOVE_HEX), + LEVEL_UP_MOVE(30, MOVE_MEMENTO), + LEVEL_UP_MOVE(35, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(40, MOVE_CURSE), + LEVEL_UP_MOVE(45, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(50, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(55, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(60, MOVE_DREAM_EATER), + LEVEL_UP_END +}; +#endif //P_FAMILY_SPIRITOMB + +#if P_FAMILY_GIBLE +static const struct LevelUpMove sGibleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), + LEVEL_UP_MOVE( 6, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(12, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(18, MOVE_BULLDOZE), + LEVEL_UP_MOVE(25, MOVE_BITE), + LEVEL_UP_MOVE(30, MOVE_SLASH), + LEVEL_UP_MOVE(36, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(42, MOVE_DIG), + LEVEL_UP_MOVE(48, MOVE_SANDSTORM), + LEVEL_UP_MOVE(54, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(60, MOVE_DRAGON_RUSH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGabiteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(18, MOVE_BULLDOZE), + LEVEL_UP_MOVE(27, MOVE_BITE), + LEVEL_UP_MOVE(34, MOVE_SLASH), + LEVEL_UP_MOVE(42, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(50, MOVE_DIG), + LEVEL_UP_MOVE(58, MOVE_SANDSTORM), + LEVEL_UP_MOVE(66, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(74, MOVE_DRAGON_RUSH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGarchompLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(18, MOVE_BULLDOZE), + LEVEL_UP_MOVE(27, MOVE_BITE), + LEVEL_UP_MOVE(34, MOVE_SLASH), + LEVEL_UP_MOVE(42, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(52, MOVE_DIG), + LEVEL_UP_MOVE(62, MOVE_SANDSTORM), + LEVEL_UP_MOVE(72, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(82, MOVE_DRAGON_RUSH), + LEVEL_UP_END +}; +#endif //P_FAMILY_GIBLE + +#if P_FAMILY_RIOLU +static const struct LevelUpMove sRioluLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_ENDURE), + LEVEL_UP_MOVE( 4, MOVE_FEINT), + LEVEL_UP_MOVE( 8, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(12, MOVE_COUNTER), + LEVEL_UP_MOVE(16, MOVE_WORK_UP), + LEVEL_UP_MOVE(20, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE(24, MOVE_VACUUM_WAVE), + LEVEL_UP_MOVE(28, MOVE_SCREECH), + LEVEL_UP_MOVE(32, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(36, MOVE_FORCE_PALM), + LEVEL_UP_MOVE(40, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(44, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(48, MOVE_COPYCAT), + LEVEL_UP_MOVE(52, MOVE_FINAL_GAMBIT), + LEVEL_UP_MOVE(56, MOVE_REVERSAL), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLucarioLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_AURA_SPHERE), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_VACUUM_WAVE), + LEVEL_UP_MOVE( 1, MOVE_DETECT), + LEVEL_UP_MOVE( 1, MOVE_REVERSAL), + LEVEL_UP_MOVE( 1, MOVE_SCREECH), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_FINAL_GAMBIT), + LEVEL_UP_MOVE( 1, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(12, MOVE_COUNTER), + LEVEL_UP_MOVE(16, MOVE_WORK_UP), + LEVEL_UP_MOVE(20, MOVE_FORCE_PALM), + LEVEL_UP_MOVE(24, MOVE_CALM_MIND), + LEVEL_UP_MOVE(28, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(32, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(36, MOVE_BONE_RUSH), + LEVEL_UP_MOVE(40, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(44, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(48, MOVE_METEOR_MASH), + LEVEL_UP_MOVE(52, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(56, MOVE_EXTREME_SPEED), + LEVEL_UP_MOVE(60, MOVE_CLOSE_COMBAT), + LEVEL_UP_END +}; +#endif //P_FAMILY_RIOLU + +#if P_FAMILY_HIPPOPOTAS +static const struct LevelUpMove sHippopotasLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_BITE), + LEVEL_UP_MOVE( 8, MOVE_YAWN), + LEVEL_UP_MOVE(12, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(16, MOVE_DIG), + LEVEL_UP_MOVE(20, MOVE_CRUNCH), + LEVEL_UP_MOVE(24, MOVE_SANDSTORM), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(32, MOVE_ROAR), + LEVEL_UP_MOVE(36, MOVE_REST), + LEVEL_UP_MOVE(40, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(44, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(48, MOVE_FISSURE), + LEVEL_UP_MOVE(52, MOVE_SLACK_OFF), + LEVEL_UP_END +}; + +static const struct LevelUpMove sHippowdonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE(12, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(16, MOVE_DIG), + LEVEL_UP_MOVE(20, MOVE_CRUNCH), + LEVEL_UP_MOVE(24, MOVE_SANDSTORM), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(32, MOVE_ROAR), + LEVEL_UP_MOVE(38, MOVE_REST), + LEVEL_UP_MOVE(44, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(56, MOVE_FISSURE), + LEVEL_UP_MOVE(62, MOVE_SLACK_OFF), + LEVEL_UP_END +}; +#endif //P_FAMILY_HIPPOPOTAS + +#if P_FAMILY_SKORUPI +static const struct LevelUpMove sSkorupiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 3, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE( 6, MOVE_FELL_STINGER), + LEVEL_UP_MOVE( 9, MOVE_POISON_FANG), + LEVEL_UP_MOVE(12, MOVE_BITE), + LEVEL_UP_MOVE(15, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(18, MOVE_BUG_BITE), + LEVEL_UP_MOVE(21, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(24, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(27, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(30, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(33, MOVE_TOXIC), + LEVEL_UP_MOVE(36, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(39, MOVE_CROSS_POISON), + LEVEL_UP_MOVE(42, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(45, MOVE_ACUPRESSURE), + LEVEL_UP_MOVE(48, MOVE_CRUNCH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDrapionLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE( 1, MOVE_FELL_STINGER), + LEVEL_UP_MOVE( 9, MOVE_POISON_FANG), + LEVEL_UP_MOVE(12, MOVE_BITE), + LEVEL_UP_MOVE(15, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(18, MOVE_BUG_BITE), + LEVEL_UP_MOVE(21, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(24, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(27, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(30, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(33, MOVE_TOXIC), + LEVEL_UP_MOVE(36, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(39, MOVE_CROSS_POISON), + LEVEL_UP_MOVE(44, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(49, MOVE_ACUPRESSURE), + LEVEL_UP_MOVE(54, MOVE_CRUNCH), + LEVEL_UP_END +}; +#endif //P_FAMILY_SKORUPI + +#if P_FAMILY_CROAGUNK +static const struct LevelUpMove sCroagunkLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 4, MOVE_ASTONISH), + LEVEL_UP_MOVE( 8, MOVE_TAUNT), + LEVEL_UP_MOVE(12, MOVE_FLATTER), + LEVEL_UP_MOVE(16, MOVE_LOW_KICK), + LEVEL_UP_MOVE(20, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(24, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(28, MOVE_SWAGGER), + LEVEL_UP_MOVE(32, MOVE_POISON_JAB), + LEVEL_UP_MOVE(36, MOVE_TOXIC), + LEVEL_UP_MOVE(40, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(44, MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE(48, MOVE_BELCH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sToxicroakLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE(12, MOVE_FLATTER), + LEVEL_UP_MOVE(16, MOVE_LOW_KICK), + LEVEL_UP_MOVE(20, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(24, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(28, MOVE_SWAGGER), + LEVEL_UP_MOVE(32, MOVE_POISON_JAB), + LEVEL_UP_MOVE(36, MOVE_TOXIC), + LEVEL_UP_MOVE(42, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(48, MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE(54, MOVE_BELCH), + LEVEL_UP_END +}; +#endif //P_FAMILY_CROAGUNK + +#if P_FAMILY_CARNIVINE +static const struct LevelUpMove sCarnivineLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BIND), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 7, MOVE_BITE), + LEVEL_UP_MOVE(11, MOVE_VINE_WHIP), + LEVEL_UP_MOVE(17, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(21, MOVE_INGRAIN), + LEVEL_UP_MOVE(27, MOVE_GRASS_KNOT), + LEVEL_UP_MOVE(31, MOVE_LEAF_TORNADO), + LEVEL_UP_MOVE(37, MOVE_STOCKPILE), + LEVEL_UP_MOVE(37, MOVE_SPIT_UP), + LEVEL_UP_MOVE(37, MOVE_SWALLOW), + LEVEL_UP_MOVE(41, MOVE_CRUNCH), + LEVEL_UP_MOVE(47, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(50, MOVE_POWER_WHIP), + LEVEL_UP_END +}; +#endif //P_FAMILY_CARNIVINE + +#if P_FAMILY_FINNEON +static const struct LevelUpMove sFinneonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 6, MOVE_WATER_GUN), + LEVEL_UP_MOVE(13, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(17, MOVE_GUST), + LEVEL_UP_MOVE(22, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(26, MOVE_ATTRACT), + LEVEL_UP_MOVE(29, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(33, MOVE_AQUA_RING), + LEVEL_UP_MOVE(38, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(42, MOVE_U_TURN), + LEVEL_UP_MOVE(45, MOVE_BOUNCE), + LEVEL_UP_MOVE(49, MOVE_TAILWIND), + LEVEL_UP_MOVE(54, MOVE_SOAK), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLumineonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_SOAK), + LEVEL_UP_MOVE(13, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(22, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(26, MOVE_ATTRACT), + LEVEL_UP_MOVE(29, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(35, MOVE_AQUA_RING), + LEVEL_UP_MOVE(42, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(48, MOVE_U_TURN), + LEVEL_UP_MOVE(53, MOVE_BOUNCE), + LEVEL_UP_MOVE(59, MOVE_TAILWIND), + LEVEL_UP_END +}; +#endif //P_FAMILY_FINNEON + +#if P_FAMILY_SNOVER +static const struct LevelUpMove sSnoverLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 5, MOVE_LEAFAGE), + LEVEL_UP_MOVE(10, MOVE_MIST), + LEVEL_UP_MOVE(15, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(20, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(25, MOVE_ICY_WIND), + LEVEL_UP_MOVE(30, MOVE_SWAGGER), + LEVEL_UP_MOVE(35, MOVE_INGRAIN), + LEVEL_UP_MOVE(41, MOVE_WOOD_HAMMER), + LEVEL_UP_MOVE(45, MOVE_BLIZZARD), + LEVEL_UP_MOVE(50, MOVE_SHEER_COLD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sAbomasnowLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_ICE_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_MIST), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), + LEVEL_UP_MOVE( 1, MOVE_AURORA_VEIL), + LEVEL_UP_MOVE(15, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(20, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(25, MOVE_ICY_WIND), + LEVEL_UP_MOVE(30, MOVE_SWAGGER), + LEVEL_UP_MOVE(35, MOVE_INGRAIN), + LEVEL_UP_MOVE(43, MOVE_WOOD_HAMMER), + LEVEL_UP_MOVE(49, MOVE_BLIZZARD), + LEVEL_UP_MOVE(56, MOVE_SHEER_COLD), + LEVEL_UP_END +}; +#endif //P_FAMILY_SNOVER + +#if P_FAMILY_ROTOM +static const struct LevelUpMove sRotomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 5, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(10, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(15, MOVE_CHARGE), + LEVEL_UP_MOVE(20, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(25, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(30, MOVE_SHOCK_WAVE), + LEVEL_UP_MOVE(35, MOVE_HEX), + LEVEL_UP_MOVE(40, MOVE_SUBSTITUTE), + LEVEL_UP_MOVE(45, MOVE_TRICK), + LEVEL_UP_MOVE(50, MOVE_DISCHARGE), + LEVEL_UP_MOVE(55, MOVE_UPROAR), + LEVEL_UP_END +}; +#endif //P_FAMILY_ROTOM + +#if P_FAMILY_UXIE +static const struct LevelUpMove sUxieLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SNORE), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_IRON_TAIL), + LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE( 1, MOVE_WONDER_ROOM), + LEVEL_UP_MOVE( 1, MOVE_MAGIC_ROOM), + LEVEL_UP_MOVE( 1, MOVE_ROUND), + LEVEL_UP_MOVE( 1, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE( 1, MOVE_EXPANDING_FORCE), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_REST), + LEVEL_UP_MOVE( 7, MOVE_SWIFT), + LEVEL_UP_MOVE(14, MOVE_ENDURE), + LEVEL_UP_MOVE(21, MOVE_PSYBEAM), + LEVEL_UP_MOVE(28, MOVE_IMPRISON), + LEVEL_UP_MOVE(35, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(42, MOVE_AMNESIA), + LEVEL_UP_MOVE(49, MOVE_PSYCHIC), + LEVEL_UP_MOVE(56, MOVE_YAWN), + LEVEL_UP_MOVE(63, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(70, MOVE_FLAIL), + LEVEL_UP_MOVE(77, MOVE_MEMENTO), + LEVEL_UP_MOVE(84, MOVE_MYSTICAL_POWER), + LEVEL_UP_END +}; +#endif //P_FAMILY_UXIE + +#if P_FAMILY_MESPRIT +static const struct LevelUpMove sMespritLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SNORE), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_IRON_TAIL), + LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE( 1, MOVE_WONDER_ROOM), + LEVEL_UP_MOVE( 1, MOVE_MAGIC_ROOM), + LEVEL_UP_MOVE( 1, MOVE_ROUND), + LEVEL_UP_MOVE( 1, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE( 1, MOVE_EXPANDING_FORCE), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_REST), + LEVEL_UP_MOVE( 7, MOVE_SWIFT), + LEVEL_UP_MOVE(14, MOVE_PROTECT), + LEVEL_UP_MOVE(21, MOVE_PSYBEAM), + LEVEL_UP_MOVE(28, MOVE_IMPRISON), + LEVEL_UP_MOVE(35, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(42, MOVE_CHARM), + LEVEL_UP_MOVE(49, MOVE_PSYCHIC), + LEVEL_UP_MOVE(56, MOVE_FLATTER), + LEVEL_UP_MOVE(63, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(70, MOVE_COPYCAT), + LEVEL_UP_MOVE(77, MOVE_HEALING_WISH), + LEVEL_UP_MOVE(84, MOVE_MYSTICAL_POWER), + LEVEL_UP_END +}; +#endif //P_FAMILY_MESPRIT + +#if P_FAMILY_AZELF +static const struct LevelUpMove sAzelfLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SNORE), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_IRON_TAIL), + LEVEL_UP_MOVE( 1, MOVE_PAYBACK), + LEVEL_UP_MOVE( 1, MOVE_ASSURANCE), + LEVEL_UP_MOVE( 1, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE( 1, MOVE_WONDER_ROOM), + LEVEL_UP_MOVE( 1, MOVE_MAGIC_ROOM), + LEVEL_UP_MOVE( 1, MOVE_ROUND), + LEVEL_UP_MOVE( 1, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE( 1, MOVE_EXPANDING_FORCE), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_REST), + LEVEL_UP_MOVE( 7, MOVE_SWIFT), + LEVEL_UP_MOVE(14, MOVE_DETECT), + LEVEL_UP_MOVE(21, MOVE_PSYBEAM), + LEVEL_UP_MOVE(28, MOVE_IMPRISON), + LEVEL_UP_MOVE(35, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(42, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(49, MOVE_PSYCHIC), + LEVEL_UP_MOVE(56, MOVE_UPROAR), + LEVEL_UP_MOVE(63, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(70, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(77, MOVE_EXPLOSION), + LEVEL_UP_MOVE(84, MOVE_MYSTICAL_POWER), + LEVEL_UP_END +}; +#endif //P_FAMILY_AZELF + +#if P_FAMILY_DIALGA +static const struct LevelUpMove sDialgaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 8, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(16, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(24, MOVE_SLASH), + LEVEL_UP_MOVE(32, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(40, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(48, MOVE_AURA_SPHERE), + LEVEL_UP_MOVE(56, MOVE_POWER_GEM), + LEVEL_UP_MOVE(64, MOVE_METAL_BURST), + LEVEL_UP_MOVE(72, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(80, MOVE_IRON_TAIL), + LEVEL_UP_MOVE(88, MOVE_ROAR_OF_TIME), + LEVEL_UP_END +}; +#endif //P_FAMILY_DIALGA + +#if P_FAMILY_PALKIA +static const struct LevelUpMove sPalkiaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 1, MOVE_WATER_PULSE), + LEVEL_UP_MOVE( 8, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(16, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(24, MOVE_SLASH), + LEVEL_UP_MOVE(32, MOVE_AQUA_RING), + LEVEL_UP_MOVE(48, MOVE_AURA_SPHERE), + LEVEL_UP_MOVE(56, MOVE_POWER_GEM), + LEVEL_UP_MOVE(64, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(72, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(80, MOVE_SPACIAL_REND), + LEVEL_UP_MOVE(88, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; +#endif //P_FAMILY_PALKIA + +#if P_FAMILY_HEATRAN +static const struct LevelUpMove sHeatranLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE( 6, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(12, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(18, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(24, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(30, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(36, MOVE_CRUNCH), + LEVEL_UP_MOVE(42, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(48, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(54, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(60, MOVE_HEAT_WAVE), + LEVEL_UP_MOVE(66, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(72, MOVE_MAGMA_STORM), + LEVEL_UP_END +}; +#endif //P_FAMILY_HEATRAN + +#if P_FAMILY_REGIGIGAS +static const struct LevelUpMove sRegigigasLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 6, MOVE_PAYBACK), + LEVEL_UP_MOVE(12, MOVE_FACADE), + LEVEL_UP_MOVE(18, MOVE_STOMP), + LEVEL_UP_MOVE(24, MOVE_PROTECT), + LEVEL_UP_MOVE(30, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(36, MOVE_MEGA_PUNCH), + LEVEL_UP_MOVE(42, MOVE_BODY_PRESS), + LEVEL_UP_MOVE(48, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(54, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(60, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(66, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(72, MOVE_GIGA_IMPACT), + LEVEL_UP_MOVE(78, MOVE_CRUSH_GRIP), + LEVEL_UP_END +}; +#endif //P_FAMILY_REGIGIGAS + +#if P_FAMILY_GIRATINA +static const struct LevelUpMove sGiratinaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_DEFOG), + LEVEL_UP_MOVE( 7, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(14, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(21, MOVE_HEX), + LEVEL_UP_MOVE(28, MOVE_SLASH), + LEVEL_UP_MOVE(35, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(42, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE(49, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE(56, MOVE_AURA_SPHERE), + LEVEL_UP_MOVE(63, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(70, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(77, MOVE_SHADOW_FORCE), + LEVEL_UP_MOVE(84, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; +#endif //P_FAMILY_GIRATINA + +#if P_FAMILY_CRESSELIA +static const struct LevelUpMove sCresseliaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 6, MOVE_MIST), + LEVEL_UP_MOVE(12, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(18, MOVE_PSYBEAM), + LEVEL_UP_MOVE(24, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE(30, MOVE_SLASH), + LEVEL_UP_MOVE(36, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE(42, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(48, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(54, MOVE_PSYCHIC), + LEVEL_UP_MOVE(60, MOVE_MOONBLAST), + LEVEL_UP_MOVE(66, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(72, MOVE_LUNAR_DANCE), + LEVEL_UP_MOVE(72, MOVE_LUNAR_BLESSING), + LEVEL_UP_END +}; +#endif //P_FAMILY_CRESSELIA + +#if P_FAMILY_MANAPHY +static const struct LevelUpMove sPhioneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 9, MOVE_CHARM), + LEVEL_UP_MOVE(16, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(24, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(31, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(39, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(46, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(54, MOVE_AQUA_RING), + LEVEL_UP_MOVE(61, MOVE_DIVE), + LEVEL_UP_MOVE(69, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(75, MOVE_TAKE_HEART), + LEVEL_UP_END +}; + +static const struct LevelUpMove sManaphyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_TAIL_GLOW), + LEVEL_UP_MOVE( 1, MOVE_HEART_SWAP), + LEVEL_UP_MOVE( 9, MOVE_CHARM), + LEVEL_UP_MOVE(16, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(24, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(31, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(39, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(46, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(54, MOVE_AQUA_RING), + LEVEL_UP_MOVE(61, MOVE_DIVE), + LEVEL_UP_MOVE(69, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(76, MOVE_TAKE_HEART), + LEVEL_UP_END +}; +#endif //P_FAMILY_MANAPHY + +#if P_FAMILY_DARKRAI +static const struct LevelUpMove sDarkraiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE(11, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(20, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(29, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(38, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(47, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(57, MOVE_HAZE), + LEVEL_UP_MOVE(66, MOVE_DARK_VOID), + LEVEL_UP_MOVE(75, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(84, MOVE_DREAM_EATER), + LEVEL_UP_MOVE(93, MOVE_DARK_PULSE), + LEVEL_UP_END +}; +#endif //P_FAMILY_DARKRAI + +#if P_FAMILY_SHAYMIN +static const struct LevelUpMove sShayminLandLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE(10, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(19, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(28, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(37, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(46, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(55, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(64, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE(73, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(82, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(91, MOVE_HEALING_WISH), + LEVEL_UP_MOVE(100, MOVE_SEED_FLARE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sShayminSkyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE(10, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(19, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(28, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(37, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(46, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(55, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(64, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(73, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(82, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(91, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(100, MOVE_SEED_FLARE), + LEVEL_UP_END +}; +#endif //P_FAMILY_SHAYMIN + +#if P_FAMILY_ARCEUS +static const struct LevelUpMove sArceusLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(10, MOVE_GRAVITY), + LEVEL_UP_MOVE(20, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(30, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(40, MOVE_EXTREME_SPEED), + LEVEL_UP_MOVE(50, MOVE_HEALING_WISH), + LEVEL_UP_MOVE(60, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(70, MOVE_RECOVER), + LEVEL_UP_MOVE(80, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(90, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(100, MOVE_JUDGMENT), + LEVEL_UP_END +}; +#endif //P_FAMILY_ARCEUS + +#if P_FAMILY_VICTINI +static const struct LevelUpMove sVictiniLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_V_CREATE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 7, MOVE_WORK_UP), + LEVEL_UP_MOVE(14, MOVE_INCINERATE), + LEVEL_UP_MOVE(21, MOVE_STORED_POWER), + LEVEL_UP_MOVE(28, MOVE_HEADBUTT), + LEVEL_UP_MOVE(35, MOVE_ENDURE), + LEVEL_UP_MOVE(42, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(49, MOVE_INFERNO), + LEVEL_UP_MOVE(56, MOVE_REVERSAL), + LEVEL_UP_MOVE(63, MOVE_SEARING_SHOT), + LEVEL_UP_MOVE(70, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(77, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE(84, MOVE_OVERHEAT), + LEVEL_UP_MOVE(91, MOVE_FINAL_GAMBIT), + LEVEL_UP_END +}; +#endif //P_FAMILY_VICTINI + +#if P_FAMILY_SNIVY +static const struct LevelUpMove sSnivyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_VINE_WHIP), + LEVEL_UP_MOVE(10, MOVE_WRAP), + LEVEL_UP_MOVE(13, MOVE_GROWTH), + LEVEL_UP_MOVE(16, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(19, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(22, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(25, MOVE_SLAM), + LEVEL_UP_MOVE(28, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(31, MOVE_COIL), + LEVEL_UP_MOVE(34, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(37, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(40, MOVE_LEAF_STORM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sServineLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE(13, MOVE_GROWTH), + LEVEL_UP_MOVE(16, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(20, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(24, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(28, MOVE_SLAM), + LEVEL_UP_MOVE(32, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(36, MOVE_COIL), + LEVEL_UP_MOVE(40, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(44, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(48, MOVE_LEAF_STORM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSerperiorLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE(13, MOVE_GROWTH), + LEVEL_UP_MOVE(16, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(20, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(24, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(28, MOVE_SLAM), + LEVEL_UP_MOVE(32, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(38, MOVE_COIL), + LEVEL_UP_MOVE(44, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(50, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(56, MOVE_LEAF_STORM), + LEVEL_UP_END +}; +#endif //P_FAMILY_SNIVY + +#if P_FAMILY_TEPIG +static const struct LevelUpMove sTepigLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 3, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7, MOVE_EMBER), + LEVEL_UP_MOVE( 9, MOVE_ENDURE), + LEVEL_UP_MOVE(13, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(15, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(19, MOVE_SMOG), + LEVEL_UP_MOVE(21, MOVE_ROLLOUT), + LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(27, MOVE_HEAT_CRASH), + LEVEL_UP_MOVE(31, MOVE_ASSURANCE), + LEVEL_UP_MOVE(33, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(37, MOVE_HEAD_SMASH), + LEVEL_UP_MOVE(39, MOVE_ROAR), + LEVEL_UP_MOVE(43, MOVE_FLARE_BLITZ), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPigniteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_ARM_THRUST), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_ENDURE), + LEVEL_UP_MOVE(13, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(15, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(20, MOVE_SMOG), + LEVEL_UP_MOVE(23, MOVE_ROLLOUT), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(31, MOVE_HEAT_CRASH), + LEVEL_UP_MOVE(36, MOVE_ASSURANCE), + LEVEL_UP_MOVE(39, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(44, MOVE_HEAD_SMASH), + LEVEL_UP_MOVE(47, MOVE_ROAR), + LEVEL_UP_MOVE(52, MOVE_FLARE_BLITZ), + LEVEL_UP_END +}; + +static const struct LevelUpMove sEmboarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ENDURE), + LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_ARM_THRUST), + LEVEL_UP_MOVE(13, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(15, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(20, MOVE_SMOG), + LEVEL_UP_MOVE(23, MOVE_ROLLOUT), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(31, MOVE_HEAT_CRASH), + LEVEL_UP_MOVE(38, MOVE_ASSURANCE), + LEVEL_UP_MOVE(43, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(50, MOVE_HEAD_SMASH), + LEVEL_UP_MOVE(55, MOVE_ROAR), + LEVEL_UP_MOVE(62, MOVE_FLARE_BLITZ), + LEVEL_UP_END +}; +#endif //P_FAMILY_TEPIG + +#if P_FAMILY_OSHAWOTT +static const struct LevelUpMove sOshawottLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7, MOVE_WATER_GUN), + LEVEL_UP_MOVE(11, MOVE_SOAK), + LEVEL_UP_MOVE(13, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(17, MOVE_RAZOR_SHELL), + LEVEL_UP_MOVE(19, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(23, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(25, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(29, MOVE_AQUA_JET), + LEVEL_UP_MOVE(31, MOVE_ENCORE), + LEVEL_UP_MOVE(35, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(37, MOVE_RETALIATE), + LEVEL_UP_MOVE(41, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(43, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDewottLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_SOAK), + LEVEL_UP_MOVE(13, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(18, MOVE_RAZOR_SHELL), + LEVEL_UP_MOVE(21, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(26, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(29, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(34, MOVE_AQUA_JET), + LEVEL_UP_MOVE(37, MOVE_ENCORE), + LEVEL_UP_MOVE(42, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(45, MOVE_RETALIATE), + LEVEL_UP_MOVE(50, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(53, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSamurottLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_SOAK), + LEVEL_UP_MOVE(13, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(18, MOVE_RAZOR_SHELL), + LEVEL_UP_MOVE(21, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(25, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(29, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(34, MOVE_AQUA_JET), + LEVEL_UP_MOVE(39, MOVE_ENCORE), + LEVEL_UP_MOVE(46, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(51, MOVE_RETALIATE), + LEVEL_UP_MOVE(58, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(63, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +#if P_HISUIAN_FORMS +static const struct LevelUpMove sSamurottHisuiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_CEASELESS_EDGE), + LEVEL_UP_MOVE( 1, MOVE_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE(13, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(18, MOVE_RAZOR_SHELL), + LEVEL_UP_MOVE(21, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(25, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(29, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(34, MOVE_AQUA_JET), + LEVEL_UP_MOVE(39, MOVE_ENCORE), + LEVEL_UP_MOVE(46, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(51, MOVE_RETALIATE), + LEVEL_UP_MOVE(58, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(63, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; +#endif //P_HISUIAN_FORMS +#endif //P_FAMILY_OSHAWOTT + +#if P_FAMILY_PATRAT +static const struct LevelUpMove sPatratLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 3, MOVE_LEER), + LEVEL_UP_MOVE( 6, MOVE_BITE), + LEVEL_UP_MOVE( 8, MOVE_BIDE), + LEVEL_UP_MOVE(11, MOVE_DETECT), + LEVEL_UP_MOVE(13, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(16, MOVE_CRUNCH), + LEVEL_UP_MOVE(18, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(21, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(23, MOVE_AFTER_YOU), + LEVEL_UP_MOVE(26, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(28, MOVE_WORK_UP), + LEVEL_UP_MOVE(31, MOVE_HYPER_FANG), + LEVEL_UP_MOVE(33, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(36, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(38, MOVE_BATON_PASS), + LEVEL_UP_MOVE(41, MOVE_SLAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sWatchogLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 3, MOVE_LEER), + LEVEL_UP_MOVE( 6, MOVE_BITE), + LEVEL_UP_MOVE( 8, MOVE_BIDE), + LEVEL_UP_MOVE(11, MOVE_DETECT), + LEVEL_UP_MOVE(13, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(16, MOVE_CRUNCH), + LEVEL_UP_MOVE(18, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(22, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(25, MOVE_AFTER_YOU), + LEVEL_UP_MOVE(29, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(32, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(36, MOVE_HYPER_FANG), + LEVEL_UP_MOVE(39, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(43, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(46, MOVE_BATON_PASS), + LEVEL_UP_MOVE(50, MOVE_SLAM), + LEVEL_UP_END +}; +#endif //P_FAMILY_PATRAT + +#if P_FAMILY_LILLIPUP +static const struct LevelUpMove sLillipupLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 4, MOVE_WORK_UP), + LEVEL_UP_MOVE( 8, MOVE_BITE), + LEVEL_UP_MOVE(12, MOVE_RETALIATE), + LEVEL_UP_MOVE(17, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(20, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(24, MOVE_CRUNCH), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(32, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(36, MOVE_REVERSAL), + LEVEL_UP_MOVE(40, MOVE_ROAR), + LEVEL_UP_MOVE(44, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(48, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sHerdierLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WORK_UP), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE(12, MOVE_RETALIATE), + LEVEL_UP_MOVE(19, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(24, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(30, MOVE_CRUNCH), + LEVEL_UP_MOVE(36, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(42, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(48, MOVE_REVERSAL), + LEVEL_UP_MOVE(54, MOVE_ROAR), + LEVEL_UP_MOVE(60, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(66, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sStoutlandLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WORK_UP), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE(12, MOVE_RETALIATE), + LEVEL_UP_MOVE(19, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(24, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(30, MOVE_CRUNCH), + LEVEL_UP_MOVE(38, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(46, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(54, MOVE_REVERSAL), + LEVEL_UP_MOVE(62, MOVE_ROAR), + LEVEL_UP_MOVE(70, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(78, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; +#endif //P_FAMILY_LILLIPUP + +#if P_FAMILY_PURRLOIN +static const struct LevelUpMove sPurrloinLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 4, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 5, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(16, MOVE_TORMENT), + LEVEL_UP_MOVE(21, MOVE_ASSURANCE), + LEVEL_UP_MOVE(24, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(28, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(32, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(36, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(40, MOVE_PLAY_ROUGH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLiepardLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(16, MOVE_TORMENT), + LEVEL_UP_MOVE(23, MOVE_ASSURANCE), + LEVEL_UP_MOVE(28, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(34, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(40, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(46, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(52, MOVE_PLAY_ROUGH), + LEVEL_UP_END +}; +#endif //P_FAMILY_PURRLOIN + +#if P_FAMILY_PANSAGE +static const struct LevelUpMove sPansageLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), + LEVEL_UP_MOVE( 4, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_LICK), + LEVEL_UP_MOVE(10, MOVE_VINE_WHIP), + LEVEL_UP_MOVE(13, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(16, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(19, MOVE_BITE), + LEVEL_UP_MOVE(22, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(25, MOVE_TORMENT), + LEVEL_UP_MOVE(28, MOVE_FLING), + LEVEL_UP_MOVE(31, MOVE_ACROBATICS), + LEVEL_UP_MOVE(34, MOVE_GRASS_KNOT), + LEVEL_UP_MOVE(37, MOVE_RECYCLE), + LEVEL_UP_MOVE(40, MOVE_NATURAL_GIFT), + LEVEL_UP_MOVE(43, MOVE_CRUNCH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSimisageLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), + LEVEL_UP_END +}; +#endif //P_FAMILY_PANSAGE + +#if P_FAMILY_PANSEAR +static const struct LevelUpMove sPansearLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), + LEVEL_UP_MOVE( 4, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_LICK), + LEVEL_UP_MOVE(10, MOVE_INCINERATE), + LEVEL_UP_MOVE(13, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(16, MOVE_YAWN), + LEVEL_UP_MOVE(19, MOVE_BITE), + LEVEL_UP_MOVE(22, MOVE_FLAME_BURST), + LEVEL_UP_MOVE(25, MOVE_AMNESIA), + LEVEL_UP_MOVE(28, MOVE_FLING), + LEVEL_UP_MOVE(31, MOVE_ACROBATICS), + LEVEL_UP_MOVE(34, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(37, MOVE_RECYCLE), + LEVEL_UP_MOVE(40, MOVE_NATURAL_GIFT), + LEVEL_UP_MOVE(43, MOVE_CRUNCH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSimisearLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE( 1, MOVE_FLAME_BURST), + LEVEL_UP_END +}; +#endif //P_FAMILY_PANSEAR + +#if P_FAMILY_PANPOUR +static const struct LevelUpMove sPanpourLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), + LEVEL_UP_MOVE( 4, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_LICK), + LEVEL_UP_MOVE(10, MOVE_WATER_GUN), + LEVEL_UP_MOVE(13, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(16, MOVE_WATER_SPORT), + LEVEL_UP_MOVE(19, MOVE_BITE), + LEVEL_UP_MOVE(22, MOVE_SCALD), + LEVEL_UP_MOVE(25, MOVE_TAUNT), + LEVEL_UP_MOVE(28, MOVE_FLING), + LEVEL_UP_MOVE(31, MOVE_ACROBATICS), + LEVEL_UP_MOVE(34, MOVE_BRINE), + LEVEL_UP_MOVE(37, MOVE_RECYCLE), + LEVEL_UP_MOVE(40, MOVE_NATURAL_GIFT), + LEVEL_UP_MOVE(43, MOVE_CRUNCH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSimipourLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE( 1, MOVE_SCALD), + LEVEL_UP_END +}; +#endif //P_FAMILY_PANPOUR + +#if P_FAMILY_MUNNA +static const struct LevelUpMove sMunnaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 4, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 8, MOVE_PSYBEAM), + LEVEL_UP_MOVE(12, MOVE_IMPRISON), + LEVEL_UP_MOVE(16, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(20, MOVE_MAGIC_COAT), + LEVEL_UP_MOVE(24, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_CALM_MIND), + LEVEL_UP_MOVE(32, MOVE_YAWN), + LEVEL_UP_MOVE(36, MOVE_PSYCHIC), + LEVEL_UP_MOVE(40, MOVE_MOONBLAST), + LEVEL_UP_MOVE(44, MOVE_DREAM_EATER), + LEVEL_UP_MOVE(48, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(52, MOVE_WONDER_ROOM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMusharnaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PSYCHIC_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_IMPRISON), + LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), + LEVEL_UP_MOVE( 1, MOVE_MAGIC_COAT), + LEVEL_UP_MOVE( 1, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE( 1, MOVE_CALM_MIND), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_PSYCHIC), + LEVEL_UP_MOVE( 1, MOVE_MOONBLAST), + LEVEL_UP_MOVE( 1, MOVE_DREAM_EATER), + LEVEL_UP_MOVE( 1, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE( 1, MOVE_WONDER_ROOM), + LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_PSYBEAM), + LEVEL_UP_END +}; +#endif //P_FAMILY_MUNNA + +#if P_FAMILY_PIDOVE +static const struct LevelUpMove sPidoveLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 4, MOVE_LEER), + LEVEL_UP_MOVE( 8, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(12, MOVE_TAUNT), + LEVEL_UP_MOVE(16, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(20, MOVE_SWAGGER), + LEVEL_UP_MOVE(24, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(28, MOVE_DETECT), + LEVEL_UP_MOVE(32, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(36, MOVE_ROOST), + LEVEL_UP_MOVE(40, MOVE_TAILWIND), + LEVEL_UP_MOVE(44, MOVE_SKY_ATTACK), + LEVEL_UP_END +}; + +static const struct LevelUpMove sTranquillLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(12, MOVE_TAUNT), + LEVEL_UP_MOVE(16, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(20, MOVE_SWAGGER), + LEVEL_UP_MOVE(26, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(34, MOVE_DETECT), + LEVEL_UP_MOVE(38, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(44, MOVE_ROOST), + LEVEL_UP_MOVE(50, MOVE_TAILWIND), + LEVEL_UP_MOVE(56, MOVE_SKY_ATTACK), + LEVEL_UP_END +}; + +static const struct LevelUpMove sUnfezantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(12, MOVE_TAUNT), + LEVEL_UP_MOVE(16, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(20, MOVE_SWAGGER), + LEVEL_UP_MOVE(26, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(36, MOVE_DETECT), + LEVEL_UP_MOVE(42, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(50, MOVE_ROOST), + LEVEL_UP_MOVE(58, MOVE_TAILWIND), + LEVEL_UP_MOVE(66, MOVE_SKY_ATTACK), + LEVEL_UP_END +}; +#endif //P_FAMILY_PIDOVE + +#if P_FAMILY_BLITZLE +static const struct LevelUpMove sBlitzleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 8, MOVE_CHARGE), + LEVEL_UP_MOVE(11, MOVE_SHOCK_WAVE), + LEVEL_UP_MOVE(15, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(18, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(22, MOVE_SPARK), + LEVEL_UP_MOVE(25, MOVE_STOMP), + LEVEL_UP_MOVE(29, MOVE_DISCHARGE), + LEVEL_UP_MOVE(33, MOVE_AGILITY), + LEVEL_UP_MOVE(35, MOVE_WILD_CHARGE), + LEVEL_UP_MOVE(40, MOVE_THRASH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sZebstrikaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE(11, MOVE_SHOCK_WAVE), + LEVEL_UP_MOVE(18, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(25, MOVE_SPARK), + LEVEL_UP_MOVE(31, MOVE_STOMP), + LEVEL_UP_MOVE(36, MOVE_DISCHARGE), + LEVEL_UP_MOVE(42, MOVE_AGILITY), + LEVEL_UP_MOVE(47, MOVE_WILD_CHARGE), + LEVEL_UP_MOVE(53, MOVE_THRASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_BLITZLE + +#if P_FAMILY_ROGGENROLA +static const struct LevelUpMove sRoggenrolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_HARDEN), + LEVEL_UP_MOVE( 8, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(12, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(16, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(20, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(24, MOVE_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(32, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(36, MOVE_SANDSTORM), + LEVEL_UP_MOVE(40, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(44, MOVE_EXPLOSION), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBoldoreLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_POWER_GEM), + LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(12, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(16, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(20, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(24, MOVE_HEADBUTT), + LEVEL_UP_MOVE(30, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(36, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(42, MOVE_SANDSTORM), + LEVEL_UP_MOVE(48, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(54, MOVE_EXPLOSION), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGigalithLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(12, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(16, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(20, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(24, MOVE_HEADBUTT), + LEVEL_UP_MOVE(30, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(36, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(42, MOVE_SANDSTORM), + LEVEL_UP_MOVE(48, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(54, MOVE_EXPLOSION), + LEVEL_UP_END +}; +#endif //P_FAMILY_ROGGENROLA + +#if P_FAMILY_WOOBAT +static const struct LevelUpMove sWoobatLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_ATTRACT), + LEVEL_UP_MOVE( 5, MOVE_CONFUSION), + LEVEL_UP_MOVE(10, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(15, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(20, MOVE_IMPRISON), + LEVEL_UP_MOVE(25, MOVE_ASSURANCE), + LEVEL_UP_MOVE(30, MOVE_AMNESIA), + LEVEL_UP_MOVE(35, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC), + LEVEL_UP_MOVE(45, MOVE_CALM_MIND), + LEVEL_UP_MOVE(50, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(55, MOVE_SIMPLE_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSwoobatLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_ATTRACT), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(15, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(20, MOVE_IMPRISON), + LEVEL_UP_MOVE(25, MOVE_ASSURANCE), + LEVEL_UP_MOVE(30, MOVE_AMNESIA), + LEVEL_UP_MOVE(35, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC), + LEVEL_UP_MOVE(45, MOVE_CALM_MIND), + LEVEL_UP_MOVE(50, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(55, MOVE_SIMPLE_BEAM), + LEVEL_UP_END +}; +#endif //P_FAMILY_WOOBAT + +#if P_FAMILY_DRILBUR +static const struct LevelUpMove sDrilburLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 4, MOVE_SCRATCH), + LEVEL_UP_MOVE( 8, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(16, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(20, MOVE_SANDSTORM), + LEVEL_UP_MOVE(24, MOVE_CRUSH_CLAW), + LEVEL_UP_MOVE(28, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(32, MOVE_DIG), + LEVEL_UP_MOVE(36, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(40, MOVE_DRILL_RUN), + LEVEL_UP_MOVE(44, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(48, MOVE_FISSURE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sExcadrillLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_HORN_DRILL), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(16, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(20, MOVE_SANDSTORM), + LEVEL_UP_MOVE(24, MOVE_CRUSH_CLAW), + LEVEL_UP_MOVE(28, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(34, MOVE_DIG), + LEVEL_UP_MOVE(40, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(46, MOVE_DRILL_RUN), + LEVEL_UP_MOVE(52, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(58, MOVE_FISSURE), + LEVEL_UP_END +}; +#endif //P_FAMILY_DRILBUR + +#if P_FAMILY_AUDINO +static const struct LevelUpMove sAudinoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), + LEVEL_UP_MOVE( 4, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 9, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(12, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(16, MOVE_GROWL), + LEVEL_UP_MOVE(20, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(24, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(28, MOVE_AFTER_YOU), + LEVEL_UP_MOVE(32, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(36, MOVE_SIMPLE_BEAM), + LEVEL_UP_MOVE(40, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(44, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(48, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(52, MOVE_ENTRAINMENT), + LEVEL_UP_MOVE(56, MOVE_MISTY_TERRAIN), + LEVEL_UP_MOVE(60, MOVE_LAST_RESORT), + LEVEL_UP_END +}; +#endif //P_FAMILY_AUDINO + +#if P_FAMILY_TIMBURR +static const struct LevelUpMove sTimburrLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 4, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 8, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(12, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(16, MOVE_BULK_UP), + LEVEL_UP_MOVE(20, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(24, MOVE_SLAM), + LEVEL_UP_MOVE(28, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(32, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_MOVE(36, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(40, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(44, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(48, MOVE_FOCUS_PUNCH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGurdurrLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(12, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(16, MOVE_BULK_UP), + LEVEL_UP_MOVE(20, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(24, MOVE_SLAM), + LEVEL_UP_MOVE(30, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(36, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_MOVE(42, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(48, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(54, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(60, MOVE_FOCUS_PUNCH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sConkeldurrLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(12, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(16, MOVE_BULK_UP), + LEVEL_UP_MOVE(20, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(24, MOVE_SLAM), + LEVEL_UP_MOVE(30, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(36, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_MOVE(42, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(48, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(54, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(60, MOVE_FOCUS_PUNCH), + LEVEL_UP_END +}; +#endif //P_FAMILY_TIMBURR + +#if P_FAMILY_TYMPOLE +static const struct LevelUpMove sTympoleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 4, MOVE_ACID), + LEVEL_UP_MOVE( 8, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(12, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(16, MOVE_ROUND), + LEVEL_UP_MOVE(20, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(24, MOVE_FLAIL), + LEVEL_UP_MOVE(28, MOVE_UPROAR), + LEVEL_UP_MOVE(32, MOVE_AQUA_RING), + LEVEL_UP_MOVE(36, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(40, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(44, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(48, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPalpitoadLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(12, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(16, MOVE_ROUND), + LEVEL_UP_MOVE(20, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(24, MOVE_FLAIL), + LEVEL_UP_MOVE(30, MOVE_UPROAR), + LEVEL_UP_MOVE(37, MOVE_AQUA_RING), + LEVEL_UP_MOVE(42, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(48, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(54, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(60, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSeismitoadLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DRAIN_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_DRAIN_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(12, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(16, MOVE_ROUND), + LEVEL_UP_MOVE(20, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(24, MOVE_FLAIL), + LEVEL_UP_MOVE(30, MOVE_UPROAR), + LEVEL_UP_MOVE(39, MOVE_AQUA_RING), + LEVEL_UP_MOVE(46, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(54, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(62, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(70, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; +#endif //P_FAMILY_TYMPOLE + +#if P_FAMILY_THROH +static const struct LevelUpMove sThrohLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BIND), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 5, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(10, MOVE_CIRCLE_THROW), + LEVEL_UP_MOVE(15, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(20, MOVE_REVENGE), + LEVEL_UP_MOVE(25, MOVE_BULK_UP), + LEVEL_UP_MOVE(30, MOVE_STORM_THROW), + LEVEL_UP_MOVE(35, MOVE_VITAL_THROW), + LEVEL_UP_MOVE(40, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(45, MOVE_ENDURE), + LEVEL_UP_MOVE(50, MOVE_REVERSAL), + LEVEL_UP_MOVE(55, MOVE_SUPERPOWER), + LEVEL_UP_END +}; +#endif //P_FAMILY_THROH + +#if P_FAMILY_SAWK +static const struct LevelUpMove sSawkLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 5, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(10, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(15, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(20, MOVE_LOW_SWEEP), + LEVEL_UP_MOVE(25, MOVE_BULK_UP), + LEVEL_UP_MOVE(30, MOVE_RETALIATE), + LEVEL_UP_MOVE(35, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(40, MOVE_COUNTER), + LEVEL_UP_MOVE(45, MOVE_ENDURE), + LEVEL_UP_MOVE(50, MOVE_REVERSAL), + LEVEL_UP_MOVE(55, MOVE_CLOSE_COMBAT), + LEVEL_UP_END +}; +#endif //P_FAMILY_SAWK + +#if P_FAMILY_SEWADDLE +static const struct LevelUpMove sSewaddleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 8, MOVE_BUG_BITE), + LEVEL_UP_MOVE(15, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(22, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE(29, MOVE_ENDURE), + LEVEL_UP_MOVE(31, MOVE_STICKY_WEB), + LEVEL_UP_MOVE(36, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(43, MOVE_FLAIL), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSwadloonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE(22, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE(29, MOVE_ENDURE), + LEVEL_UP_MOVE(31, MOVE_STICKY_WEB), + LEVEL_UP_MOVE(36, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(43, MOVE_FLAIL), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLeavannyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SLASH), + LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(22, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE(29, MOVE_FELL_STINGER), + LEVEL_UP_MOVE(32, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(36, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(39, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(43, MOVE_ENTRAINMENT), + LEVEL_UP_MOVE(46, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(50, MOVE_LEAF_STORM), + LEVEL_UP_END +}; +#endif //P_FAMILY_SEWADDLE + +#if P_FAMILY_VENIPEDE +static const struct LevelUpMove sVenipedeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 4, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 8, MOVE_PROTECT), + LEVEL_UP_MOVE(12, MOVE_POISON_TAIL), + LEVEL_UP_MOVE(16, MOVE_SCREECH), + LEVEL_UP_MOVE(20, MOVE_BUG_BITE), + LEVEL_UP_MOVE(24, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(32, MOVE_AGILITY), + LEVEL_UP_MOVE(36, MOVE_TOXIC), + LEVEL_UP_MOVE(40, MOVE_VENOM_DRENCH), + LEVEL_UP_MOVE(44, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sWhirlipedeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE(12, MOVE_POISON_TAIL), + LEVEL_UP_MOVE(16, MOVE_SCREECH), + LEVEL_UP_MOVE(20, MOVE_BUG_BITE), + LEVEL_UP_MOVE(26, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(32, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(38, MOVE_AGILITY), + LEVEL_UP_MOVE(44, MOVE_TOXIC), + LEVEL_UP_MOVE(50, MOVE_VENOM_DRENCH), + LEVEL_UP_MOVE(56, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sScolipedeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_BATON_PASS), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE(12, MOVE_POISON_TAIL), + LEVEL_UP_MOVE(16, MOVE_SCREECH), + LEVEL_UP_MOVE(20, MOVE_BUG_BITE), + LEVEL_UP_MOVE(26, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(34, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(42, MOVE_AGILITY), + LEVEL_UP_MOVE(50, MOVE_TOXIC), + LEVEL_UP_MOVE(58, MOVE_VENOM_DRENCH), + LEVEL_UP_MOVE(66, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(74, MOVE_MEGAHORN), + LEVEL_UP_END +}; +#endif //P_FAMILY_VENIPEDE + +#if P_FAMILY_COTTONEE +static const struct LevelUpMove sCottoneeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 3, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE( 6, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(15, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(18, MOVE_GROWTH), + LEVEL_UP_MOVE(21, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(24, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(27, MOVE_CHARM), + LEVEL_UP_MOVE(30, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(33, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(36, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(39, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(42, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(45, MOVE_COTTON_GUARD), + LEVEL_UP_MOVE(48, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sWhimsicottLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MOONBLAST), + LEVEL_UP_MOVE( 1, MOVE_HURRICANE), + LEVEL_UP_MOVE( 1, MOVE_COTTON_GUARD), + LEVEL_UP_MOVE( 1, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE( 1, MOVE_TAILWIND), + LEVEL_UP_MOVE( 1, MOVE_ENDEAVOR), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_MEMENTO), + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_END +}; +#endif //P_FAMILY_COTTONEE + +#if P_FAMILY_PETILIL +static const struct LevelUpMove sPetililLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 3, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 6, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 9, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(12, MOVE_CHARM), + LEVEL_UP_MOVE(15, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(18, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(21, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(24, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(27, MOVE_AFTER_YOU), + LEVEL_UP_MOVE(30, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(33, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(36, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(39, MOVE_ENTRAINMENT), + LEVEL_UP_MOVE(42, MOVE_LEAF_STORM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLilligantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE( 1, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE( 1, MOVE_ENTRAINMENT), + LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_LEAF_STORM), + LEVEL_UP_MOVE( 1, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE( 1, MOVE_TEETER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_AFTER_YOU), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 5, MOVE_MAGICAL_LEAF), + LEVEL_UP_END +}; + +#if P_HISUIAN_FORMS +static const struct LevelUpMove sLilligantHisuiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_VICTORY_DANCE), + LEVEL_UP_MOVE( 1, MOVE_TEETER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BLADE), + LEVEL_UP_MOVE( 1, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE( 1, MOVE_AFTER_YOU), + LEVEL_UP_MOVE( 1, MOVE_ENTRAINMENT), + LEVEL_UP_MOVE( 1, MOVE_LEAF_STORM), + LEVEL_UP_MOVE( 1, MOVE_DEFOG), + LEVEL_UP_MOVE( 1, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE( 1, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE( 1, MOVE_MEGA_KICK), + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 1, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 5, MOVE_AXE_KICK), + LEVEL_UP_END +}; +#endif //P_HISUIAN_FORMS +#endif //P_FAMILY_PETILIL + +#if P_FAMILY_BASCULIN +static const struct LevelUpMove sBasculinLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 4, MOVE_TACKLE), + LEVEL_UP_MOVE( 8, MOVE_FLAIL), + LEVEL_UP_MOVE(12, MOVE_AQUA_JET), + LEVEL_UP_MOVE(16, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(24, MOVE_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_SOAK), + LEVEL_UP_MOVE(32, MOVE_CRUNCH), + LEVEL_UP_MOVE(36, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(40, MOVE_FINAL_GAMBIT), + LEVEL_UP_MOVE(44, MOVE_WAVE_CRASH), + LEVEL_UP_MOVE(48, MOVE_THRASH), + LEVEL_UP_MOVE(52, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(56, MOVE_HEAD_SMASH), + LEVEL_UP_END +}; + +#if P_HISUIAN_FORMS +static const struct LevelUpMove sBasculinWhiteStripedLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 4, MOVE_TACKLE), + LEVEL_UP_MOVE( 8, MOVE_FLAIL), + LEVEL_UP_MOVE(12, MOVE_AQUA_JET), + LEVEL_UP_MOVE(16, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(24, MOVE_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_SOAK), + LEVEL_UP_MOVE(32, MOVE_CRUNCH), + LEVEL_UP_MOVE(36, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(40, MOVE_UPROAR), + LEVEL_UP_MOVE(44, MOVE_WAVE_CRASH), + LEVEL_UP_MOVE(48, MOVE_THRASH), + LEVEL_UP_MOVE(52, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(56, MOVE_HEAD_SMASH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBasculegionLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_PHANTOM_FORCE), + LEVEL_UP_MOVE( 4, MOVE_TACKLE), + LEVEL_UP_MOVE( 8, MOVE_FLAIL), + LEVEL_UP_MOVE(12, MOVE_AQUA_JET), + LEVEL_UP_MOVE(16, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(24, MOVE_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_SOAK), + LEVEL_UP_MOVE(32, MOVE_CRUNCH), + LEVEL_UP_MOVE(36, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(40, MOVE_UPROAR), + LEVEL_UP_MOVE(44, MOVE_WAVE_CRASH), + LEVEL_UP_MOVE(48, MOVE_THRASH), + LEVEL_UP_MOVE(52, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(56, MOVE_HEAD_SMASH), + LEVEL_UP_END +}; +#endif //P_HISUIAN_FORMS +#endif //P_FAMILY_BASCULIN + +#if P_FAMILY_SANDILE +static const struct LevelUpMove sSandileLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_POWER_TRIP), + LEVEL_UP_MOVE( 3, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 6, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE( 9, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(12, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(15, MOVE_BITE), + LEVEL_UP_MOVE(18, MOVE_TORMENT), + LEVEL_UP_MOVE(21, MOVE_DIG), + LEVEL_UP_MOVE(24, MOVE_SWAGGER), + LEVEL_UP_MOVE(27, MOVE_CRUNCH), + LEVEL_UP_MOVE(30, MOVE_SANDSTORM), + LEVEL_UP_MOVE(33, MOVE_FOUL_PLAY), + LEVEL_UP_MOVE(36, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(39, MOVE_THRASH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sKrokorokLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE( 1, MOVE_POWER_TRIP), + LEVEL_UP_MOVE( 9, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(12, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(15, MOVE_BITE), + LEVEL_UP_MOVE(18, MOVE_TORMENT), + LEVEL_UP_MOVE(21, MOVE_DIG), + LEVEL_UP_MOVE(24, MOVE_SWAGGER), + LEVEL_UP_MOVE(27, MOVE_CRUNCH), + LEVEL_UP_MOVE(32, MOVE_SANDSTORM), + LEVEL_UP_MOVE(35, MOVE_FOUL_PLAY), + LEVEL_UP_MOVE(42, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(47, MOVE_THRASH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sKrookodileLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE( 1, MOVE_POWER_TRIP), + LEVEL_UP_MOVE( 9, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(12, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(15, MOVE_BITE), + LEVEL_UP_MOVE(18, MOVE_TORMENT), + LEVEL_UP_MOVE(21, MOVE_DIG), + LEVEL_UP_MOVE(24, MOVE_SWAGGER), + LEVEL_UP_MOVE(27, MOVE_CRUNCH), + LEVEL_UP_MOVE(32, MOVE_SANDSTORM), + LEVEL_UP_MOVE(35, MOVE_FOUL_PLAY), + LEVEL_UP_MOVE(44, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(51, MOVE_THRASH), + LEVEL_UP_MOVE(58, MOVE_OUTRAGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_SANDILE + +#if P_FAMILY_DARUMAKA +static const struct LevelUpMove sDarumakaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_TAUNT), + LEVEL_UP_MOVE( 8, MOVE_BITE), + LEVEL_UP_MOVE(12, MOVE_INCINERATE), + LEVEL_UP_MOVE(16, MOVE_WORK_UP), + LEVEL_UP_MOVE(20, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(24, MOVE_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE(32, MOVE_UPROAR), + LEVEL_UP_MOVE(36, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(40, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE(44, MOVE_THRASH), + LEVEL_UP_MOVE(48, MOVE_SUPERPOWER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDarmanitanLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE(12, MOVE_INCINERATE), + LEVEL_UP_MOVE(16, MOVE_WORK_UP), + LEVEL_UP_MOVE(20, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(24, MOVE_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE(32, MOVE_UPROAR), + LEVEL_UP_MOVE(38, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(44, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE(50, MOVE_THRASH), + LEVEL_UP_MOVE(56, MOVE_SUPERPOWER), + LEVEL_UP_END +}; + +#if P_GALARIAN_FORMS +static const struct LevelUpMove sDarumakaGalarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_TAUNT), + LEVEL_UP_MOVE( 8, MOVE_BITE), + LEVEL_UP_MOVE(12, MOVE_AVALANCHE), + LEVEL_UP_MOVE(16, MOVE_WORK_UP), + LEVEL_UP_MOVE(20, MOVE_ICE_FANG), + LEVEL_UP_MOVE(24, MOVE_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_ICE_PUNCH), + LEVEL_UP_MOVE(32, MOVE_UPROAR), + LEVEL_UP_MOVE(36, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(40, MOVE_BLIZZARD), + LEVEL_UP_MOVE(44, MOVE_THRASH), + LEVEL_UP_MOVE(48, MOVE_SUPERPOWER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDarmanitanGalarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_ICICLE_CRASH), + LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE(12, MOVE_AVALANCHE), + LEVEL_UP_MOVE(16, MOVE_WORK_UP), + LEVEL_UP_MOVE(20, MOVE_ICE_FANG), + LEVEL_UP_MOVE(24, MOVE_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_ICE_PUNCH), + LEVEL_UP_MOVE(32, MOVE_UPROAR), + LEVEL_UP_MOVE(38, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(44, MOVE_BLIZZARD), + LEVEL_UP_MOVE(50, MOVE_THRASH), + LEVEL_UP_MOVE(56, MOVE_SUPERPOWER), + LEVEL_UP_END +}; +#endif //P_GALARIAN_FORMS +#endif //P_FAMILY_DARUMAKA + +#if P_FAMILY_MARACTUS +static const struct LevelUpMove sMaractusLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPIKY_SHIELD), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_AFTER_YOU), + LEVEL_UP_MOVE( 1, MOVE_INGRAIN), + LEVEL_UP_MOVE( 4, MOVE_GROWTH), + LEVEL_UP_MOVE( 8, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(12, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(16, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(20, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(24, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(28, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(32, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(36, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE(40, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(44, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(48, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(52, MOVE_ACUPRESSURE), + LEVEL_UP_MOVE(56, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE(60, MOVE_COTTON_GUARD), + LEVEL_UP_END +}; +#endif //P_FAMILY_MARACTUS + +#if P_FAMILY_DWEBBLE +static const struct LevelUpMove sDwebbleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 4, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 8, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(12, MOVE_BUG_BITE), + LEVEL_UP_MOVE(16, MOVE_FLAIL), + LEVEL_UP_MOVE(20, MOVE_SLASH), + LEVEL_UP_MOVE(24, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(28, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(32, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(36, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(40, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(44, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE(48, MOVE_ROCK_WRECKER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCrustleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(12, MOVE_BUG_BITE), + LEVEL_UP_MOVE(16, MOVE_FLAIL), + LEVEL_UP_MOVE(20, MOVE_SLASH), + LEVEL_UP_MOVE(24, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(28, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(32, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(38, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(44, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(50, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE(56, MOVE_ROCK_WRECKER), + LEVEL_UP_END +}; +#endif //P_FAMILY_DWEBBLE + +#if P_FAMILY_SCRAGGY +static const struct LevelUpMove sScraggyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 4, MOVE_PAYBACK), + LEVEL_UP_MOVE( 8, MOVE_HEADBUTT), + LEVEL_UP_MOVE(12, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(16, MOVE_FACADE), + LEVEL_UP_MOVE(20, MOVE_TORMENT), + LEVEL_UP_MOVE(24, MOVE_BEAT_UP), + LEVEL_UP_MOVE(28, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(32, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(36, MOVE_SWAGGER), + LEVEL_UP_MOVE(40, MOVE_CRUNCH), + LEVEL_UP_MOVE(44, MOVE_HIGH_JUMP_KICK), + LEVEL_UP_MOVE(48, MOVE_FOCUS_PUNCH), + LEVEL_UP_MOVE(52, MOVE_HEAD_SMASH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sScraftyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 1, MOVE_PAYBACK), + LEVEL_UP_MOVE(12, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(16, MOVE_FACADE), + LEVEL_UP_MOVE(20, MOVE_TORMENT), + LEVEL_UP_MOVE(24, MOVE_BEAT_UP), + LEVEL_UP_MOVE(28, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(32, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(36, MOVE_SWAGGER), + LEVEL_UP_MOVE(42, MOVE_CRUNCH), + LEVEL_UP_MOVE(48, MOVE_HIGH_JUMP_KICK), + LEVEL_UP_MOVE(54, MOVE_FOCUS_PUNCH), + LEVEL_UP_MOVE(60, MOVE_HEAD_SMASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_SCRAGGY + +#if P_FAMILY_SIGILYPH +static const struct LevelUpMove sSigilyphLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 5, MOVE_GRAVITY), + LEVEL_UP_MOVE(10, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(15, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(20, MOVE_PSYBEAM), + LEVEL_UP_MOVE(25, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(30, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(35, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC), + LEVEL_UP_MOVE(45, MOVE_TAILWIND), + LEVEL_UP_MOVE(50, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(50, MOVE_REFLECT), + LEVEL_UP_MOVE(55, MOVE_SKY_ATTACK), + LEVEL_UP_MOVE(60, MOVE_SKILL_SWAP), + LEVEL_UP_END +}; +#endif //P_FAMILY_SIGILYPH + +#if P_FAMILY_YAMASK +static const struct LevelUpMove sYamaskLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 4, MOVE_HAZE), + LEVEL_UP_MOVE( 8, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(12, MOVE_DISABLE), + LEVEL_UP_MOVE(16, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(20, MOVE_CRAFTY_SHIELD), + LEVEL_UP_MOVE(24, MOVE_HEX), + LEVEL_UP_MOVE(28, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(32, MOVE_GRUDGE), + LEVEL_UP_MOVE(36, MOVE_CURSE), + LEVEL_UP_MOVE(40, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(44, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(48, MOVE_POWER_SPLIT), + LEVEL_UP_MOVE(48, MOVE_GUARD_SPLIT), + LEVEL_UP_MOVE(52, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCofagrigusLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_HAZE), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(12, MOVE_DISABLE), + LEVEL_UP_MOVE(16, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(20, MOVE_CRAFTY_SHIELD), + LEVEL_UP_MOVE(24, MOVE_HEX), + LEVEL_UP_MOVE(28, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(32, MOVE_GRUDGE), + LEVEL_UP_MOVE(38, MOVE_CURSE), + LEVEL_UP_MOVE(44, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(50, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(56, MOVE_POWER_SPLIT), + LEVEL_UP_MOVE(56, MOVE_GUARD_SPLIT), + LEVEL_UP_MOVE(62, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; + +#if P_GALARIAN_FORMS +static const struct LevelUpMove sYamaskGalarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 4, MOVE_HAZE), + LEVEL_UP_MOVE( 8, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(12, MOVE_DISABLE), + LEVEL_UP_MOVE(16, MOVE_BRUTAL_SWING), + LEVEL_UP_MOVE(20, MOVE_CRAFTY_SHIELD), + LEVEL_UP_MOVE(24, MOVE_HEX), + LEVEL_UP_MOVE(28, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(32, MOVE_SLAM), + LEVEL_UP_MOVE(36, MOVE_CURSE), + LEVEL_UP_MOVE(40, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(44, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(48, MOVE_POWER_SPLIT), + LEVEL_UP_MOVE(48, MOVE_GUARD_SPLIT), + LEVEL_UP_MOVE(52, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; + +static const struct LevelUpMove sRunerigusLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_HAZE), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(12, MOVE_DISABLE), + LEVEL_UP_MOVE(16, MOVE_BRUTAL_SWING), + LEVEL_UP_MOVE(20, MOVE_CRAFTY_SHIELD), + LEVEL_UP_MOVE(24, MOVE_HEX), + LEVEL_UP_MOVE(28, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(32, MOVE_SLAM), + LEVEL_UP_MOVE(38, MOVE_CURSE), + LEVEL_UP_MOVE(44, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(50, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(56, MOVE_POWER_SPLIT), + LEVEL_UP_MOVE(56, MOVE_GUARD_SPLIT), + LEVEL_UP_MOVE(62, MOVE_DESTINY_BOND), + LEVEL_UP_END +}; +#endif //P_GALARIAN_FORMS +#endif //P_FAMILY_YAMASK + +#if P_FAMILY_TIRTOUGA +static const struct LevelUpMove sTirtougaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 3, MOVE_PROTECT), + LEVEL_UP_MOVE( 6, MOVE_AQUA_JET), + LEVEL_UP_MOVE( 9, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(12, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(15, MOVE_BITE), + LEVEL_UP_MOVE(18, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(21, MOVE_BRINE), + LEVEL_UP_MOVE(24, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(27, MOVE_CRUNCH), + LEVEL_UP_MOVE(30, MOVE_CURSE), + LEVEL_UP_MOVE(33, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(36, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(39, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(42, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(45, MOVE_SHELL_SMASH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCarracostaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), + LEVEL_UP_MOVE( 9, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(12, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(15, MOVE_BITE), + LEVEL_UP_MOVE(18, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(21, MOVE_BRINE), + LEVEL_UP_MOVE(24, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(27, MOVE_CRUNCH), + LEVEL_UP_MOVE(30, MOVE_CURSE), + LEVEL_UP_MOVE(33, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(36, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(41, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(46, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(51, MOVE_SHELL_SMASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_TIRTOUGA + +#if P_FAMILY_ARCHEN +static const struct LevelUpMove sArchenLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 3, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 6, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(12, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(15, MOVE_PLUCK), + LEVEL_UP_MOVE(18, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(21, MOVE_U_TURN), + LEVEL_UP_MOVE(24, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(27, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(30, MOVE_CRUNCH), + LEVEL_UP_MOVE(33, MOVE_AGILITY), + LEVEL_UP_MOVE(36, MOVE_TAILWIND), + LEVEL_UP_MOVE(39, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(42, MOVE_THRASH), + LEVEL_UP_MOVE(45, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +static const struct LevelUpMove sArcheopsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(12, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(15, MOVE_PLUCK), + LEVEL_UP_MOVE(18, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(21, MOVE_U_TURN), + LEVEL_UP_MOVE(24, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(27, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(30, MOVE_CRUNCH), + LEVEL_UP_MOVE(33, MOVE_AGILITY), + LEVEL_UP_MOVE(36, MOVE_TAILWIND), + LEVEL_UP_MOVE(41, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(46, MOVE_THRASH), + LEVEL_UP_MOVE(51, MOVE_ENDEAVOR), + LEVEL_UP_END +}; +#endif //P_FAMILY_ARCHEN + +#if P_FAMILY_TRUBBISH +static const struct LevelUpMove sTrubbishLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 3, MOVE_RECYCLE), + LEVEL_UP_MOVE( 6, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE( 9, MOVE_AMNESIA), + LEVEL_UP_MOVE(12, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(15, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(18, MOVE_SLUDGE), + LEVEL_UP_MOVE(21, MOVE_STOCKPILE), + LEVEL_UP_MOVE(21, MOVE_SWALLOW), + LEVEL_UP_MOVE(24, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(27, MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE(30, MOVE_TOXIC), + LEVEL_UP_MOVE(33, MOVE_BELCH), + LEVEL_UP_MOVE(37, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE(39, MOVE_GUNK_SHOT), + LEVEL_UP_MOVE(42, MOVE_EXPLOSION), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGarbodorLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 1, MOVE_RECYCLE), + LEVEL_UP_MOVE( 1, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE( 9, MOVE_AMNESIA), + LEVEL_UP_MOVE(12, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(15, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(18, MOVE_SLUDGE), + LEVEL_UP_MOVE(21, MOVE_STOCKPILE), + LEVEL_UP_MOVE(21, MOVE_SWALLOW), + LEVEL_UP_MOVE(24, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(27, MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE(30, MOVE_TOXIC), + LEVEL_UP_MOVE(33, MOVE_BELCH), + LEVEL_UP_MOVE(39, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE(43, MOVE_GUNK_SHOT), + LEVEL_UP_MOVE(48, MOVE_EXPLOSION), + LEVEL_UP_END +}; +#endif //P_FAMILY_TRUBBISH + +#if P_FAMILY_ZORUA +static const struct LevelUpMove sZoruaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 4, MOVE_TORMENT), + LEVEL_UP_MOVE( 8, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(16, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(20, MOVE_TAUNT), + LEVEL_UP_MOVE(24, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(28, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(32, MOVE_AGILITY), + LEVEL_UP_MOVE(36, MOVE_IMPRISON), + LEVEL_UP_MOVE(40, MOVE_NIGHT_DAZE), + LEVEL_UP_MOVE(44, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(48, MOVE_FOUL_PLAY), + LEVEL_UP_END +}; + +static const struct LevelUpMove sZoroarkLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_TORMENT), + LEVEL_UP_MOVE( 1, MOVE_U_TURN), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(20, MOVE_TAUNT), + LEVEL_UP_MOVE(24, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(28, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(34, MOVE_AGILITY), + LEVEL_UP_MOVE(40, MOVE_IMPRISON), + LEVEL_UP_MOVE(46, MOVE_NIGHT_DAZE), + LEVEL_UP_MOVE(52, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(58, MOVE_FOUL_PLAY), + LEVEL_UP_END +}; + +#if P_HISUIAN_FORMS +static const struct LevelUpMove sZoruaHisuiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 4, MOVE_TORMENT), + LEVEL_UP_MOVE( 8, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(12, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE(16, MOVE_CURSE), + LEVEL_UP_MOVE(20, MOVE_TAUNT), + LEVEL_UP_MOVE(24, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(32, MOVE_AGILITY), + LEVEL_UP_MOVE(36, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(40, MOVE_BITTER_MALICE), + LEVEL_UP_MOVE(44, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(48, MOVE_FOUL_PLAY), + LEVEL_UP_END +}; + +static const struct LevelUpMove sZoroarkHisuiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_TORMENT), + LEVEL_UP_MOVE( 1, MOVE_U_TURN), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(12, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE(16, MOVE_CURSE), + LEVEL_UP_MOVE(20, MOVE_TAUNT), + LEVEL_UP_MOVE(24, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(28, MOVE_SPITE), + LEVEL_UP_MOVE(34, MOVE_AGILITY), + LEVEL_UP_MOVE(40, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(46, MOVE_BITTER_MALICE), + LEVEL_UP_MOVE(52, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(58, MOVE_FOUL_PLAY), + LEVEL_UP_END +}; +#endif //P_HISUIAN_FORMS +#endif //P_FAMILY_ZORUA + +#if P_FAMILY_MINCCINO +static const struct LevelUpMove sMinccinoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE( 4, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 8, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE(12, MOVE_SING), + LEVEL_UP_MOVE(16, MOVE_CHARM), + LEVEL_UP_MOVE(20, MOVE_SWIFT), + LEVEL_UP_MOVE(24, MOVE_ENCORE), + LEVEL_UP_MOVE(28, MOVE_AFTER_YOU), + LEVEL_UP_MOVE(32, MOVE_TAIL_SLAP), + LEVEL_UP_MOVE(36, MOVE_TICKLE), + LEVEL_UP_MOVE(40, MOVE_SLAM), + LEVEL_UP_MOVE(44, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(48, MOVE_LAST_RESORT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCinccinoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_TAIL_SLAP), + LEVEL_UP_MOVE( 1, MOVE_SLAM), + LEVEL_UP_MOVE( 1, MOVE_SWIFT), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE( 1, MOVE_TICKLE), + LEVEL_UP_MOVE( 1, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE( 1, MOVE_LAST_RESORT), + LEVEL_UP_MOVE( 1, MOVE_AFTER_YOU), + LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 1, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_BULLET_SEED), + LEVEL_UP_END +}; +#endif //P_FAMILY_MINCCINO + +#if P_FAMILY_GOTHITA +static const struct LevelUpMove sGothitaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 4, MOVE_PLAY_NICE), + LEVEL_UP_MOVE( 8, MOVE_TICKLE), + LEVEL_UP_MOVE(12, MOVE_PSYBEAM), + LEVEL_UP_MOVE(16, MOVE_CHARM), + LEVEL_UP_MOVE(20, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(24, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(28, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(33, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(36, MOVE_PSYCHIC), + LEVEL_UP_MOVE(40, MOVE_FLATTER), + LEVEL_UP_MOVE(44, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(48, MOVE_MAGIC_ROOM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGothoritaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_TICKLE), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), + LEVEL_UP_MOVE(12, MOVE_PSYBEAM), + LEVEL_UP_MOVE(16, MOVE_CHARM), + LEVEL_UP_MOVE(20, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(24, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(28, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(35, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(46, MOVE_FLATTER), + LEVEL_UP_MOVE(52, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(58, MOVE_MAGIC_ROOM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGothitelleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_TICKLE), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), + LEVEL_UP_MOVE(12, MOVE_PSYBEAM), + LEVEL_UP_MOVE(16, MOVE_CHARM), + LEVEL_UP_MOVE(20, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(24, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(28, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(35, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC), + LEVEL_UP_MOVE(48, MOVE_FLATTER), + LEVEL_UP_MOVE(56, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(64, MOVE_MAGIC_ROOM), + LEVEL_UP_END +}; +#endif //P_FAMILY_GOTHITA + +#if P_FAMILY_SOLOSIS +static const struct LevelUpMove sSolosisLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 4, MOVE_RECOVER), + LEVEL_UP_MOVE( 8, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(12, MOVE_PSYBEAM), + LEVEL_UP_MOVE(16, MOVE_CHARM), + LEVEL_UP_MOVE(20, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(24, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(24, MOVE_REFLECT), + LEVEL_UP_MOVE(28, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE(33, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE(36, MOVE_PSYCHIC), + LEVEL_UP_MOVE(40, MOVE_SKILL_SWAP), + LEVEL_UP_MOVE(44, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(48, MOVE_WONDER_ROOM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDuosionLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_RECOVER), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(12, MOVE_PSYBEAM), + LEVEL_UP_MOVE(16, MOVE_CHARM), + LEVEL_UP_MOVE(20, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(24, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(24, MOVE_REFLECT), + LEVEL_UP_MOVE(28, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE(35, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC), + LEVEL_UP_MOVE(46, MOVE_SKILL_SWAP), + LEVEL_UP_MOVE(52, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(58, MOVE_WONDER_ROOM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sReuniclusLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_RECOVER), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(12, MOVE_PSYBEAM), + LEVEL_UP_MOVE(16, MOVE_CHARM), + LEVEL_UP_MOVE(20, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(24, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(24, MOVE_REFLECT), + LEVEL_UP_MOVE(28, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE(35, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC), + LEVEL_UP_MOVE(48, MOVE_SKILL_SWAP), + LEVEL_UP_MOVE(56, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(64, MOVE_WONDER_ROOM), + LEVEL_UP_END +}; +#endif //P_FAMILY_SOLOSIS + +#if P_FAMILY_DUCKLETT +static const struct LevelUpMove sDucklettLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 6, MOVE_DEFOG), + LEVEL_UP_MOVE( 9, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(13, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(15, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(19, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(21, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(24, MOVE_AQUA_RING), + LEVEL_UP_MOVE(27, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(30, MOVE_ROOST), + LEVEL_UP_MOVE(34, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(37, MOVE_TAILWIND), + LEVEL_UP_MOVE(41, MOVE_BRAVE_BIRD), + LEVEL_UP_MOVE(46, MOVE_HURRICANE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSwannaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_DEFOG), + LEVEL_UP_MOVE(13, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(15, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(19, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(21, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(24, MOVE_AQUA_RING), + LEVEL_UP_MOVE(27, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(30, MOVE_ROOST), + LEVEL_UP_MOVE(34, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(40, MOVE_TAILWIND), + LEVEL_UP_MOVE(47, MOVE_BRAVE_BIRD), + LEVEL_UP_MOVE(55, MOVE_HURRICANE), + LEVEL_UP_END +}; +#endif //P_FAMILY_DUCKLETT + +#if P_FAMILY_VANILLITE +static const struct LevelUpMove sVanilliteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 4, MOVE_TAUNT), + LEVEL_UP_MOVE( 8, MOVE_MIST), + LEVEL_UP_MOVE(12, MOVE_ICY_WIND), + LEVEL_UP_MOVE(16, MOVE_AVALANCHE), + LEVEL_UP_MOVE(20, MOVE_HAIL), + LEVEL_UP_MOVE(24, MOVE_ICICLE_SPEAR), + LEVEL_UP_MOVE(28, MOVE_UPROAR), + LEVEL_UP_MOVE(32, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(36, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE(40, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(44, MOVE_BLIZZARD), + LEVEL_UP_MOVE(48, MOVE_SHEER_COLD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sVanillishLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE( 1, MOVE_MIST), + LEVEL_UP_MOVE(12, MOVE_ICY_WIND), + LEVEL_UP_MOVE(16, MOVE_AVALANCHE), + LEVEL_UP_MOVE(20, MOVE_HAIL), + LEVEL_UP_MOVE(24, MOVE_ICICLE_SPEAR), + LEVEL_UP_MOVE(28, MOVE_UPROAR), + LEVEL_UP_MOVE(32, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(38, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE(44, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(50, MOVE_BLIZZARD), + LEVEL_UP_MOVE(56, MOVE_SHEER_COLD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sVanilluxeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WEATHER_BALL), + LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), + LEVEL_UP_MOVE( 1, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE( 1, MOVE_MIST), + LEVEL_UP_MOVE(12, MOVE_ICY_WIND), + LEVEL_UP_MOVE(16, MOVE_AVALANCHE), + LEVEL_UP_MOVE(20, MOVE_HAIL), + LEVEL_UP_MOVE(24, MOVE_ICICLE_SPEAR), + LEVEL_UP_MOVE(28, MOVE_UPROAR), + LEVEL_UP_MOVE(32, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(38, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE(44, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(52, MOVE_BLIZZARD), + LEVEL_UP_MOVE(60, MOVE_SHEER_COLD), + LEVEL_UP_END +}; +#endif //P_FAMILY_VANILLITE + +#if P_FAMILY_DEERLING +static const struct LevelUpMove sDeerlingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(10, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(13, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(16, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(20, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(24, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(32, MOVE_CHARM), + LEVEL_UP_MOVE(37, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(42, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSawsbuckLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_HORN_LEECH), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), + LEVEL_UP_MOVE(10, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(13, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(16, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(20, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(24, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(36, MOVE_CHARM), + LEVEL_UP_MOVE(44, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(52, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; +#endif //P_FAMILY_DEERLING + +#if P_FAMILY_EMOLGA +static const struct LevelUpMove sEmolgaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_NUZZLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 5, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(15, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(20, MOVE_CHARGE), + LEVEL_UP_MOVE(25, MOVE_ACROBATICS), + LEVEL_UP_MOVE(30, MOVE_SPARK), + LEVEL_UP_MOVE(35, MOVE_ENCORE), + LEVEL_UP_MOVE(40, MOVE_VOLT_SWITCH), + LEVEL_UP_MOVE(45, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(50, MOVE_DISCHARGE), + LEVEL_UP_MOVE(55, MOVE_AGILITY), + LEVEL_UP_END +}; +#endif //P_FAMILY_EMOLGA + +#if P_FAMILY_KARRABLAST +static const struct LevelUpMove sKarrablastLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 4, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 8, MOVE_ENDURE), + LEVEL_UP_MOVE(12, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(16, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE(20, MOVE_HEADBUTT), + LEVEL_UP_MOVE(24, MOVE_FLAIL), + LEVEL_UP_MOVE(28, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(32, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(36, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(40, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(44, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(48, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sEscavalierLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FELL_STINGER), + LEVEL_UP_MOVE( 1, MOVE_ENDURE), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(12, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(16, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE(20, MOVE_HEADBUTT), + LEVEL_UP_MOVE(24, MOVE_REVERSAL), + LEVEL_UP_MOVE(28, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(32, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(36, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(40, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(44, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(48, MOVE_GIGA_IMPACT), + LEVEL_UP_MOVE(52, MOVE_METAL_BURST), + LEVEL_UP_END +}; +#endif //P_FAMILY_KARRABLAST + +#if P_FAMILY_FOONGUS +static const struct LevelUpMove sFoongusLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 4, MOVE_GROWTH), + LEVEL_UP_MOVE( 8, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(16, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(20, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(24, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(28, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(32, MOVE_INGRAIN), + LEVEL_UP_MOVE(36, MOVE_TOXIC), + LEVEL_UP_MOVE(40, MOVE_RAGE_POWDER), + LEVEL_UP_MOVE(44, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(48, MOVE_SPORE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sAmoongussLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(16, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(20, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(24, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(28, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(32, MOVE_INGRAIN), + LEVEL_UP_MOVE(36, MOVE_TOXIC), + LEVEL_UP_MOVE(42, MOVE_RAGE_POWDER), + LEVEL_UP_MOVE(48, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(54, MOVE_SPORE), + LEVEL_UP_END +}; +#endif //P_FAMILY_FOONGUS + +#if P_FAMILY_FRILLISH +static const struct LevelUpMove sFrillishLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 4, MOVE_POISON_STING), + LEVEL_UP_MOVE( 8, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(12, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(16, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(20, MOVE_HEX), + LEVEL_UP_MOVE(24, MOVE_BRINE), + LEVEL_UP_MOVE(28, MOVE_RECOVER), + LEVEL_UP_MOVE(32, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(36, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(41, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(44, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(48, MOVE_WATER_SPOUT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sJellicentLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(12, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(16, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(20, MOVE_HEX), + LEVEL_UP_MOVE(24, MOVE_BRINE), + LEVEL_UP_MOVE(28, MOVE_RECOVER), + LEVEL_UP_MOVE(32, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(36, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(43, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(48, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(54, MOVE_WATER_SPOUT), + LEVEL_UP_END +}; +#endif //P_FAMILY_FRILLISH + +#if P_FAMILY_ALOMOMOLA +static const struct LevelUpMove sAlomomolaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), + LEVEL_UP_MOVE( 5, MOVE_AQUA_RING), + LEVEL_UP_MOVE( 9, MOVE_AQUA_JET), + LEVEL_UP_MOVE(13, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(13, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(21, MOVE_PROTECT), + LEVEL_UP_MOVE(25, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(29, MOVE_HEALING_WISH), + LEVEL_UP_MOVE(33, MOVE_SOAK), + LEVEL_UP_MOVE(37, MOVE_WISH), + LEVEL_UP_MOVE(41, MOVE_BRINE), + LEVEL_UP_MOVE(45, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(49, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(55, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; +#endif //P_FAMILY_ALOMOMOLA + +#if P_FAMILY_JOLTIK +static const struct LevelUpMove sJoltikLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 4, MOVE_ELECTROWEB), + LEVEL_UP_MOVE( 8, MOVE_BUG_BITE), + LEVEL_UP_MOVE(12, MOVE_STRING_SHOT), + LEVEL_UP_MOVE(16, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(20, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(24, MOVE_AGILITY), + LEVEL_UP_MOVE(28, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(32, MOVE_SLASH), + LEVEL_UP_MOVE(37, MOVE_DISCHARGE), + LEVEL_UP_MOVE(40, MOVE_SCREECH), + LEVEL_UP_MOVE(44, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(48, MOVE_BUG_BUZZ), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGalvantulaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_STICKY_WEB), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE( 1, MOVE_ELECTROWEB), + LEVEL_UP_MOVE(12, MOVE_STRING_SHOT), + LEVEL_UP_MOVE(16, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(20, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(24, MOVE_AGILITY), + LEVEL_UP_MOVE(28, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(32, MOVE_SLASH), + LEVEL_UP_MOVE(39, MOVE_DISCHARGE), + LEVEL_UP_MOVE(44, MOVE_SCREECH), + LEVEL_UP_MOVE(50, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(56, MOVE_BUG_BUZZ), + LEVEL_UP_END +}; +#endif //P_FAMILY_JOLTIK + +#if P_FAMILY_FERROSEED +static const struct LevelUpMove sFerroseedLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 5, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(10, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(15, MOVE_INGRAIN), + LEVEL_UP_MOVE(20, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(25, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(30, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(35, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(41, MOVE_CURSE), + LEVEL_UP_MOVE(45, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(50, MOVE_EXPLOSION), + LEVEL_UP_END +}; + +static const struct LevelUpMove sFerrothornLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_POWER_WHIP), + LEVEL_UP_MOVE( 1, MOVE_POWER_WHIP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(15, MOVE_INGRAIN), + LEVEL_UP_MOVE(20, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(25, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(30, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(35, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(43, MOVE_CURSE), + LEVEL_UP_MOVE(49, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(56, MOVE_EXPLOSION), + LEVEL_UP_END +}; +#endif //P_FAMILY_FERROSEED + +#if P_FAMILY_KLINK +static const struct LevelUpMove sKlinkLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP), + LEVEL_UP_MOVE( 4, MOVE_BIND), + LEVEL_UP_MOVE( 8, MOVE_CHARGE), + LEVEL_UP_MOVE(12, MOVE_CHARGE_BEAM), + LEVEL_UP_MOVE(16, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(20, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE(24, MOVE_DISCHARGE), + LEVEL_UP_MOVE(28, MOVE_SCREECH), + LEVEL_UP_MOVE(32, MOVE_GEAR_GRIND), + LEVEL_UP_MOVE(36, MOVE_LOCK_ON), + LEVEL_UP_MOVE(40, MOVE_SHIFT_GEAR), + LEVEL_UP_MOVE(44, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(48, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sKlangLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP), + LEVEL_UP_MOVE( 1, MOVE_BIND), + LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE(12, MOVE_CHARGE_BEAM), + LEVEL_UP_MOVE(16, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(20, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE(24, MOVE_DISCHARGE), + LEVEL_UP_MOVE(28, MOVE_SCREECH), + LEVEL_UP_MOVE(32, MOVE_GEAR_GRIND), + LEVEL_UP_MOVE(36, MOVE_LOCK_ON), + LEVEL_UP_MOVE(42, MOVE_SHIFT_GEAR), + LEVEL_UP_MOVE(48, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(54, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sKlinklangLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GEAR_UP), + LEVEL_UP_MOVE( 1, MOVE_MAGNETIC_FLUX), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP), + LEVEL_UP_MOVE( 1, MOVE_BIND), + LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE(12, MOVE_CHARGE_BEAM), + LEVEL_UP_MOVE(16, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(20, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE(24, MOVE_DISCHARGE), + LEVEL_UP_MOVE(28, MOVE_SCREECH), + LEVEL_UP_MOVE(32, MOVE_GEAR_GRIND), + LEVEL_UP_MOVE(36, MOVE_LOCK_ON), + LEVEL_UP_MOVE(42, MOVE_SHIFT_GEAR), + LEVEL_UP_MOVE(48, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(56, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(64, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_END +}; +#endif //P_FAMILY_KLINK + +#if P_FAMILY_TYNAMO +static const struct LevelUpMove sTynamoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_SPARK), + LEVEL_UP_MOVE( 1, MOVE_CHARGE_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sEelektrikLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_SPARK), + LEVEL_UP_MOVE( 1, MOVE_CHARGE_BEAM), + LEVEL_UP_MOVE( 9, MOVE_BIND), + LEVEL_UP_MOVE(19, MOVE_ACID), + LEVEL_UP_MOVE(29, MOVE_DISCHARGE), + LEVEL_UP_MOVE(44, MOVE_THUNDERBOLT), + LEVEL_UP_MOVE(49, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE(54, MOVE_COIL), + LEVEL_UP_MOVE(59, MOVE_WILD_CHARGE), + LEVEL_UP_MOVE(64, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(69, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(74, MOVE_THRASH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sEelektrossLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 1, MOVE_THRASH), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE( 1, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_CRUSH_CLAW), + LEVEL_UP_MOVE( 1, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE( 1, MOVE_DISCHARGE), + LEVEL_UP_MOVE( 1, MOVE_COIL), + LEVEL_UP_MOVE( 5, MOVE_WILD_CHARGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_TYNAMO + +#if P_FAMILY_ELGYEM +static const struct LevelUpMove sElgyemLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 6, MOVE_IMPRISON), + LEVEL_UP_MOVE(12, MOVE_TELEPORT), + LEVEL_UP_MOVE(18, MOVE_PSYBEAM), + LEVEL_UP_MOVE(24, MOVE_POWER_SPLIT), + LEVEL_UP_MOVE(24, MOVE_GUARD_SPLIT), + LEVEL_UP_MOVE(30, MOVE_HEADBUTT), + LEVEL_UP_MOVE(36, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(43, MOVE_RECOVER), + LEVEL_UP_MOVE(48, MOVE_CALM_MIND), + LEVEL_UP_MOVE(54, MOVE_WONDER_ROOM), + LEVEL_UP_MOVE(60, MOVE_PSYCHIC), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBeheeyemLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PSYCHIC_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_IMPRISON), + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_MOVE(18, MOVE_PSYBEAM), + LEVEL_UP_MOVE(24, MOVE_POWER_SPLIT), + LEVEL_UP_MOVE(24, MOVE_GUARD_SPLIT), + LEVEL_UP_MOVE(30, MOVE_HEADBUTT), + LEVEL_UP_MOVE(36, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(45, MOVE_RECOVER), + LEVEL_UP_MOVE(52, MOVE_CALM_MIND), + LEVEL_UP_MOVE(60, MOVE_WONDER_ROOM), + LEVEL_UP_MOVE(68, MOVE_PSYCHIC), + LEVEL_UP_END +}; +#endif //P_FAMILY_ELGYEM + +#if P_FAMILY_LITWICK +static const struct LevelUpMove sLitwickLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 4, MOVE_EMBER), + LEVEL_UP_MOVE( 8, MOVE_MINIMIZE), + LEVEL_UP_MOVE(12, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(16, MOVE_HEX), + LEVEL_UP_MOVE(20, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(24, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(28, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(32, MOVE_CURSE), + LEVEL_UP_MOVE(36, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(40, MOVE_INFERNO), + LEVEL_UP_MOVE(44, MOVE_IMPRISON), + LEVEL_UP_MOVE(48, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE(52, MOVE_OVERHEAT), + LEVEL_UP_MOVE(56, MOVE_MEMENTO), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLampentLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_MINIMIZE), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE(12, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(16, MOVE_HEX), + LEVEL_UP_MOVE(20, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(24, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(28, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(32, MOVE_CURSE), + LEVEL_UP_MOVE(36, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(40, MOVE_INFERNO), + LEVEL_UP_MOVE(46, MOVE_IMPRISON), + LEVEL_UP_MOVE(52, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE(58, MOVE_OVERHEAT), + LEVEL_UP_MOVE(64, MOVE_MEMENTO), + LEVEL_UP_END +}; + +static const struct LevelUpMove sChandelureLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE( 1, MOVE_MINIMIZE), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_CURSE), + LEVEL_UP_MOVE( 1, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE( 1, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE( 1, MOVE_MEMENTO), + LEVEL_UP_MOVE( 1, MOVE_IMPRISON), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_OVERHEAT), + LEVEL_UP_MOVE( 1, MOVE_HEX), + LEVEL_UP_MOVE( 1, MOVE_INFERNO), + LEVEL_UP_END +}; +#endif //P_FAMILY_LITWICK + +#if P_FAMILY_AXEW +static const struct LevelUpMove sAxewLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 3, MOVE_BITE), + LEVEL_UP_MOVE( 6, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE( 9, MOVE_ASSURANCE), + LEVEL_UP_MOVE(12, MOVE_TAUNT), + LEVEL_UP_MOVE(15, MOVE_SLASH), + LEVEL_UP_MOVE(18, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(21, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(24, MOVE_CRUNCH), + LEVEL_UP_MOVE(27, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(30, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE(33, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(36, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(39, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(42, MOVE_OUTRAGE), + LEVEL_UP_MOVE(45, MOVE_GUILLOTINE), + LEVEL_UP_MOVE(48, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sFraxureLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE( 9, MOVE_ASSURANCE), + LEVEL_UP_MOVE(12, MOVE_TAUNT), + LEVEL_UP_MOVE(15, MOVE_SLASH), + LEVEL_UP_MOVE(18, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(21, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(24, MOVE_CRUNCH), + LEVEL_UP_MOVE(27, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(30, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE(33, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(36, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(41, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(46, MOVE_OUTRAGE), + LEVEL_UP_MOVE(51, MOVE_GUILLOTINE), + LEVEL_UP_MOVE(56, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sHaxorusLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE( 9, MOVE_ASSURANCE), + LEVEL_UP_MOVE(12, MOVE_TAUNT), + LEVEL_UP_MOVE(15, MOVE_SLASH), + LEVEL_UP_MOVE(18, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(21, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(24, MOVE_CRUNCH), + LEVEL_UP_MOVE(27, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(30, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE(33, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(36, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(41, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(46, MOVE_OUTRAGE), + LEVEL_UP_MOVE(53, MOVE_GUILLOTINE), + LEVEL_UP_MOVE(60, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; +#endif //P_FAMILY_AXEW + +#if P_FAMILY_CUBCHOO +static const struct LevelUpMove sCubchooLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 3, MOVE_ENDURE), + LEVEL_UP_MOVE( 6, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE( 9, MOVE_ICY_WIND), + LEVEL_UP_MOVE(12, MOVE_PLAY_NICE), + LEVEL_UP_MOVE(15, MOVE_BRINE), + LEVEL_UP_MOVE(18, MOVE_FROST_BREATH), + LEVEL_UP_MOVE(21, MOVE_SLASH), + LEVEL_UP_MOVE(24, MOVE_FLAIL), + LEVEL_UP_MOVE(27, MOVE_CHARM), + LEVEL_UP_MOVE(30, MOVE_SNOWSCAPE), + LEVEL_UP_MOVE(33, MOVE_THRASH), + LEVEL_UP_MOVE(36, MOVE_REST), + LEVEL_UP_MOVE(39, MOVE_BLIZZARD), + LEVEL_UP_MOVE(42, MOVE_SHEER_COLD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBearticLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_ICICLE_CRASH), + LEVEL_UP_MOVE( 1, MOVE_ENDURE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), + LEVEL_UP_MOVE( 9, MOVE_ICY_WIND), + LEVEL_UP_MOVE(12, MOVE_PLAY_NICE), + LEVEL_UP_MOVE(15, MOVE_BRINE), + LEVEL_UP_MOVE(18, MOVE_FROST_BREATH), + LEVEL_UP_MOVE(21, MOVE_SLASH), + LEVEL_UP_MOVE(24, MOVE_FLAIL), + LEVEL_UP_MOVE(27, MOVE_SWAGGER), + LEVEL_UP_MOVE(30, MOVE_SNOWSCAPE), + LEVEL_UP_MOVE(33, MOVE_THRASH), + LEVEL_UP_MOVE(36, MOVE_REST), + LEVEL_UP_MOVE(41, MOVE_BLIZZARD), + LEVEL_UP_MOVE(46, MOVE_SHEER_COLD), + LEVEL_UP_MOVE(51, MOVE_SUPERPOWER), + LEVEL_UP_END +}; +#endif //P_FAMILY_CUBCHOO + +#if P_FAMILY_CRYOGONAL +static const struct LevelUpMove sCryogonalLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BIND), + LEVEL_UP_MOVE( 1, MOVE_ICE_SHARD), + LEVEL_UP_MOVE( 4, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 8, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(12, MOVE_ICY_WIND), + LEVEL_UP_MOVE(16, MOVE_MIST), + LEVEL_UP_MOVE(16, MOVE_HAZE), + LEVEL_UP_MOVE(20, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(24, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(28, MOVE_SLASH), + LEVEL_UP_MOVE(32, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(36, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE(40, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(40, MOVE_REFLECT), + LEVEL_UP_MOVE(44, MOVE_RECOVER), + LEVEL_UP_MOVE(48, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(52, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(56, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(60, MOVE_SHEER_COLD), + LEVEL_UP_END +}; +#endif //P_FAMILY_CRYOGONAL + +#if P_FAMILY_SHELMET +static const struct LevelUpMove sShelmetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 4, MOVE_ACID), + LEVEL_UP_MOVE( 8, MOVE_CURSE), + LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(16, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE(20, MOVE_YAWN), + LEVEL_UP_MOVE(24, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(28, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(32, MOVE_GUARD_SWAP), + LEVEL_UP_MOVE(36, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(40, MOVE_RECOVER), + LEVEL_UP_MOVE(44, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(48, MOVE_FINAL_GAMBIT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sAccelgorLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_SHURIKEN), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_CURSE), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE( 1, MOVE_GUARD_SWAP), + LEVEL_UP_MOVE( 1, MOVE_BODY_SLAM), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(16, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE(20, MOVE_SWIFT), + LEVEL_UP_MOVE(24, MOVE_AGILITY), + LEVEL_UP_MOVE(28, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(32, MOVE_POWER_SWAP), + LEVEL_UP_MOVE(36, MOVE_U_TURN), + LEVEL_UP_MOVE(40, MOVE_RECOVER), + LEVEL_UP_MOVE(44, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(48, MOVE_FINAL_GAMBIT), + LEVEL_UP_MOVE(52, MOVE_TOXIC), + LEVEL_UP_END +}; +#endif //P_FAMILY_SHELMET + +#if P_FAMILY_STUNFISK +static const struct LevelUpMove sStunfiskLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 5, MOVE_ENDURE), + LEVEL_UP_MOVE(10, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(15, MOVE_REVENGE), + LEVEL_UP_MOVE(20, MOVE_CHARGE), + LEVEL_UP_MOVE(25, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(30, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_MOVE(35, MOVE_BOUNCE), + LEVEL_UP_MOVE(40, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(45, MOVE_DISCHARGE), + LEVEL_UP_MOVE(50, MOVE_FLAIL), + LEVEL_UP_MOVE(55, MOVE_FISSURE), + LEVEL_UP_END +}; + +#if P_GALARIAN_FORMS +static const struct LevelUpMove sStunfiskGalarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 5, MOVE_ENDURE), + LEVEL_UP_MOVE(10, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(15, MOVE_REVENGE), + LEVEL_UP_MOVE(20, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(25, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(30, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(35, MOVE_BOUNCE), + LEVEL_UP_MOVE(40, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(45, MOVE_SNAP_TRAP), + LEVEL_UP_MOVE(50, MOVE_FLAIL), + LEVEL_UP_MOVE(55, MOVE_FISSURE), + LEVEL_UP_END +}; +#endif //P_GALARIAN_FORMS +#endif //P_FAMILY_STUNFISK + +#if P_FAMILY_MIENFOO +static const struct LevelUpMove sMienfooLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_DETECT), + LEVEL_UP_MOVE( 5, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(10, MOVE_REVERSAL), + LEVEL_UP_MOVE(15, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(20, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(25, MOVE_FORCE_PALM), + LEVEL_UP_MOVE(30, MOVE_U_TURN), + LEVEL_UP_MOVE(35, MOVE_DRAIN_PUNCH), + LEVEL_UP_MOVE(40, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(45, MOVE_AURA_SPHERE), + LEVEL_UP_MOVE(51, MOVE_BOUNCE), + LEVEL_UP_MOVE(55, MOVE_CALM_MIND), + LEVEL_UP_MOVE(60, MOVE_HIGH_JUMP_KICK), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMienshaoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_REVERSAL), + LEVEL_UP_MOVE( 1, MOVE_DETECT), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(15, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(20, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(25, MOVE_FORCE_PALM), + LEVEL_UP_MOVE(30, MOVE_U_TURN), + LEVEL_UP_MOVE(35, MOVE_DRAIN_PUNCH), + LEVEL_UP_MOVE(40, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(45, MOVE_AURA_SPHERE), + LEVEL_UP_MOVE(53, MOVE_BOUNCE), + LEVEL_UP_MOVE(59, MOVE_CALM_MIND), + LEVEL_UP_MOVE(66, MOVE_HIGH_JUMP_KICK), + LEVEL_UP_END +}; +#endif //P_FAMILY_MIENFOO + +#if P_FAMILY_DRUDDIGON +static const struct LevelUpMove sDruddigonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 5, MOVE_BITE), + LEVEL_UP_MOVE(10, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE(15, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(20, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(25, MOVE_SLASH), + LEVEL_UP_MOVE(30, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(35, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(40, MOVE_CRUNCH), + LEVEL_UP_MOVE(45, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(50, MOVE_OUTRAGE), + LEVEL_UP_MOVE(55, MOVE_SUPERPOWER), + LEVEL_UP_END +}; +#endif //P_FAMILY_DRUDDIGON + +#if P_FAMILY_GOLETT +static const struct LevelUpMove sGolettLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 8, MOVE_POUND), + LEVEL_UP_MOVE(12, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE(16, MOVE_CURSE), + LEVEL_UP_MOVE(20, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(24, MOVE_STOMPING_TANTRUM), + LEVEL_UP_MOVE(28, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(32, MOVE_MEGA_PUNCH), + LEVEL_UP_MOVE(36, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(40, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(44, MOVE_PHANTOM_FORCE), + LEVEL_UP_MOVE(48, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(52, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(56, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGolurkLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_HIGH_HORSEPOWER), + LEVEL_UP_MOVE(12, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE(16, MOVE_CURSE), + LEVEL_UP_MOVE(20, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(24, MOVE_STOMPING_TANTRUM), + LEVEL_UP_MOVE(28, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(32, MOVE_MEGA_PUNCH), + LEVEL_UP_MOVE(36, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(40, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(46, MOVE_PHANTOM_FORCE), + LEVEL_UP_MOVE(52, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(58, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(64, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_END +}; +#endif //P_FAMILY_GOLETT + +#if P_FAMILY_PAWNIARD +static const struct LevelUpMove sPawniardLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 5, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(10, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(15, MOVE_TORMENT), + LEVEL_UP_MOVE(20, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(25, MOVE_ASSURANCE), + LEVEL_UP_MOVE(30, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(35, MOVE_SLASH), + LEVEL_UP_MOVE(40, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(45, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(50, MOVE_RETALIATE), + LEVEL_UP_MOVE(55, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(60, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(65, MOVE_GUILLOTINE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBisharpLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), + LEVEL_UP_MOVE(15, MOVE_TORMENT), + LEVEL_UP_MOVE(20, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(25, MOVE_ASSURANCE), + LEVEL_UP_MOVE(30, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(35, MOVE_SLASH), + LEVEL_UP_MOVE(40, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(45, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(50, MOVE_RETALIATE), + LEVEL_UP_MOVE(57, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(64, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(71, MOVE_GUILLOTINE), + LEVEL_UP_END +}; + +#if P_GEN_9_CROSS_EVOS +static const struct LevelUpMove sKingambitLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_KOWTOW_CLEAVE), + LEVEL_UP_MOVE( 1, MOVE_METAL_BURST), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE(15, MOVE_TORMENT), + LEVEL_UP_MOVE(20, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(25, MOVE_ASSURANCE), + LEVEL_UP_MOVE(30, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(35, MOVE_SLASH), + LEVEL_UP_MOVE(40, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(45, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(50, MOVE_RETALIATE), + LEVEL_UP_MOVE(57, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(64, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(71, MOVE_GUILLOTINE), + LEVEL_UP_END +}; +#endif //P_GEN_9_CROSS_EVOS +#endif //P_FAMILY_PAWNIARD + +#if P_FAMILY_BOUFFALANT +static const struct LevelUpMove sBouffalantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 5, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(10, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(15, MOVE_REVENGE), + LEVEL_UP_MOVE(20, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(25, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(30, MOVE_REVERSAL), + LEVEL_UP_MOVE(35, MOVE_THROAT_CHOP), + LEVEL_UP_MOVE(40, MOVE_HEAD_CHARGE), + LEVEL_UP_MOVE(45, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(50, MOVE_MEGAHORN), + LEVEL_UP_MOVE(55, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; +#endif //P_FAMILY_BOUFFALANT + +#if P_FAMILY_RUFFLET +static const struct LevelUpMove sRuffletLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 6, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(12, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(18, MOVE_TAILWIND), + LEVEL_UP_MOVE(24, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(30, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(36, MOVE_SLASH), + LEVEL_UP_MOVE(42, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(48, MOVE_CRUSH_CLAW), + LEVEL_UP_MOVE(55, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(60, MOVE_DEFOG), + LEVEL_UP_MOVE(66, MOVE_THRASH), + LEVEL_UP_MOVE(72, MOVE_BRAVE_BIRD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBraviaryLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SUPERPOWER), + LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_SKY_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(18, MOVE_TAILWIND), + LEVEL_UP_MOVE(24, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(30, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(36, MOVE_SLASH), + LEVEL_UP_MOVE(42, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(48, MOVE_CRUSH_CLAW), + LEVEL_UP_MOVE(57, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(64, MOVE_DEFOG), + LEVEL_UP_MOVE(72, MOVE_THRASH), + LEVEL_UP_END +}; + +#if P_HISUIAN_FORMS +static const struct LevelUpMove sBraviaryHisuiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_ESPER_WING), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE( 1, MOVE_SKY_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_SUPERPOWER), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(18, MOVE_TAILWIND), + LEVEL_UP_MOVE(24, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(30, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(36, MOVE_SLASH), + LEVEL_UP_MOVE(42, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(48, MOVE_CRUSH_CLAW), + LEVEL_UP_MOVE(57, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(64, MOVE_DEFOG), + LEVEL_UP_MOVE(72, MOVE_THRASH), + LEVEL_UP_MOVE(80, MOVE_HURRICANE), + LEVEL_UP_END +}; +#endif //P_HISUIAN_FORMS +#endif //P_FAMILY_RUFFLET + +#if P_FAMILY_VULLABY +static const struct LevelUpMove sVullabyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 6, MOVE_FLATTER), + LEVEL_UP_MOVE(12, MOVE_PLUCK), + LEVEL_UP_MOVE(18, MOVE_TAILWIND), + LEVEL_UP_MOVE(24, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(30, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(36, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(42, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(48, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(54, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(60, MOVE_DEFOG), + LEVEL_UP_MOVE(66, MOVE_ATTRACT), + LEVEL_UP_MOVE(72, MOVE_BRAVE_BIRD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMandibuzzLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_BONE_RUSH), + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_TOXIC), + LEVEL_UP_MOVE( 1, MOVE_SKY_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_PLUCK), + LEVEL_UP_MOVE( 1, MOVE_FLATTER), + LEVEL_UP_MOVE(18, MOVE_TAILWIND), + LEVEL_UP_MOVE(24, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(30, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(36, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(42, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(48, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(57, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(64, MOVE_DEFOG), + LEVEL_UP_MOVE(72, MOVE_ATTRACT), + LEVEL_UP_MOVE(80, MOVE_BRAVE_BIRD), + LEVEL_UP_END +}; +#endif //P_FAMILY_VULLABY + +#if P_FAMILY_HEATMOR +static const struct LevelUpMove sHeatmorLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(10, MOVE_INCINERATE), + LEVEL_UP_MOVE(15, MOVE_BUG_BITE), + LEVEL_UP_MOVE(20, MOVE_STOCKPILE), + LEVEL_UP_MOVE(20, MOVE_SWALLOW), + LEVEL_UP_MOVE(20, MOVE_SPIT_UP), + LEVEL_UP_MOVE(25, MOVE_SLASH), + LEVEL_UP_MOVE(30, MOVE_BIND), + LEVEL_UP_MOVE(35, MOVE_FIRE_LASH), + LEVEL_UP_MOVE(40, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(45, MOVE_AMNESIA), + LEVEL_UP_MOVE(50, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(55, MOVE_INFERNO), + LEVEL_UP_MOVE(60, MOVE_FLARE_BLITZ), + LEVEL_UP_END +}; +#endif //P_FAMILY_HEATMOR + +#if P_FAMILY_DURANT +static const struct LevelUpMove sDurantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 4, MOVE_VISE_GRIP), + LEVEL_UP_MOVE( 8, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(12, MOVE_BEAT_UP), + LEVEL_UP_MOVE(16, MOVE_BUG_BITE), + LEVEL_UP_MOVE(20, MOVE_BITE), + LEVEL_UP_MOVE(24, MOVE_AGILITY), + LEVEL_UP_MOVE(28, MOVE_DIG), + LEVEL_UP_MOVE(32, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(36, MOVE_CRUNCH), + LEVEL_UP_MOVE(40, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(44, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(48, MOVE_ENTRAINMENT), + LEVEL_UP_MOVE(52, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(56, MOVE_GUILLOTINE), + LEVEL_UP_END +}; +#endif //P_FAMILY_DURANT + +#if P_FAMILY_DEINO +static const struct LevelUpMove sDeinoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 4, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 8, MOVE_BITE), + LEVEL_UP_MOVE(12, MOVE_ROAR), + LEVEL_UP_MOVE(16, MOVE_ASSURANCE), + LEVEL_UP_MOVE(20, MOVE_HEADBUTT), + LEVEL_UP_MOVE(24, MOVE_WORK_UP), + LEVEL_UP_MOVE(28, MOVE_SLAM), + LEVEL_UP_MOVE(32, MOVE_CRUNCH), + LEVEL_UP_MOVE(36, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(40, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(44, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(48, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(52, MOVE_DRAGON_RUSH), + LEVEL_UP_MOVE(56, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(60, MOVE_OUTRAGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sZweilousLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(12, MOVE_ROAR), + LEVEL_UP_MOVE(16, MOVE_ASSURANCE), + LEVEL_UP_MOVE(20, MOVE_HEADBUTT), + LEVEL_UP_MOVE(24, MOVE_WORK_UP), + LEVEL_UP_MOVE(28, MOVE_SLAM), + LEVEL_UP_MOVE(32, MOVE_CRUNCH), + LEVEL_UP_MOVE(36, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(40, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(44, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(48, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(54, MOVE_DRAGON_RUSH), + LEVEL_UP_MOVE(60, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(66, MOVE_OUTRAGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sHydreigonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(12, MOVE_ROAR), + LEVEL_UP_MOVE(16, MOVE_ASSURANCE), + LEVEL_UP_MOVE(20, MOVE_HEADBUTT), + LEVEL_UP_MOVE(24, MOVE_WORK_UP), + LEVEL_UP_MOVE(28, MOVE_SLAM), + LEVEL_UP_MOVE(32, MOVE_CRUNCH), + LEVEL_UP_MOVE(36, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(40, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(44, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(48, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(54, MOVE_DRAGON_RUSH), + LEVEL_UP_MOVE(60, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(68, MOVE_OUTRAGE), + LEVEL_UP_MOVE(76, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; +#endif //P_FAMILY_DEINO + +#if P_FAMILY_LARVESTA +static const struct LevelUpMove sLarvestaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 6, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(12, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE(18, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(30, MOVE_SCREECH), + LEVEL_UP_MOVE(36, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(42, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(48, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(54, MOVE_AMNESIA), + LEVEL_UP_MOVE(60, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(66, MOVE_FLARE_BLITZ), + LEVEL_UP_END +}; + +static const struct LevelUpMove sVolcaronaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_FIERY_DANCE), + LEVEL_UP_MOVE( 1, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE( 1, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE( 1, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE(18, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(24, MOVE_BUG_BITE), + LEVEL_UP_MOVE(30, MOVE_SCREECH), + LEVEL_UP_MOVE(36, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(42, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(48, MOVE_HEAT_WAVE), + LEVEL_UP_MOVE(54, MOVE_AMNESIA), + LEVEL_UP_MOVE(62, MOVE_HURRICANE), + LEVEL_UP_MOVE(70, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(78, MOVE_RAGE_POWDER), + LEVEL_UP_END +}; +#endif //P_FAMILY_LARVESTA + +#if P_FAMILY_COBALION +static const struct LevelUpMove sCobalionLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_WORK_UP), + LEVEL_UP_MOVE( 7, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(14, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(21, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(28, MOVE_RETALIATE), + LEVEL_UP_MOVE(35, MOVE_METAL_BURST), + LEVEL_UP_MOVE(42, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(49, MOVE_SACRED_SWORD), + LEVEL_UP_MOVE(56, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(63, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(70, MOVE_CLOSE_COMBAT), + LEVEL_UP_END +}; +#endif //P_FAMILY_COBALION + +#if P_FAMILY_TERRAKION +static const struct LevelUpMove sTerrakionLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_WORK_UP), + LEVEL_UP_MOVE( 7, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(14, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(21, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(28, MOVE_RETALIATE), + LEVEL_UP_MOVE(35, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(42, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(49, MOVE_SACRED_SWORD), + LEVEL_UP_MOVE(56, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(63, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(70, MOVE_CLOSE_COMBAT), + LEVEL_UP_END +}; +#endif //P_FAMILY_TERRAKION + +#if P_FAMILY_VIRIZION +static const struct LevelUpMove sVirizionLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_WORK_UP), + LEVEL_UP_MOVE( 7, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(14, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(21, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(28, MOVE_RETALIATE), + LEVEL_UP_MOVE(35, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(42, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(49, MOVE_SACRED_SWORD), + LEVEL_UP_MOVE(56, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(63, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(70, MOVE_CLOSE_COMBAT), + LEVEL_UP_END +}; +#endif //P_FAMILY_VIRIZION + +#if P_FAMILY_TORNADUS +static const struct LevelUpMove sTornadusLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 5, MOVE_LEER), + LEVEL_UP_MOVE(10, MOVE_SWAGGER), + LEVEL_UP_MOVE(15, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(25, MOVE_AGILITY), + LEVEL_UP_MOVE(30, MOVE_TAILWIND), + LEVEL_UP_MOVE(35, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(40, MOVE_CRUNCH), + LEVEL_UP_MOVE(45, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(50, MOVE_UPROAR), + LEVEL_UP_MOVE(55, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(60, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(65, MOVE_HURRICANE), + LEVEL_UP_MOVE(70, MOVE_THRASH), + LEVEL_UP_MOVE(77, MOVE_BLEAKWIND_STORM), + LEVEL_UP_END +}; +#endif //P_FAMILY_TORNADUS + +#if P_FAMILY_THUNDURUS +static const struct LevelUpMove sThundurusLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 5, MOVE_LEER), + LEVEL_UP_MOVE(10, MOVE_SWAGGER), + LEVEL_UP_MOVE(15, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_SHOCK_WAVE), + LEVEL_UP_MOVE(25, MOVE_AGILITY), + LEVEL_UP_MOVE(30, MOVE_CHARGE), + LEVEL_UP_MOVE(35, MOVE_VOLT_SWITCH), + LEVEL_UP_MOVE(40, MOVE_CRUNCH), + LEVEL_UP_MOVE(45, MOVE_DISCHARGE), + LEVEL_UP_MOVE(50, MOVE_UPROAR), + LEVEL_UP_MOVE(55, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(60, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(65, MOVE_THUNDER), + LEVEL_UP_MOVE(70, MOVE_THRASH), + LEVEL_UP_MOVE(75, MOVE_WILDBOLT_STORM), + LEVEL_UP_END +}; +#endif //P_FAMILY_THUNDURUS + +#if P_FAMILY_RESHIRAM +static const struct LevelUpMove sReshiramLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), + LEVEL_UP_MOVE( 8, MOVE_SLASH), + LEVEL_UP_MOVE(16, MOVE_CRUNCH), + LEVEL_UP_MOVE(24, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(32, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(40, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(48, MOVE_FUSION_FLARE), + LEVEL_UP_MOVE(56, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(64, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(72, MOVE_IMPRISON), + LEVEL_UP_MOVE(80, MOVE_OUTRAGE), + LEVEL_UP_MOVE(88, MOVE_BLUE_FLARE), + LEVEL_UP_END +}; +#endif //P_FAMILY_RESHIRAM + +#if P_FAMILY_ZEKROM +static const struct LevelUpMove sZekromLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), + LEVEL_UP_MOVE( 8, MOVE_SLASH), + LEVEL_UP_MOVE(16, MOVE_CRUNCH), + LEVEL_UP_MOVE(24, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(32, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(40, MOVE_THUNDERBOLT), + LEVEL_UP_MOVE(48, MOVE_FUSION_BOLT), + LEVEL_UP_MOVE(56, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(64, MOVE_THUNDER), + LEVEL_UP_MOVE(72, MOVE_IMPRISON), + LEVEL_UP_MOVE(80, MOVE_OUTRAGE), + LEVEL_UP_MOVE(88, MOVE_BOLT_STRIKE), + LEVEL_UP_END +}; +#endif //P_FAMILY_ZEKROM + +#if P_FAMILY_LANDORUS +static const struct LevelUpMove sLandorusLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), + LEVEL_UP_MOVE( 5, MOVE_LEER), + LEVEL_UP_MOVE(10, MOVE_BLOCK), + LEVEL_UP_MOVE(15, MOVE_BULLDOZE), + LEVEL_UP_MOVE(20, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(30, MOVE_IMPRISON), + LEVEL_UP_MOVE(35, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(40, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(45, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(50, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(55, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(60, MOVE_SANDSTORM), + LEVEL_UP_MOVE(65, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(70, MOVE_OUTRAGE), + LEVEL_UP_MOVE(75, MOVE_FISSURE), + LEVEL_UP_MOVE(80, MOVE_SANDSEAR_STORM), + LEVEL_UP_END +}; +#endif //P_FAMILY_LANDORUS + +#if P_FAMILY_KYUREM +static const struct LevelUpMove sKyuremLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), + LEVEL_UP_MOVE( 1, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE( 8, MOVE_SLASH), + LEVEL_UP_MOVE(16, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(24, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(32, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(40, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(48, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(56, MOVE_BLIZZARD), + LEVEL_UP_MOVE(64, MOVE_IMPRISON), + LEVEL_UP_MOVE(72, MOVE_OUTRAGE), + LEVEL_UP_MOVE(80, MOVE_GLACIATE), + LEVEL_UP_MOVE(88, MOVE_SHEER_COLD), + LEVEL_UP_END +}; + +#if P_FUSION_FORMS +static const struct LevelUpMove sKyuremWhiteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), + LEVEL_UP_MOVE( 1, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE( 8, MOVE_SLASH), + LEVEL_UP_MOVE(16, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(24, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(32, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(40, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(48, MOVE_FUSION_FLARE), + LEVEL_UP_MOVE(56, MOVE_BLIZZARD), + LEVEL_UP_MOVE(64, MOVE_IMPRISON), + LEVEL_UP_MOVE(72, MOVE_OUTRAGE), + LEVEL_UP_MOVE(80, MOVE_ICE_BURN), + LEVEL_UP_MOVE(88, MOVE_SHEER_COLD), + LEVEL_UP_END +}; +#endif //P_FUSION_FORMS + +#if P_FUSION_FORMS +static const struct LevelUpMove sKyuremBlackLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), + LEVEL_UP_MOVE( 1, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE( 8, MOVE_SLASH), + LEVEL_UP_MOVE(16, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(24, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(32, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(40, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(48, MOVE_FUSION_BOLT), + LEVEL_UP_MOVE(56, MOVE_BLIZZARD), + LEVEL_UP_MOVE(64, MOVE_IMPRISON), + LEVEL_UP_MOVE(72, MOVE_OUTRAGE), + LEVEL_UP_MOVE(80, MOVE_FREEZE_SHOCK), + LEVEL_UP_MOVE(88, MOVE_SHEER_COLD), + LEVEL_UP_END +}; +#endif //P_FUSION_FORMS +#endif //P_FAMILY_KYUREM + +#if P_FAMILY_KELDEO +static const struct LevelUpMove sKeldeoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), + LEVEL_UP_MOVE( 1, MOVE_WORK_UP), + LEVEL_UP_MOVE( 1, MOVE_SECRET_SWORD), + LEVEL_UP_MOVE( 7, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(14, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(21, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(28, MOVE_RETALIATE), + LEVEL_UP_MOVE(35, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(42, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(49, MOVE_SACRED_SWORD), + LEVEL_UP_MOVE(56, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(63, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(70, MOVE_CLOSE_COMBAT), + LEVEL_UP_END +}; +#endif //P_FAMILY_KELDEO + +#if P_FAMILY_MELOETTA +static const struct LevelUpMove sMeloettaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_ROUND), + LEVEL_UP_MOVE(21, MOVE_TEETER_DANCE), + LEVEL_UP_MOVE(26, MOVE_ACROBATICS), + LEVEL_UP_MOVE(31, MOVE_PSYBEAM), + LEVEL_UP_MOVE(36, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE(43, MOVE_U_TURN), + LEVEL_UP_MOVE(50, MOVE_RELIC_SONG), + LEVEL_UP_MOVE(57, MOVE_PSYCHIC), + LEVEL_UP_MOVE(64, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(71, MOVE_ROLE_PLAY), + LEVEL_UP_MOVE(78, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(85, MOVE_PERISH_SONG), + LEVEL_UP_END +}; +#endif //P_FAMILY_MELOETTA + +#if P_FAMILY_GENESECT +static const struct LevelUpMove sGenesectLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 7, MOVE_SCREECH), + LEVEL_UP_MOVE(14, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(21, MOVE_FELL_STINGER), + LEVEL_UP_MOVE(28, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(35, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(42, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(49, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE(56, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(63, MOVE_SIMPLE_BEAM), + LEVEL_UP_MOVE(70, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(77, MOVE_LOCK_ON), + LEVEL_UP_MOVE(84, MOVE_TECHNO_BLAST), + LEVEL_UP_MOVE(91, MOVE_SELF_DESTRUCT), + LEVEL_UP_END +}; +#endif //P_FAMILY_GENESECT + +#if P_FAMILY_CHESPIN +static const struct LevelUpMove sChespinLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 8, MOVE_ROLLOUT), + LEVEL_UP_MOVE(11, MOVE_BITE), + LEVEL_UP_MOVE(15, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(18, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(27, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(32, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(35, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(42, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(45, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE(48, MOVE_WOOD_HAMMER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sQuilladinLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 8, MOVE_ROLLOUT), + LEVEL_UP_MOVE(11, MOVE_BITE), + LEVEL_UP_MOVE(15, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(20, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(24, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(29, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(34, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(38, MOVE_BULK_UP), + LEVEL_UP_MOVE(43, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(47, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE(53, MOVE_WOOD_HAMMER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sChesnaughtLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SPIKY_SHIELD), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE(11, MOVE_BITE), + LEVEL_UP_MOVE(15, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(19, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(29, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(35, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(41, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(48, MOVE_BULK_UP), + LEVEL_UP_MOVE(54, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(60, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE(66, MOVE_WOOD_HAMMER), + LEVEL_UP_MOVE(78, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; +#endif //P_FAMILY_CHESPIN + +#if P_FAMILY_FENNEKIN +static const struct LevelUpMove sFennekinLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 5, MOVE_EMBER), + LEVEL_UP_MOVE(11, MOVE_HOWL), + LEVEL_UP_MOVE(14, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(17, MOVE_PSYBEAM), + LEVEL_UP_MOVE(20, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(25, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(31, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(35, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(38, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(41, MOVE_PSYCHIC), + LEVEL_UP_MOVE(43, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(48, MOVE_FIRE_BLAST), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBraixenLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE(11, MOVE_HOWL), + LEVEL_UP_MOVE(14, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(18, MOVE_PSYBEAM), + LEVEL_UP_MOVE(22, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(28, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(36, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(41, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(45, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(49, MOVE_PSYCHIC), + LEVEL_UP_MOVE(52, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(56, MOVE_MAGIC_ROOM), + LEVEL_UP_MOVE(59, MOVE_FIRE_BLAST), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDelphoxLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_MYSTICAL_FIRE), + LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), + LEVEL_UP_MOVE( 1, MOVE_HOWL), + LEVEL_UP_MOVE( 1, MOVE_ROLE_PLAY), + LEVEL_UP_MOVE( 1, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(14, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(18, MOVE_PSYBEAM), + LEVEL_UP_MOVE(22, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(28, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(38, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(45, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(51, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(57, MOVE_PSYCHIC), + LEVEL_UP_MOVE(62, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(68, MOVE_MAGIC_ROOM), + LEVEL_UP_MOVE(74, MOVE_FIRE_BLAST), + LEVEL_UP_END +}; +#endif //P_FAMILY_FENNEKIN + +#if P_FAMILY_FROAKIE +static const struct LevelUpMove sFroakieLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 5, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 8, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(10, MOVE_LICK), + LEVEL_UP_MOVE(14, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(18, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(21, MOVE_ROUND), + LEVEL_UP_MOVE(25, MOVE_FLING), + LEVEL_UP_MOVE(29, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(35, MOVE_SUBSTITUTE), + LEVEL_UP_MOVE(39, MOVE_BOUNCE), + LEVEL_UP_MOVE(43, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(48, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sFrogadierLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 8, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(10, MOVE_LICK), + LEVEL_UP_MOVE(14, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(19, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(23, MOVE_ROUND), + LEVEL_UP_MOVE(28, MOVE_FLING), + LEVEL_UP_MOVE(33, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(40, MOVE_SUBSTITUTE), + LEVEL_UP_MOVE(45, MOVE_BOUNCE), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(56, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGreninjaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_WATER_SHURIKEN), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_ROLE_PLAY), + LEVEL_UP_MOVE( 1, MOVE_HAZE), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(10, MOVE_LICK), + LEVEL_UP_MOVE(14, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(19, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(23, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE(28, MOVE_SPIKES), + LEVEL_UP_MOVE(33, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(42, MOVE_SUBSTITUTE), + LEVEL_UP_MOVE(49, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(56, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(68, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; +#endif //P_FAMILY_FROAKIE + +#if P_FAMILY_BUNNELBY +static const struct LevelUpMove sBunnelbyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 3, MOVE_TACKLE), + LEVEL_UP_MOVE( 6, MOVE_LASER_FOCUS), + LEVEL_UP_MOVE( 9, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(12, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(15, MOVE_FLAIL), + LEVEL_UP_MOVE(18, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(21, MOVE_BULLDOZE), + LEVEL_UP_MOVE(24, MOVE_DIG), + LEVEL_UP_MOVE(27, MOVE_BOUNCE), + LEVEL_UP_MOVE(30, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(33, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(36, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(39, MOVE_SUPER_FANG), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDiggersbyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LASER_FOCUS), + LEVEL_UP_MOVE( 9, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(12, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(15, MOVE_FLAIL), + LEVEL_UP_MOVE(18, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(23, MOVE_BULLDOZE), + LEVEL_UP_MOVE(28, MOVE_DIG), + LEVEL_UP_MOVE(33, MOVE_BOUNCE), + LEVEL_UP_MOVE(38, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(43, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(48, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(53, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(58, MOVE_HAMMER_ARM), + LEVEL_UP_END +}; +#endif //P_FAMILY_BUNNELBY + +#if P_FAMILY_FLETCHLING +static const struct LevelUpMove sFletchlingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 5, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(10, MOVE_EMBER), + LEVEL_UP_MOVE(15, MOVE_FLAIL), + LEVEL_UP_MOVE(20, MOVE_ACROBATICS), + LEVEL_UP_MOVE(25, MOVE_AGILITY), + LEVEL_UP_MOVE(30, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(35, MOVE_TAILWIND), + LEVEL_UP_MOVE(40, MOVE_STEEL_WING), + LEVEL_UP_MOVE(45, MOVE_ROOST), + LEVEL_UP_MOVE(50, MOVE_FLY), + LEVEL_UP_END +}; + +static const struct LevelUpMove sFletchinderLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE(15, MOVE_FLAIL), + LEVEL_UP_MOVE(22, MOVE_ACROBATICS), + LEVEL_UP_MOVE(29, MOVE_AGILITY), + LEVEL_UP_MOVE(36, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(43, MOVE_TAILWIND), + LEVEL_UP_MOVE(50, MOVE_STEEL_WING), + LEVEL_UP_MOVE(57, MOVE_ROOST), + LEVEL_UP_MOVE(64, MOVE_FLY), + LEVEL_UP_END +}; + +static const struct LevelUpMove sTalonflameLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE( 1, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE( 1, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(15, MOVE_FLAIL), + LEVEL_UP_MOVE(22, MOVE_ACROBATICS), + LEVEL_UP_MOVE(29, MOVE_AGILITY), + LEVEL_UP_MOVE(38, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(47, MOVE_TAILWIND), + LEVEL_UP_MOVE(56, MOVE_STEEL_WING), + LEVEL_UP_MOVE(65, MOVE_ROOST), + LEVEL_UP_MOVE(74, MOVE_FLY), + LEVEL_UP_MOVE(83, MOVE_BRAVE_BIRD), + LEVEL_UP_END +}; +#endif //P_FAMILY_FLETCHLING + +#if P_FAMILY_SCATTERBUG +static const struct LevelUpMove sScatterbugLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 6, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(15, MOVE_BUG_BITE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSpewpaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_END +}; + +static const struct LevelUpMove sVivillonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE( 1, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE(12, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(17, MOVE_PSYBEAM), + LEVEL_UP_MOVE(21, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(25, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(31, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(35, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(45, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE(50, MOVE_HURRICANE), + LEVEL_UP_END +}; +#endif //P_FAMILY_SCATTERBUG + +#if P_FAMILY_LITLEO +static const struct LevelUpMove sLitleoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 5, MOVE_EMBER), + LEVEL_UP_MOVE( 8, MOVE_WORK_UP), + LEVEL_UP_MOVE(11, MOVE_HEADBUTT), + LEVEL_UP_MOVE(15, MOVE_NOBLE_ROAR), + LEVEL_UP_MOVE(20, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(23, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(28, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(33, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE(36, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(39, MOVE_CRUNCH), + LEVEL_UP_MOVE(43, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(46, MOVE_INCINERATE), + LEVEL_UP_MOVE(50, MOVE_OVERHEAT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPyroarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE( 1, MOVE_WORK_UP), + LEVEL_UP_MOVE(11, MOVE_HEADBUTT), + LEVEL_UP_MOVE(15, MOVE_NOBLE_ROAR), + LEVEL_UP_MOVE(20, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(23, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(28, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(33, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE(38, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(42, MOVE_CRUNCH), + LEVEL_UP_MOVE(48, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(51, MOVE_INCINERATE), + LEVEL_UP_MOVE(57, MOVE_OVERHEAT), + LEVEL_UP_END +}; +#endif //P_FAMILY_LITLEO + +#if P_FAMILY_FLABEBE +static const struct LevelUpMove sFlabebeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 6, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE(10, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(15, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(20, MOVE_WISH), + LEVEL_UP_MOVE(22, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(24, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE(28, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE(33, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(37, MOVE_MISTY_TERRAIN), + LEVEL_UP_MOVE(41, MOVE_MOONBLAST), + LEVEL_UP_MOVE(45, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE(48, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sFloetteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE(10, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(15, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(20, MOVE_WISH), + LEVEL_UP_MOVE(25, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(27, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE(33, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE(38, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(43, MOVE_MISTY_TERRAIN), + LEVEL_UP_MOVE(46, MOVE_MOONBLAST), + LEVEL_UP_MOVE(51, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE(58, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sFloetteEternalLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE(10, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(15, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(20, MOVE_WISH), + LEVEL_UP_MOVE(25, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(27, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE(33, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE(38, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(43, MOVE_MISTY_TERRAIN), + LEVEL_UP_MOVE(46, MOVE_MOONBLAST), + LEVEL_UP_MOVE(50, MOVE_LIGHT_OF_RUIN), + LEVEL_UP_MOVE(51, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE(58, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sFlorgesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE( 1, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 1, MOVE_WISH), + LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE( 1, MOVE_GRASS_KNOT), + LEVEL_UP_MOVE( 1, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 1, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_MISTY_TERRAIN), + LEVEL_UP_MOVE( 5, MOVE_MOONBLAST), + LEVEL_UP_END +}; +#endif //P_FAMILY_FLABEBE + +#if P_FAMILY_SKIDDO +static const struct LevelUpMove sSkiddoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 7, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 9, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(12, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(13, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(16, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(20, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(22, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(26, MOVE_BULLDOZE), + LEVEL_UP_MOVE(30, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(34, MOVE_BULK_UP), + LEVEL_UP_MOVE(38, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(42, MOVE_HORN_LEECH), + LEVEL_UP_MOVE(45, MOVE_LEAF_BLADE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGogoatLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE( 1, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE(12, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(13, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(16, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(20, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(22, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(26, MOVE_BULLDOZE), + LEVEL_UP_MOVE(30, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(34, MOVE_BULK_UP), + LEVEL_UP_MOVE(40, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(47, MOVE_HORN_LEECH), + LEVEL_UP_MOVE(55, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(58, MOVE_MILK_DRINK), + LEVEL_UP_END +}; +#endif //P_FAMILY_SKIDDO + +#if P_FAMILY_PANCHAM +static const struct LevelUpMove sPanchamLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 4, MOVE_ARM_THRUST), + LEVEL_UP_MOVE( 8, MOVE_TAUNT), + LEVEL_UP_MOVE(12, MOVE_CIRCLE_THROW), + LEVEL_UP_MOVE(16, MOVE_LOW_SWEEP), + LEVEL_UP_MOVE(20, MOVE_WORK_UP), + LEVEL_UP_MOVE(24, MOVE_SLASH), + LEVEL_UP_MOVE(28, MOVE_VITAL_THROW), + LEVEL_UP_MOVE(33, MOVE_CRUNCH), + LEVEL_UP_MOVE(36, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(40, MOVE_PARTING_SHOT), + LEVEL_UP_MOVE(44, MOVE_ENTRAINMENT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPangoroLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_BULLET_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_ARM_THRUST), + LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE(12, MOVE_CIRCLE_THROW), + LEVEL_UP_MOVE(16, MOVE_LOW_SWEEP), + LEVEL_UP_MOVE(20, MOVE_WORK_UP), + LEVEL_UP_MOVE(24, MOVE_SLASH), + LEVEL_UP_MOVE(28, MOVE_VITAL_THROW), + LEVEL_UP_MOVE(35, MOVE_CRUNCH), + LEVEL_UP_MOVE(40, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(46, MOVE_PARTING_SHOT), + LEVEL_UP_MOVE(52, MOVE_ENTRAINMENT), + LEVEL_UP_MOVE(58, MOVE_HAMMER_ARM), + LEVEL_UP_END +}; +#endif //P_FAMILY_PANCHAM + +#if P_FAMILY_FURFROU +static const struct LevelUpMove sFurfrouLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(12, MOVE_HEADBUTT), + LEVEL_UP_MOVE(15, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(22, MOVE_BITE), + LEVEL_UP_MOVE(27, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(33, MOVE_RETALIATE), + LEVEL_UP_MOVE(35, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(38, MOVE_CHARM), + LEVEL_UP_MOVE(42, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(48, MOVE_COTTON_GUARD), + LEVEL_UP_END +}; +#endif //P_FAMILY_FURFROU + +#if P_FAMILY_ESPURR +static const struct LevelUpMove sEspurrLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 3, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 6, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 9, MOVE_CONFUSION), + LEVEL_UP_MOVE(18, MOVE_COVET), + LEVEL_UP_MOVE(21, MOVE_PSYBEAM), + LEVEL_UP_MOVE(30, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(30, MOVE_REFLECT), + LEVEL_UP_MOVE(33, MOVE_PSYSHOCK), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMeowsticMLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 9, MOVE_CONFUSION), + LEVEL_UP_MOVE(12, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(15, MOVE_CHARM), + LEVEL_UP_MOVE(18, MOVE_COVET), + LEVEL_UP_MOVE(21, MOVE_PSYBEAM), + LEVEL_UP_MOVE(24, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(29, MOVE_ROLE_PLAY), + LEVEL_UP_MOVE(34, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(34, MOVE_REFLECT), + LEVEL_UP_MOVE(39, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(44, MOVE_IMPRISON), + LEVEL_UP_MOVE(49, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(54, MOVE_PSYCHIC), + LEVEL_UP_MOVE(59, MOVE_MISTY_TERRAIN), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMeowsticFLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 9, MOVE_CONFUSION), + LEVEL_UP_MOVE(12, MOVE_STORED_POWER), + LEVEL_UP_MOVE(15, MOVE_CHARGE_BEAM), + LEVEL_UP_MOVE(18, MOVE_COVET), + LEVEL_UP_MOVE(21, MOVE_PSYBEAM), + LEVEL_UP_MOVE(24, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(29, MOVE_ROLE_PLAY), + LEVEL_UP_MOVE(34, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(34, MOVE_REFLECT), + LEVEL_UP_MOVE(39, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(44, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(49, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(54, MOVE_PSYCHIC), + LEVEL_UP_MOVE(59, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; +#endif //P_FAMILY_ESPURR + +#if P_FAMILY_HONEDGE +static const struct LevelUpMove sHonedgeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 4, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 8, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE(12, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(16, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(20, MOVE_SLASH), + LEVEL_UP_MOVE(24, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(28, MOVE_RETALIATE), + LEVEL_UP_MOVE(32, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(36, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(40, MOVE_POWER_TRICK), + LEVEL_UP_MOVE(44, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(48, MOVE_SACRED_SWORD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDoubladeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE(12, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(16, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(20, MOVE_SLASH), + LEVEL_UP_MOVE(24, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(28, MOVE_RETALIATE), + LEVEL_UP_MOVE(32, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(38, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(44, MOVE_POWER_TRICK), + LEVEL_UP_MOVE(50, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(56, MOVE_SACRED_SWORD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sAegislashLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_KINGS_SHIELD), + LEVEL_UP_MOVE( 1, MOVE_KINGS_SHIELD), + LEVEL_UP_MOVE( 1, MOVE_HEAD_SMASH), + LEVEL_UP_MOVE( 1, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE( 1, MOVE_METAL_SOUND), + LEVEL_UP_MOVE( 1, MOVE_SLASH), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_RETALIATE), + LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_IRON_HEAD), + LEVEL_UP_MOVE( 1, MOVE_POWER_TRICK), + LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE( 1, MOVE_SACRED_SWORD), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_AUTOTOMIZE), + LEVEL_UP_END +}; +#endif //P_FAMILY_HONEDGE + +#if P_FAMILY_SPRITZEE +static const struct LevelUpMove sSpritzeeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 3, MOVE_SWEET_KISS), + LEVEL_UP_MOVE( 6, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE(12, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(12, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(18, MOVE_ATTRACT), + LEVEL_UP_MOVE(21, MOVE_FLAIL), + LEVEL_UP_MOVE(24, MOVE_MISTY_TERRAIN), + LEVEL_UP_MOVE(27, MOVE_PSYCHIC), + LEVEL_UP_MOVE(30, MOVE_CHARM), + LEVEL_UP_MOVE(33, MOVE_CALM_MIND), + LEVEL_UP_MOVE(36, MOVE_MOONBLAST), + LEVEL_UP_MOVE(39, MOVE_SKILL_SWAP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sAromatisseLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_AROMATIC_MIST), + LEVEL_UP_MOVE( 1, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_SWEET_KISS), + LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 9, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE(12, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(15, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(18, MOVE_ATTRACT), + LEVEL_UP_MOVE(21, MOVE_FLAIL), + LEVEL_UP_MOVE(24, MOVE_MISTY_TERRAIN), + LEVEL_UP_MOVE(27, MOVE_PSYCHIC), + LEVEL_UP_MOVE(30, MOVE_CHARM), + LEVEL_UP_MOVE(33, MOVE_CALM_MIND), + LEVEL_UP_MOVE(36, MOVE_MOONBLAST), + LEVEL_UP_MOVE(39, MOVE_SKILL_SWAP), + LEVEL_UP_MOVE(42, MOVE_PSYCH_UP), + LEVEL_UP_END +}; +#endif //P_FAMILY_SPRITZEE + +#if P_FAMILY_SWIRLIX +static const struct LevelUpMove sSwirlixLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 3, MOVE_PLAY_NICE), + LEVEL_UP_MOVE( 6, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE( 9, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(12, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(15, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(18, MOVE_ROUND), + LEVEL_UP_MOVE(21, MOVE_STRING_SHOT), + LEVEL_UP_MOVE(24, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(27, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(30, MOVE_WISH), + LEVEL_UP_MOVE(33, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(36, MOVE_COTTON_GUARD), + LEVEL_UP_MOVE(39, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSlurpuffLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), + LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE( 9, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(12, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(15, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(18, MOVE_ROUND), + LEVEL_UP_MOVE(21, MOVE_STRING_SHOT), + LEVEL_UP_MOVE(24, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(27, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(30, MOVE_WISH), + LEVEL_UP_MOVE(33, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(36, MOVE_COTTON_GUARD), + LEVEL_UP_MOVE(39, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(42, MOVE_STICKY_WEB), + LEVEL_UP_END +}; +#endif //P_FAMILY_SWIRLIX + +#if P_FAMILY_INKAY +static const struct LevelUpMove sInkayLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 3, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 6, MOVE_WRAP), + LEVEL_UP_MOVE( 9, MOVE_PAYBACK), + LEVEL_UP_MOVE(12, MOVE_PLUCK), + LEVEL_UP_MOVE(15, MOVE_PSYBEAM), + LEVEL_UP_MOVE(18, MOVE_SWAGGER), + LEVEL_UP_MOVE(21, MOVE_SLASH), + LEVEL_UP_MOVE(24, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(27, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE(31, MOVE_SWITCHEROO), + LEVEL_UP_MOVE(33, MOVE_FOUL_PLAY), + LEVEL_UP_MOVE(36, MOVE_TOPSY_TURVY), + LEVEL_UP_MOVE(39, MOVE_SUPERPOWER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMalamarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_REVERSAL), + LEVEL_UP_MOVE( 9, MOVE_PAYBACK), + LEVEL_UP_MOVE(12, MOVE_PLUCK), + LEVEL_UP_MOVE(15, MOVE_PSYBEAM), + LEVEL_UP_MOVE(18, MOVE_SWAGGER), + LEVEL_UP_MOVE(21, MOVE_SLASH), + LEVEL_UP_MOVE(24, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(27, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE(33, MOVE_SWITCHEROO), + LEVEL_UP_MOVE(37, MOVE_FOUL_PLAY), + LEVEL_UP_MOVE(42, MOVE_TOPSY_TURVY), + LEVEL_UP_MOVE(47, MOVE_SUPERPOWER), + LEVEL_UP_END +}; +#endif //P_FAMILY_INKAY + +#if P_FAMILY_BINACLE +static const struct LevelUpMove sBinacleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 4, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 8, MOVE_WATER_GUN), + LEVEL_UP_MOVE(12, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(16, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(20, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(24, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(28, MOVE_SLASH), + LEVEL_UP_MOVE(32, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(36, MOVE_RAZOR_SHELL), + LEVEL_UP_MOVE(40, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE(44, MOVE_CROSS_CHOP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBarbaracleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SKULL_BASH), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE(12, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(16, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(20, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(24, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(28, MOVE_SLASH), + LEVEL_UP_MOVE(32, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(36, MOVE_RAZOR_SHELL), + LEVEL_UP_MOVE(42, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE(48, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE(54, MOVE_STONE_EDGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_BINACLE + +#if P_FAMILY_SKRELP +static const struct LevelUpMove sSkrelpLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 5, MOVE_ACID), + LEVEL_UP_MOVE(10, MOVE_WATER_GUN), + LEVEL_UP_MOVE(15, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(20, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(25, MOVE_POISON_TAIL), + LEVEL_UP_MOVE(30, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(35, MOVE_TOXIC), + LEVEL_UP_MOVE(40, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(45, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(50, MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE(55, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDragalgeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(15, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(20, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(25, MOVE_POISON_TAIL), + LEVEL_UP_MOVE(30, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(35, MOVE_TOXIC), + LEVEL_UP_MOVE(40, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(45, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(52, MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE(59, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(66, MOVE_OUTRAGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_SKRELP + +#if P_FAMILY_CLAUNCHER +static const struct LevelUpMove sClauncherLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 5, MOVE_VISE_GRIP), + LEVEL_UP_MOVE(10, MOVE_FLAIL), + LEVEL_UP_MOVE(15, MOVE_AQUA_JET), + LEVEL_UP_MOVE(20, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(25, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(30, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(35, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(40, MOVE_AURA_SPHERE), + LEVEL_UP_MOVE(45, MOVE_BOUNCE), + LEVEL_UP_MOVE(50, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(55, MOVE_CRABHAMMER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sClawitzerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_DARK_PULSE), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE( 1, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(15, MOVE_AQUA_JET), + LEVEL_UP_MOVE(20, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(25, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(30, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(35, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(42, MOVE_AURA_SPHERE), + LEVEL_UP_MOVE(49, MOVE_BOUNCE), + LEVEL_UP_MOVE(56, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(63, MOVE_CRABHAMMER), + LEVEL_UP_END +}; +#endif //P_FAMILY_CLAUNCHER + +#if P_FAMILY_HELIOPTILE +static const struct LevelUpMove sHelioptileLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 4, MOVE_POUND), + LEVEL_UP_MOVE( 8, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(12, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(16, MOVE_CHARGE), + LEVEL_UP_MOVE(20, MOVE_BULLDOZE), + LEVEL_UP_MOVE(24, MOVE_VOLT_SWITCH), + LEVEL_UP_MOVE(28, MOVE_PARABOLIC_CHARGE), + LEVEL_UP_MOVE(32, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(36, MOVE_THUNDERBOLT), + LEVEL_UP_MOVE(40, MOVE_ELECTRIFY), + LEVEL_UP_MOVE(44, MOVE_THUNDER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sHelioliskLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EERIE_IMPULSE), + LEVEL_UP_MOVE( 1, MOVE_DISCHARGE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_BULLDOZE), + LEVEL_UP_MOVE( 1, MOVE_VOLT_SWITCH), + LEVEL_UP_MOVE( 1, MOVE_PARABOLIC_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_THUNDERBOLT), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIFY), + LEVEL_UP_MOVE( 1, MOVE_THUNDER), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_END +}; +#endif //P_FAMILY_HELIOPTILE + +#if P_FAMILY_TYRUNT +static const struct LevelUpMove sTyruntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 4, MOVE_ROAR), + LEVEL_UP_MOVE( 8, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(12, MOVE_CHARM), + LEVEL_UP_MOVE(16, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE(24, MOVE_STOMP), + LEVEL_UP_MOVE(28, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(32, MOVE_CRUNCH), + LEVEL_UP_MOVE(36, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(40, MOVE_THRASH), + LEVEL_UP_MOVE(44, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(48, MOVE_HORN_DRILL), + LEVEL_UP_END +}; + +static const struct LevelUpMove sTyrantrumLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_ROAR), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(12, MOVE_CHARM), + LEVEL_UP_MOVE(16, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE(24, MOVE_STOMP), + LEVEL_UP_MOVE(28, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(32, MOVE_CRUNCH), + LEVEL_UP_MOVE(36, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(42, MOVE_THRASH), + LEVEL_UP_MOVE(48, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(54, MOVE_HORN_DRILL), + LEVEL_UP_MOVE(60, MOVE_GIGA_IMPACT), + LEVEL_UP_MOVE(66, MOVE_HEAD_SMASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_TYRUNT + +#if P_FAMILY_AMAURA +static const struct LevelUpMove sAmauraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 4, MOVE_ENCORE), + LEVEL_UP_MOVE( 8, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(12, MOVE_ICY_WIND), + LEVEL_UP_MOVE(16, MOVE_ROUND), + LEVEL_UP_MOVE(20, MOVE_MIST), + LEVEL_UP_MOVE(24, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(28, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(32, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(36, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE(40, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(44, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(48, MOVE_HAIL), + LEVEL_UP_MOVE(52, MOVE_BLIZZARD), + LEVEL_UP_MOVE(56, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sAurorusLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(12, MOVE_ICY_WIND), + LEVEL_UP_MOVE(16, MOVE_ROUND), + LEVEL_UP_MOVE(20, MOVE_MIST), + LEVEL_UP_MOVE(24, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(28, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(32, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(36, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE(42, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(48, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(54, MOVE_HAIL), + LEVEL_UP_MOVE(60, MOVE_BLIZZARD), + LEVEL_UP_MOVE(66, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; +#endif //P_FAMILY_AMAURA + +#if P_FAMILY_HAWLUCHA +static const struct LevelUpMove sHawluchaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE( 4, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 8, MOVE_DETECT), + LEVEL_UP_MOVE(12, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(16, MOVE_ENCORE), + LEVEL_UP_MOVE(20, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(24, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(28, MOVE_BOUNCE), + LEVEL_UP_MOVE(32, MOVE_TAUNT), + LEVEL_UP_MOVE(36, MOVE_ROOST), + LEVEL_UP_MOVE(40, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(44, MOVE_FLYING_PRESS), + LEVEL_UP_MOVE(48, MOVE_HIGH_JUMP_KICK), + LEVEL_UP_MOVE(52, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(56, MOVE_SKY_ATTACK), + LEVEL_UP_END +}; +#endif //P_FAMILY_HAWLUCHA + +#if P_FAMILY_DEDENNE +static const struct LevelUpMove sDedenneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_NUZZLE), + LEVEL_UP_MOVE( 5, MOVE_TACKLE), + LEVEL_UP_MOVE(10, MOVE_CHARGE), + LEVEL_UP_MOVE(15, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(20, MOVE_CHARM), + LEVEL_UP_MOVE(25, MOVE_PARABOLIC_CHARGE), + LEVEL_UP_MOVE(30, MOVE_VOLT_SWITCH), + LEVEL_UP_MOVE(35, MOVE_REST), + LEVEL_UP_MOVE(35, MOVE_SNORE), + LEVEL_UP_MOVE(40, MOVE_DISCHARGE), + LEVEL_UP_MOVE(45, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(50, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(55, MOVE_ENTRAINMENT), + LEVEL_UP_MOVE(60, MOVE_THUNDER), + LEVEL_UP_END +}; +#endif //P_FAMILY_DEDENNE + +#if P_FAMILY_CARBINK +static const struct LevelUpMove sCarbinkLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 5, MOVE_GUARD_SPLIT), + LEVEL_UP_MOVE(10, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(15, MOVE_FLAIL), + LEVEL_UP_MOVE(20, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(25, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(30, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(35, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(40, MOVE_SKILL_SWAP), + LEVEL_UP_MOVE(45, MOVE_POWER_GEM), + LEVEL_UP_MOVE(50, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(55, MOVE_MOONBLAST), + LEVEL_UP_MOVE(60, MOVE_STONE_EDGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_CARBINK + +#if P_FAMILY_GOOMY +static const struct LevelUpMove sGoomyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 5, MOVE_WATER_GUN), + LEVEL_UP_MOVE(10, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(15, MOVE_PROTECT), + LEVEL_UP_MOVE(20, MOVE_FLAIL), + LEVEL_UP_MOVE(25, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(30, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(35, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(41, MOVE_CURSE), + LEVEL_UP_MOVE(45, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(50, MOVE_MUDDY_WATER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSliggooLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(15, MOVE_PROTECT), + LEVEL_UP_MOVE(20, MOVE_FLAIL), + LEVEL_UP_MOVE(25, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(30, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(35, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(43, MOVE_CURSE), + LEVEL_UP_MOVE(49, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(56, MOVE_MUDDY_WATER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGoodraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE( 1, MOVE_TEARFUL_LOOK), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE( 1, MOVE_POISON_TAIL), + LEVEL_UP_MOVE( 1, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE(15, MOVE_PROTECT), + LEVEL_UP_MOVE(20, MOVE_FLAIL), + LEVEL_UP_MOVE(25, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(30, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(43, MOVE_CURSE), + LEVEL_UP_MOVE(49, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(58, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(67, MOVE_POWER_WHIP), + LEVEL_UP_END +}; + +#if P_HISUIAN_FORMS +static const struct LevelUpMove sSliggooHisuiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SHELTER), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(15, MOVE_PROTECT), + LEVEL_UP_MOVE(20, MOVE_FLAIL), + LEVEL_UP_MOVE(25, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(30, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(35, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(43, MOVE_CURSE), + LEVEL_UP_MOVE(49, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(56, MOVE_MUDDY_WATER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGoodraHisuiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_IRON_TAIL), + LEVEL_UP_MOVE( 1, MOVE_SHELTER), + LEVEL_UP_MOVE( 1, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE( 1, MOVE_TEARFUL_LOOK), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE(15, MOVE_PROTECT), + LEVEL_UP_MOVE(20, MOVE_FLAIL), + LEVEL_UP_MOVE(25, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(30, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(35, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(43, MOVE_CURSE), + LEVEL_UP_MOVE(49, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(49, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(58, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(67, MOVE_HEAVY_SLAM), + LEVEL_UP_END +}; +#endif //P_HISUIAN_FORMS +#endif //P_FAMILY_GOOMY + +#if P_FAMILY_KLEFKI +static const struct LevelUpMove sKlefkiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 4, MOVE_TACKLE), + LEVEL_UP_MOVE( 8, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE(12, MOVE_TORMENT), + LEVEL_UP_MOVE(16, MOVE_FAIRY_LOCK), + LEVEL_UP_MOVE(20, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(24, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(28, MOVE_RECYCLE), + LEVEL_UP_MOVE(32, MOVE_IMPRISON), + LEVEL_UP_MOVE(36, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(40, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(44, MOVE_MAGIC_ROOM), + LEVEL_UP_MOVE(48, MOVE_FOUL_PLAY), + LEVEL_UP_MOVE(52, MOVE_LAST_RESORT), + LEVEL_UP_END +}; +#endif //P_FAMILY_KLEFKI + +#if P_FAMILY_PHANTUMP +static const struct LevelUpMove sPhantumpLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 4, MOVE_BRANCH_POKE), + LEVEL_UP_MOVE( 8, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(12, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(16, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(20, MOVE_HEX), + LEVEL_UP_MOVE(24, MOVE_GROWTH), + LEVEL_UP_MOVE(28, MOVE_HORN_LEECH), + LEVEL_UP_MOVE(32, MOVE_CURSE), + LEVEL_UP_MOVE(36, MOVE_PHANTOM_FORCE), + LEVEL_UP_MOVE(40, MOVE_INGRAIN), + LEVEL_UP_MOVE(44, MOVE_WOOD_HAMMER), + LEVEL_UP_MOVE(48, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(52, MOVE_FORESTS_CURSE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sTrevenantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_BRANCH_POKE), + LEVEL_UP_MOVE(12, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(16, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(20, MOVE_HEX), + LEVEL_UP_MOVE(24, MOVE_GROWTH), + LEVEL_UP_MOVE(28, MOVE_HORN_LEECH), + LEVEL_UP_MOVE(32, MOVE_CURSE), + LEVEL_UP_MOVE(36, MOVE_PHANTOM_FORCE), + LEVEL_UP_MOVE(40, MOVE_INGRAIN), + LEVEL_UP_MOVE(44, MOVE_WOOD_HAMMER), + LEVEL_UP_MOVE(48, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(52, MOVE_FORESTS_CURSE), + LEVEL_UP_END +}; +#endif //P_FAMILY_PHANTUMP + +#if P_FAMILY_PUMPKABOO +static const struct LevelUpMove sPumpkabooLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TRICK_OR_TREAT), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 4, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 8, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(12, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(16, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(20, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(24, MOVE_TRICK_OR_TREAT), + LEVEL_UP_MOVE(24, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(28, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(32, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(36, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(40, MOVE_TRICK), + LEVEL_UP_MOVE(44, MOVE_PAIN_SPLIT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGourgeistLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), + LEVEL_UP_MOVE( 1, MOVE_MOONBLAST), + LEVEL_UP_MOVE( 1, MOVE_TRICK_OR_TREAT), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(12, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(16, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(20, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(24, MOVE_TRICK_OR_TREAT), + LEVEL_UP_MOVE(24, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(28, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(32, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(36, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(40, MOVE_TRICK), + LEVEL_UP_MOVE(44, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE(48, MOVE_PHANTOM_FORCE), + LEVEL_UP_END +}; +#endif //P_FAMILY_PUMPKABOO + +#if P_FAMILY_BERGMITE +static const struct LevelUpMove sBergmiteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 3, MOVE_TACKLE), + LEVEL_UP_MOVE( 6, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 9, MOVE_CURSE), + LEVEL_UP_MOVE(12, MOVE_ICY_WIND), + LEVEL_UP_MOVE(15, MOVE_PROTECT), + LEVEL_UP_MOVE(18, MOVE_AVALANCHE), + LEVEL_UP_MOVE(21, MOVE_BITE), + LEVEL_UP_MOVE(24, MOVE_ICE_FANG), + LEVEL_UP_MOVE(27, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(30, MOVE_RECOVER), + LEVEL_UP_MOVE(33, MOVE_CRUNCH), + LEVEL_UP_MOVE(36, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(39, MOVE_BLIZZARD), + LEVEL_UP_MOVE(42, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sAvaluggLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_BODY_SLAM), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 9, MOVE_CURSE), + LEVEL_UP_MOVE(12, MOVE_ICY_WIND), + LEVEL_UP_MOVE(15, MOVE_PROTECT), + LEVEL_UP_MOVE(18, MOVE_AVALANCHE), + LEVEL_UP_MOVE(21, MOVE_BITE), + LEVEL_UP_MOVE(24, MOVE_ICE_FANG), + LEVEL_UP_MOVE(27, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(30, MOVE_RECOVER), + LEVEL_UP_MOVE(33, MOVE_CRUNCH), + LEVEL_UP_MOVE(36, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(41, MOVE_BLIZZARD), + LEVEL_UP_MOVE(46, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(51, MOVE_ICICLE_CRASH), + LEVEL_UP_END +}; + +#if P_HISUIAN_FORMS +static const struct LevelUpMove sAvaluggHisuiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 9, MOVE_CURSE), + LEVEL_UP_MOVE(12, MOVE_ICY_WIND), + LEVEL_UP_MOVE(15, MOVE_PROTECT), + LEVEL_UP_MOVE(18, MOVE_AVALANCHE), + LEVEL_UP_MOVE(21, MOVE_BITE), + LEVEL_UP_MOVE(24, MOVE_ICE_FANG), + LEVEL_UP_MOVE(27, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(30, MOVE_RECOVER), + LEVEL_UP_MOVE(33, MOVE_CRUNCH), + LEVEL_UP_MOVE(36, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(41, MOVE_BLIZZARD), + LEVEL_UP_MOVE(46, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(51, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(61, MOVE_MOUNTAIN_GALE), + LEVEL_UP_END +}; +#endif //P_HISUIAN_FORMS +#endif //P_FAMILY_BERGMITE + +#if P_FAMILY_NOIBAT +static const struct LevelUpMove sNoibatLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 4, MOVE_GUST), + LEVEL_UP_MOVE( 8, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(12, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(16, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(20, MOVE_BITE), + LEVEL_UP_MOVE(24, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(28, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(32, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(36, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(40, MOVE_SCREECH), + LEVEL_UP_MOVE(44, MOVE_ROOST), + LEVEL_UP_MOVE(49, MOVE_TAILWIND), + LEVEL_UP_MOVE(52, MOVE_HURRICANE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sNoivernLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(12, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(16, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(20, MOVE_BITE), + LEVEL_UP_MOVE(24, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(28, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(32, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(36, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(40, MOVE_SCREECH), + LEVEL_UP_MOVE(44, MOVE_ROOST), + LEVEL_UP_MOVE(51, MOVE_TAILWIND), + LEVEL_UP_MOVE(56, MOVE_HURRICANE), + LEVEL_UP_MOVE(62, MOVE_BOOMBURST), + LEVEL_UP_END +}; +#endif //P_FAMILY_NOIBAT + +#if P_FAMILY_XERNEAS +static const struct LevelUpMove sXerneasLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GRAVITY), + LEVEL_UP_MOVE( 5, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(10, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(15, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(20, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(25, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(30, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(35, MOVE_HORN_LEECH), + LEVEL_UP_MOVE(40, MOVE_MISTY_TERRAIN), + LEVEL_UP_MOVE(45, MOVE_INGRAIN), + LEVEL_UP_MOVE(50, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(55, MOVE_GEOMANCY), + LEVEL_UP_MOVE(60, MOVE_MOONBLAST), + LEVEL_UP_MOVE(65, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(70, MOVE_MEGAHORN), + LEVEL_UP_MOVE(75, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(80, MOVE_OUTRAGE), + LEVEL_UP_MOVE(85, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; +#endif //P_FAMILY_XERNEAS + +#if P_FAMILY_YVELTAL +static const struct LevelUpMove sYveltalLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 5, MOVE_TAUNT), + LEVEL_UP_MOVE(10, MOVE_SNARL), + LEVEL_UP_MOVE(15, MOVE_DISABLE), + LEVEL_UP_MOVE(20, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(25, MOVE_TAILWIND), + LEVEL_UP_MOVE(30, MOVE_ROOST), + LEVEL_UP_MOVE(35, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(40, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(45, MOVE_PSYCHIC), + LEVEL_UP_MOVE(50, MOVE_OBLIVION_WING), + LEVEL_UP_MOVE(55, MOVE_PHANTOM_FORCE), + LEVEL_UP_MOVE(60, MOVE_FOUL_PLAY), + LEVEL_UP_MOVE(65, MOVE_DRAGON_RUSH), + LEVEL_UP_MOVE(70, MOVE_HURRICANE), + LEVEL_UP_MOVE(75, MOVE_FOCUS_BLAST), + LEVEL_UP_MOVE(80, MOVE_SKY_ATTACK), + LEVEL_UP_MOVE(85, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; +#endif //P_FAMILY_YVELTAL + +#if P_FAMILY_ZYGARDE +static const struct LevelUpMove sZygardeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_THOUSAND_ARROWS), + LEVEL_UP_MOVE( 1, MOVE_THOUSAND_WAVES), + LEVEL_UP_MOVE( 1, MOVE_CORE_ENFORCER), + LEVEL_UP_MOVE( 1, MOVE_BIND), + LEVEL_UP_MOVE( 1, MOVE_BULLDOZE), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 8, MOVE_HAZE), + LEVEL_UP_MOVE(16, MOVE_DIG), + LEVEL_UP_MOVE(24, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(32, MOVE_CRUNCH), + LEVEL_UP_MOVE(40, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(48, MOVE_LANDS_WRATH), + LEVEL_UP_MOVE(56, MOVE_GLARE), + LEVEL_UP_MOVE(64, MOVE_SANDSTORM), + LEVEL_UP_MOVE(72, MOVE_COIL), + LEVEL_UP_MOVE(80, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(88, MOVE_OUTRAGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_ZYGARDE + +#if P_FAMILY_DIANCIE +static const struct LevelUpMove sDiancieLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_DIAMOND_STORM), + LEVEL_UP_MOVE( 7, MOVE_GUARD_SPLIT), + LEVEL_UP_MOVE(14, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(21, MOVE_FLAIL), + LEVEL_UP_MOVE(28, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(35, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(42, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(49, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(56, MOVE_SKILL_SWAP), + LEVEL_UP_MOVE(63, MOVE_POWER_GEM), + LEVEL_UP_MOVE(70, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(77, MOVE_MOONBLAST), + LEVEL_UP_MOVE(84, MOVE_STONE_EDGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_DIANCIE + +#if P_FAMILY_HOOPA +static const struct LevelUpMove sHoopaConfinedLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE( 1, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE( 6, MOVE_ASTONISH), + LEVEL_UP_MOVE(10, MOVE_TRICK), + LEVEL_UP_MOVE(15, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(19, MOVE_PSYBEAM), + LEVEL_UP_MOVE(25, MOVE_SKILL_SWAP), + LEVEL_UP_MOVE(29, MOVE_GUARD_SPLIT), + LEVEL_UP_MOVE(29, MOVE_POWER_SPLIT), + LEVEL_UP_MOVE(35, MOVE_PHANTOM_FORCE), + LEVEL_UP_MOVE(46, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(50, MOVE_TRICK_ROOM), + LEVEL_UP_MOVE(50, MOVE_WONDER_ROOM), + LEVEL_UP_MOVE(55, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(68, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(75, MOVE_PSYCHIC), + LEVEL_UP_MOVE(85, MOVE_HYPERSPACE_HOLE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sHoopaUnboundLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE( 1, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE( 6, MOVE_ASTONISH), + LEVEL_UP_MOVE(10, MOVE_TRICK), + LEVEL_UP_MOVE(15, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(19, MOVE_PSYBEAM), + LEVEL_UP_MOVE(25, MOVE_SKILL_SWAP), + LEVEL_UP_MOVE(29, MOVE_GUARD_SPLIT), + LEVEL_UP_MOVE(29, MOVE_POWER_SPLIT), + LEVEL_UP_MOVE(46, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(50, MOVE_TRICK_ROOM), + LEVEL_UP_MOVE(50, MOVE_WONDER_ROOM), + LEVEL_UP_MOVE(55, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(75, MOVE_PSYCHIC), + LEVEL_UP_MOVE(85, MOVE_HYPERSPACE_FURY), + LEVEL_UP_END +}; +#endif //P_FAMILY_HOOPA + +#if P_FAMILY_VOLCANION +static const struct LevelUpMove sVolcanionLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_STEAM_ERUPTION), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE( 6, MOVE_LEER), + LEVEL_UP_MOVE(12, MOVE_WEATHER_BALL), + LEVEL_UP_MOVE(18, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(24, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(30, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(36, MOVE_INCINERATE), + LEVEL_UP_MOVE(42, MOVE_STOMP), + LEVEL_UP_MOVE(48, MOVE_SCALD), + LEVEL_UP_MOVE(54, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(60, MOVE_MIST), + LEVEL_UP_MOVE(60, MOVE_HAZE), + LEVEL_UP_MOVE(66, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(78, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE(84, MOVE_OVERHEAT), + LEVEL_UP_MOVE(90, MOVE_EXPLOSION), + LEVEL_UP_END +}; +#endif //P_FAMILY_VOLCANION + +#if P_FAMILY_ROWLET +static const struct LevelUpMove sRowletLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 3, MOVE_LEAFAGE), + LEVEL_UP_MOVE( 6, MOVE_ASTONISH), + LEVEL_UP_MOVE( 9, MOVE_PECK), + LEVEL_UP_MOVE(12, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE(15, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(18, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(21, MOVE_PLUCK), + LEVEL_UP_MOVE(24, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(27, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(30, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(33, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(36, MOVE_BRAVE_BIRD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDartrixLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), + LEVEL_UP_MOVE( 9, MOVE_PECK), + LEVEL_UP_MOVE(12, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE(15, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(20, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(25, MOVE_PLUCK), + LEVEL_UP_MOVE(30, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(35, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(40, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(45, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(50, MOVE_BRAVE_BIRD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDecidueyeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SPIRIT_SHACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), + LEVEL_UP_MOVE( 1, MOVE_PHANTOM_FORCE), + LEVEL_UP_MOVE( 1, MOVE_LEAF_STORM), + LEVEL_UP_MOVE( 1, MOVE_U_TURN), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SPITE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_PECK), + LEVEL_UP_MOVE(12, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE(15, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(20, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(25, MOVE_PLUCK), + LEVEL_UP_MOVE(30, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(37, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(44, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(51, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(58, MOVE_BRAVE_BIRD), + LEVEL_UP_END +}; + +#if P_HISUIAN_FORMS +static const struct LevelUpMove sDecidueyeHisuiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_TRIPLE_ARROWS), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_U_TURN), + LEVEL_UP_MOVE( 1, MOVE_LEAF_STORM), + LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), + LEVEL_UP_MOVE( 9, MOVE_PECK), + LEVEL_UP_MOVE(12, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE(15, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(20, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(25, MOVE_PLUCK), + LEVEL_UP_MOVE(30, MOVE_BULK_UP), + LEVEL_UP_MOVE(37, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(44, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(51, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(58, MOVE_BRAVE_BIRD), + LEVEL_UP_END +}; +#endif //P_HISUIAN_FORMS +#endif //P_FAMILY_ROWLET + +#if P_FAMILY_LITTEN +static const struct LevelUpMove sLittenLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 3, MOVE_EMBER), + LEVEL_UP_MOVE( 6, MOVE_LICK), + LEVEL_UP_MOVE( 9, MOVE_ROAR), + LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(15, MOVE_BITE), + LEVEL_UP_MOVE(18, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(21, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(24, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(27, MOVE_SWAGGER), + LEVEL_UP_MOVE(30, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(33, MOVE_THRASH), + LEVEL_UP_MOVE(36, MOVE_FLARE_BLITZ), + LEVEL_UP_END +}; + +static const struct LevelUpMove sTorracatLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 9, MOVE_ROAR), + LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(15, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(25, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(30, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(35, MOVE_SWAGGER), + LEVEL_UP_MOVE(40, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(45, MOVE_THRASH), + LEVEL_UP_MOVE(50, MOVE_FLARE_BLITZ), + LEVEL_UP_END +}; + +static const struct LevelUpMove sIncineroarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DARKEST_LARIAT), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_THROAT_CHOP), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE( 1, MOVE_BULK_UP), + LEVEL_UP_MOVE( 9, MOVE_ROAR), + LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(15, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(25, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(30, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(32, MOVE_SWAGGER), + LEVEL_UP_MOVE(44, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(51, MOVE_THRASH), + LEVEL_UP_MOVE(58, MOVE_FLARE_BLITZ), + LEVEL_UP_END +}; +#endif //P_FAMILY_LITTEN + +#if P_FAMILY_POPPLIO +static const struct LevelUpMove sPopplioLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 3, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 6, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 9, MOVE_AQUA_JET), + LEVEL_UP_MOVE(12, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(15, MOVE_ICY_WIND), + LEVEL_UP_MOVE(18, MOVE_SING), + LEVEL_UP_MOVE(21, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(24, MOVE_ENCORE), + LEVEL_UP_MOVE(27, MOVE_MISTY_TERRAIN), + LEVEL_UP_MOVE(30, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(33, MOVE_MOONBLAST), + LEVEL_UP_MOVE(36, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBrionneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 9, MOVE_AQUA_JET), + LEVEL_UP_MOVE(12, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(15, MOVE_ICY_WIND), + LEVEL_UP_MOVE(20, MOVE_SING), + LEVEL_UP_MOVE(25, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(30, MOVE_ENCORE), + LEVEL_UP_MOVE(35, MOVE_MISTY_TERRAIN), + LEVEL_UP_MOVE(40, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(45, MOVE_MOONBLAST), + LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPrimarinaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SPARKLING_ARIA), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 9, MOVE_AQUA_JET), + LEVEL_UP_MOVE(12, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(15, MOVE_ICY_WIND), + LEVEL_UP_MOVE(20, MOVE_SING), + LEVEL_UP_MOVE(25, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(30, MOVE_ENCORE), + LEVEL_UP_MOVE(37, MOVE_MISTY_TERRAIN), + LEVEL_UP_MOVE(44, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(51, MOVE_MOONBLAST), + LEVEL_UP_MOVE(58, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; +#endif //P_FAMILY_POPPLIO + +#if P_FAMILY_PIKIPEK +static const struct LevelUpMove sPikipekLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 3, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 9, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE(13, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(15, MOVE_PLUCK), + LEVEL_UP_MOVE(19, MOVE_ROOST), + LEVEL_UP_MOVE(21, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(25, MOVE_SCREECH), + LEVEL_UP_MOVE(27, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(31, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(33, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(37, MOVE_HYPER_VOICE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sTrumbeakLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 1, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(13, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(16, MOVE_PLUCK), + LEVEL_UP_MOVE(21, MOVE_ROOST), + LEVEL_UP_MOVE(24, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(29, MOVE_SCREECH), + LEVEL_UP_MOVE(32, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(37, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(40, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(45, MOVE_HYPER_VOICE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sToucannonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_BEAK_BLAST), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 1, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE(13, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(16, MOVE_PLUCK), + LEVEL_UP_MOVE(21, MOVE_ROOST), + LEVEL_UP_MOVE(24, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(30, MOVE_SCREECH), + LEVEL_UP_MOVE(34, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(40, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(44, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(50, MOVE_HYPER_VOICE), + LEVEL_UP_END +}; +#endif //P_FAMILY_PIKIPEK + +#if P_FAMILY_YUNGOOS +static const struct LevelUpMove sYungoosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 3, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_PAYBACK), + LEVEL_UP_MOVE(10, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(13, MOVE_WORK_UP), + LEVEL_UP_MOVE(19, MOVE_BITE), + LEVEL_UP_MOVE(22, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(25, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(31, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(34, MOVE_CRUNCH), + LEVEL_UP_MOVE(37, MOVE_YAWN), + LEVEL_UP_MOVE(40, MOVE_THRASH), + LEVEL_UP_MOVE(43, MOVE_REST), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGumshoosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_PAYBACK), + LEVEL_UP_MOVE(13, MOVE_WORK_UP), + LEVEL_UP_MOVE(19, MOVE_BITE), + LEVEL_UP_MOVE(23, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(27, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(35, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(39, MOVE_CRUNCH), + LEVEL_UP_MOVE(43, MOVE_YAWN), + LEVEL_UP_MOVE(47, MOVE_THRASH), + LEVEL_UP_MOVE(52, MOVE_REST), + LEVEL_UP_END +}; +#endif //P_FAMILY_YUNGOOS + +#if P_FAMILY_GRUBBIN +static const struct LevelUpMove sGrubbinLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 5, MOVE_STRING_SHOT), + LEVEL_UP_MOVE(10, MOVE_BUG_BITE), + LEVEL_UP_MOVE(15, MOVE_BITE), + LEVEL_UP_MOVE(21, MOVE_SPARK), + LEVEL_UP_MOVE(25, MOVE_STICKY_WEB), + LEVEL_UP_MOVE(30, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(35, MOVE_CRUNCH), + LEVEL_UP_MOVE(40, MOVE_DIG), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCharjabugLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE(15, MOVE_BITE), + LEVEL_UP_MOVE(23, MOVE_SPARK), + LEVEL_UP_MOVE(29, MOVE_STICKY_WEB), + LEVEL_UP_MOVE(36, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(43, MOVE_CRUNCH), + LEVEL_UP_MOVE(50, MOVE_DIG), + LEVEL_UP_MOVE(57, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(64, MOVE_DISCHARGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sVikavoltLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_THUNDERBOLT), + LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP), + LEVEL_UP_MOVE( 1, MOVE_DIG), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_X_SCISSOR), + LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_DISCHARGE), + LEVEL_UP_MOVE(15, MOVE_BITE), + LEVEL_UP_MOVE(23, MOVE_SPARK), + LEVEL_UP_MOVE(29, MOVE_STICKY_WEB), + LEVEL_UP_MOVE(36, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(43, MOVE_GUILLOTINE), + LEVEL_UP_MOVE(50, MOVE_FLY), + LEVEL_UP_MOVE(57, MOVE_AGILITY), + LEVEL_UP_MOVE(64, MOVE_ZAP_CANNON), + LEVEL_UP_END +}; +#endif //P_FAMILY_GRUBBIN + +#if P_FAMILY_CRABRAWLER +static const struct LevelUpMove sCrabrawlerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP), + LEVEL_UP_MOVE( 5, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 9, MOVE_LEER), + LEVEL_UP_MOVE(13, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(17, MOVE_PROTECT), + LEVEL_UP_MOVE(22, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(25, MOVE_SLAM), + LEVEL_UP_MOVE(29, MOVE_PAYBACK), + LEVEL_UP_MOVE(33, MOVE_REVERSAL), + LEVEL_UP_MOVE(37, MOVE_CRABHAMMER), + LEVEL_UP_MOVE(42, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(45, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_MOVE(49, MOVE_CLOSE_COMBAT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCrabominableLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_ICE_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE(17, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(22, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(25, MOVE_SLAM), + LEVEL_UP_MOVE(29, MOVE_AVALANCHE), + LEVEL_UP_MOVE(33, MOVE_REVERSAL), + LEVEL_UP_MOVE(37, MOVE_ICE_HAMMER), + LEVEL_UP_MOVE(42, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(45, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_MOVE(49, MOVE_CLOSE_COMBAT), + LEVEL_UP_END +}; +#endif //P_FAMILY_CRABRAWLER + +#if P_FAMILY_ORICORIO +static const struct LevelUpMove sOricorioLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 4, MOVE_GROWL), + LEVEL_UP_MOVE( 6, MOVE_PECK), + LEVEL_UP_MOVE(10, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(13, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(16, MOVE_BATON_PASS), + LEVEL_UP_MOVE(20, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(23, MOVE_ACROBATICS), + LEVEL_UP_MOVE(26, MOVE_TEETER_DANCE), + LEVEL_UP_MOVE(30, MOVE_ROOST), + LEVEL_UP_MOVE(33, MOVE_FLATTER), + LEVEL_UP_MOVE(36, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(40, MOVE_REVELATION_DANCE), + LEVEL_UP_MOVE(43, MOVE_AGILITY), + LEVEL_UP_MOVE(47, MOVE_HURRICANE), + LEVEL_UP_END +}; +#endif //P_FAMILY_ORICORIO + +#if P_FAMILY_CUTIEFLY +static const struct LevelUpMove sCutieflyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE( 6, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(12, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(18, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(24, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE(30, MOVE_COVET), + LEVEL_UP_MOVE(36, MOVE_SWITCHEROO), + LEVEL_UP_MOVE(42, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE(48, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(54, MOVE_QUIVER_DANCE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sRibombeeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_POLLEN_PUFF), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE(18, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(24, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE(32, MOVE_COVET), + LEVEL_UP_MOVE(40, MOVE_SWITCHEROO), + LEVEL_UP_MOVE(48, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE(56, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(64, MOVE_QUIVER_DANCE), + LEVEL_UP_END +}; +#endif //P_FAMILY_CUTIEFLY + +#if P_FAMILY_ROCKRUFF +static const struct LevelUpMove sRockruffLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 4, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 8, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(12, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(16, MOVE_HOWL), + LEVEL_UP_MOVE(20, MOVE_BITE), + LEVEL_UP_MOVE(24, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(28, MOVE_ROAR), + LEVEL_UP_MOVE(32, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(36, MOVE_CRUNCH), + LEVEL_UP_MOVE(40, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(44, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(48, MOVE_STONE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLycanrocMiddayLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_ACCELEROCK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE(12, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(16, MOVE_HOWL), + LEVEL_UP_MOVE(20, MOVE_BITE), + LEVEL_UP_MOVE(24, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(30, MOVE_ROAR), + LEVEL_UP_MOVE(36, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(42, MOVE_CRUNCH), + LEVEL_UP_MOVE(48, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(54, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(60, MOVE_STONE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLycanrocMidnightLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_REVERSAL), + LEVEL_UP_MOVE( 1, MOVE_ENDURE), + LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE(12, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(16, MOVE_HOWL), + LEVEL_UP_MOVE(20, MOVE_BITE), + LEVEL_UP_MOVE(24, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(30, MOVE_ROAR), + LEVEL_UP_MOVE(36, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(42, MOVE_CRUNCH), + LEVEL_UP_MOVE(48, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(54, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(60, MOVE_STONE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLycanrocDuskLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_CRUSH_CLAW), + LEVEL_UP_MOVE( 1, MOVE_ACCELEROCK), + LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE( 1, MOVE_ENDURE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_REVERSAL), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(12, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(16, MOVE_HOWL), + LEVEL_UP_MOVE(20, MOVE_BITE), + LEVEL_UP_MOVE(24, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(30, MOVE_ROAR), + LEVEL_UP_MOVE(36, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(42, MOVE_CRUNCH), + LEVEL_UP_MOVE(48, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(54, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(60, MOVE_STONE_EDGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_ROCKRUFF + +#if P_FAMILY_WISHIWASHI +static const struct LevelUpMove sWishiwashiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 4, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 8, MOVE_BEAT_UP), + LEVEL_UP_MOVE(12, MOVE_BRINE), + LEVEL_UP_MOVE(16, MOVE_TEARFUL_LOOK), + LEVEL_UP_MOVE(20, MOVE_DIVE), + LEVEL_UP_MOVE(24, MOVE_SOAK), + LEVEL_UP_MOVE(28, MOVE_UPROAR), + LEVEL_UP_MOVE(32, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(36, MOVE_AQUA_RING), + LEVEL_UP_MOVE(40, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(44, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(48, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_WISHIWASHI + +#if P_FAMILY_MAREANIE +static const struct LevelUpMove sMareanieLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 5, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(10, MOVE_BITE), + LEVEL_UP_MOVE(15, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(20, MOVE_RECOVER), + LEVEL_UP_MOVE(25, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(30, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(35, MOVE_LIQUIDATION), + LEVEL_UP_MOVE(40, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE(45, MOVE_POISON_JAB), + LEVEL_UP_MOVE(50, MOVE_TOXIC), + LEVEL_UP_END +}; + +static const struct LevelUpMove sToxapexLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_BANEFUL_BUNKER), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(15, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(20, MOVE_RECOVER), + LEVEL_UP_MOVE(25, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(30, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(35, MOVE_LIQUIDATION), + LEVEL_UP_MOVE(42, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE(49, MOVE_POISON_JAB), + LEVEL_UP_MOVE(56, MOVE_TOXIC), + LEVEL_UP_END +}; +#endif //P_FAMILY_MAREANIE + +#if P_FAMILY_MUDBRAY +static const struct LevelUpMove sMudbrayLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 4, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 8, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(12, MOVE_BULLDOZE), + LEVEL_UP_MOVE(16, MOVE_STOMP), + LEVEL_UP_MOVE(20, MOVE_STRENGTH), + LEVEL_UP_MOVE(24, MOVE_COUNTER), + LEVEL_UP_MOVE(28, MOVE_HIGH_HORSEPOWER), + LEVEL_UP_MOVE(32, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(36, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(40, MOVE_MEGA_KICK), + LEVEL_UP_MOVE(44, MOVE_SUPERPOWER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMudsdaleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(12, MOVE_BULLDOZE), + LEVEL_UP_MOVE(16, MOVE_STOMP), + LEVEL_UP_MOVE(20, MOVE_STRENGTH), + LEVEL_UP_MOVE(24, MOVE_COUNTER), + LEVEL_UP_MOVE(28, MOVE_HIGH_HORSEPOWER), + LEVEL_UP_MOVE(34, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(40, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(46, MOVE_MEGA_KICK), + LEVEL_UP_MOVE(52, MOVE_SUPERPOWER), + LEVEL_UP_END +}; +#endif //P_FAMILY_MUDBRAY + +#if P_FAMILY_DEWPIDER +static const struct LevelUpMove sDewpiderLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_INFESTATION), + LEVEL_UP_MOVE( 4, MOVE_BUG_BITE), + LEVEL_UP_MOVE( 8, MOVE_BITE), + LEVEL_UP_MOVE(12, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(16, MOVE_AQUA_RING), + LEVEL_UP_MOVE(20, MOVE_HEADBUTT), + LEVEL_UP_MOVE(24, MOVE_CRUNCH), + LEVEL_UP_MOVE(28, MOVE_SOAK), + LEVEL_UP_MOVE(32, MOVE_ENTRAINMENT), + LEVEL_UP_MOVE(36, MOVE_LUNGE), + LEVEL_UP_MOVE(40, MOVE_LIQUIDATION), + LEVEL_UP_MOVE(44, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(48, MOVE_MIRROR_COAT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sAraquanidLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE( 1, MOVE_INFESTATION), + LEVEL_UP_MOVE(12, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(16, MOVE_AQUA_RING), + LEVEL_UP_MOVE(20, MOVE_HEADBUTT), + LEVEL_UP_MOVE(26, MOVE_CRUNCH), + LEVEL_UP_MOVE(32, MOVE_SOAK), + LEVEL_UP_MOVE(38, MOVE_ENTRAINMENT), + LEVEL_UP_MOVE(44, MOVE_LUNGE), + LEVEL_UP_MOVE(50, MOVE_LIQUIDATION), + LEVEL_UP_MOVE(56, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(62, MOVE_MIRROR_COAT), + LEVEL_UP_END +}; +#endif //P_FAMILY_DEWPIDER + +#if P_FAMILY_FOMANTIS +static const struct LevelUpMove sFomantisLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), + LEVEL_UP_MOVE( 5, MOVE_GROWTH), + LEVEL_UP_MOVE(10, MOVE_INGRAIN), + LEVEL_UP_MOVE(15, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(20, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(25, MOVE_SLASH), + LEVEL_UP_MOVE(30, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(35, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(40, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(45, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(50, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLurantisLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_INGRAIN), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), + LEVEL_UP_MOVE(15, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(20, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(25, MOVE_SLASH), + LEVEL_UP_MOVE(30, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(37, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(44, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(51, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(63, MOVE_SOLAR_BLADE), + LEVEL_UP_END +}; +#endif //P_FAMILY_FOMANTIS + +#if P_FAMILY_MORELULL +static const struct LevelUpMove sMorelullLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 4, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 8, MOVE_INGRAIN), + LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(16, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(20, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(25, MOVE_STRENGTH_SAP), + LEVEL_UP_MOVE(28, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(32, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE(36, MOVE_SPORE), + LEVEL_UP_MOVE(40, MOVE_MOONBLAST), + LEVEL_UP_MOVE(44, MOVE_DREAM_EATER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sShiinoticLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_INGRAIN), + LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(16, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(20, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(27, MOVE_STRENGTH_SAP), + LEVEL_UP_MOVE(32, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(38, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE(44, MOVE_SPORE), + LEVEL_UP_MOVE(50, MOVE_MOONBLAST), + LEVEL_UP_MOVE(56, MOVE_DREAM_EATER), + LEVEL_UP_END +}; +#endif //P_FAMILY_MORELULL + +#if P_FAMILY_SALANDIT +static const struct LevelUpMove sSalanditLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 5, MOVE_SMOG), + LEVEL_UP_MOVE(10, MOVE_EMBER), + LEVEL_UP_MOVE(15, MOVE_POISON_FANG), + LEVEL_UP_MOVE(20, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(25, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(30, MOVE_INCINERATE), + LEVEL_UP_MOVE(35, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(40, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(45, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(50, MOVE_TOXIC), + LEVEL_UP_MOVE(55, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSalazzleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_FIRE_LASH), + LEVEL_UP_MOVE( 1, MOVE_ENDEAVOR), + LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE( 1, MOVE_TORMENT), + LEVEL_UP_MOVE( 1, MOVE_SWAGGER), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE(15, MOVE_POISON_FANG), + LEVEL_UP_MOVE(20, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(25, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(30, MOVE_INCINERATE), + LEVEL_UP_MOVE(37, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(44, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(51, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(58, MOVE_TOXIC), + LEVEL_UP_END +}; +#endif //P_FAMILY_SALANDIT + +#if P_FAMILY_STUFFUL +static const struct LevelUpMove sStuffulLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 4, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE( 8, MOVE_PAYBACK), + LEVEL_UP_MOVE(12, MOVE_BRUTAL_SWING), + LEVEL_UP_MOVE(16, MOVE_ENDURE), + LEVEL_UP_MOVE(20, MOVE_STRENGTH), + LEVEL_UP_MOVE(24, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(28, MOVE_FLAIL), + LEVEL_UP_MOVE(32, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(36, MOVE_THRASH), + LEVEL_UP_MOVE(40, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE(44, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(48, MOVE_SUPERPOWER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBewearLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_BIND), + LEVEL_UP_MOVE( 1, MOVE_BIND), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE( 1, MOVE_PAYBACK), + LEVEL_UP_MOVE(12, MOVE_BRUTAL_SWING), + LEVEL_UP_MOVE(16, MOVE_ENDURE), + LEVEL_UP_MOVE(20, MOVE_STRENGTH), + LEVEL_UP_MOVE(24, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(30, MOVE_FLAIL), + LEVEL_UP_MOVE(36, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(42, MOVE_THRASH), + LEVEL_UP_MOVE(48, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE(54, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(60, MOVE_SUPERPOWER), + LEVEL_UP_END +}; +#endif //P_FAMILY_STUFFUL + +#if P_FAMILY_BOUNSWEET +static const struct LevelUpMove sBounsweetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 4, MOVE_PLAY_NICE), + LEVEL_UP_MOVE( 8, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(12, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(16, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(20, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(24, MOVE_FLAIL), + LEVEL_UP_MOVE(28, MOVE_TEETER_DANCE), + LEVEL_UP_MOVE(32, MOVE_AROMATIC_MIST), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSteeneeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), + LEVEL_UP_MOVE(16, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(22, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(28, MOVE_STOMP), + LEVEL_UP_MOVE(34, MOVE_TEETER_DANCE), + LEVEL_UP_MOVE(40, MOVE_AROMATIC_MIST), + LEVEL_UP_MOVE(46, MOVE_LEAF_STORM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sTsareenaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_TROP_KICK), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_SWAGGER), + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 1, MOVE_POWER_WHIP), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), + LEVEL_UP_MOVE(16, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(22, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(28, MOVE_STOMP), + LEVEL_UP_MOVE(34, MOVE_TEETER_DANCE), + LEVEL_UP_MOVE(40, MOVE_AROMATIC_MIST), + LEVEL_UP_MOVE(46, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(58, MOVE_HIGH_JUMP_KICK), + LEVEL_UP_END +}; +#endif //P_FAMILY_BOUNSWEET + +#if P_FAMILY_COMFEY +static const struct LevelUpMove sComfeyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 3, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 6, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 9, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(12, MOVE_CHARM), + LEVEL_UP_MOVE(15, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(18, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(21, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(24, MOVE_GRASS_KNOT), + LEVEL_UP_MOVE(27, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(30, MOVE_FLORAL_HEALING), + LEVEL_UP_MOVE(33, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE(36, MOVE_BIND), + LEVEL_UP_MOVE(39, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(42, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(45, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE(48, MOVE_GRASSY_TERRAIN), + LEVEL_UP_END +}; +#endif //P_FAMILY_COMFEY + +#if P_FAMILY_ORANGURU +static const struct LevelUpMove sOranguruLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE( 5, MOVE_AFTER_YOU), + LEVEL_UP_MOVE(10, MOVE_CALM_MIND), + LEVEL_UP_MOVE(15, MOVE_STORED_POWER), + LEVEL_UP_MOVE(20, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(25, MOVE_QUASH), + LEVEL_UP_MOVE(30, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(35, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(40, MOVE_TRICK_ROOM), + LEVEL_UP_MOVE(45, MOVE_PSYCHIC), + LEVEL_UP_MOVE(50, MOVE_INSTRUCT), + LEVEL_UP_MOVE(55, MOVE_FOUL_PLAY), + LEVEL_UP_MOVE(60, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; +#endif //P_FAMILY_ORANGURU + +#if P_FAMILY_PASSIMIAN +static const struct LevelUpMove sPassimianLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 5, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE(10, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(15, MOVE_BEAT_UP), + LEVEL_UP_MOVE(20, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(30, MOVE_FLING), + LEVEL_UP_MOVE(35, MOVE_BULK_UP), + LEVEL_UP_MOVE(40, MOVE_THRASH), + LEVEL_UP_MOVE(45, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(50, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(55, MOVE_REVERSAL), + LEVEL_UP_MOVE(60, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; +#endif //P_FAMILY_PASSIMIAN + +#if P_FAMILY_WIMPOD +static const struct LevelUpMove sWimpodLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGolisopodLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_FIRST_IMPRESSION), + LEVEL_UP_MOVE( 1, MOVE_FIRST_IMPRESSION), + LEVEL_UP_MOVE( 1, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_SPITE), + LEVEL_UP_MOVE( 4, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 8, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(12, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(16, MOVE_BUG_BITE), + LEVEL_UP_MOVE(20, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(24, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(28, MOVE_SLASH), + LEVEL_UP_MOVE(32, MOVE_RAZOR_SHELL), + LEVEL_UP_MOVE(36, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(40, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(44, MOVE_LIQUIDATION), + LEVEL_UP_END +}; +#endif //P_FAMILY_WIMPOD + +#if P_FAMILY_SANDYGAST +static const struct LevelUpMove sSandygastLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 5, MOVE_ASTONISH), + LEVEL_UP_MOVE(10, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(15, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(20, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(25, MOVE_BULLDOZE), + LEVEL_UP_MOVE(30, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(35, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(40, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(45, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(50, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(55, MOVE_SHORE_UP), + LEVEL_UP_MOVE(60, MOVE_SANDSTORM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPalossandLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(15, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(20, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(25, MOVE_BULLDOZE), + LEVEL_UP_MOVE(30, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(35, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(40, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(47, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(54, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(61, MOVE_SHORE_UP), + LEVEL_UP_MOVE(68, MOVE_SANDSTORM), + LEVEL_UP_END +}; +#endif //P_FAMILY_SANDYGAST + +#if P_FAMILY_PYUKUMUKU +static const struct LevelUpMove sPyukumukuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BATON_PASS), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 5, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(10, MOVE_TAUNT), + LEVEL_UP_MOVE(15, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(20, MOVE_COUNTER), + LEVEL_UP_MOVE(25, MOVE_PURIFY), + LEVEL_UP_MOVE(30, MOVE_CURSE), + LEVEL_UP_MOVE(35, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(40, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE(45, MOVE_RECOVER), + LEVEL_UP_MOVE(50, MOVE_SOAK), + LEVEL_UP_MOVE(55, MOVE_TOXIC), + LEVEL_UP_MOVE(60, MOVE_MEMENTO), + LEVEL_UP_END +}; +#endif //P_FAMILY_PYUKUMUKU + +#if P_FAMILY_TYPE_NULL +static const struct LevelUpMove sTypeNullLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_IMPRISON), + LEVEL_UP_MOVE( 5, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(10, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(15, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(20, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(25, MOVE_CRUSH_CLAW), + LEVEL_UP_MOVE(30, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(35, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE(40, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(45, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(50, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(55, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSilvallyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_MULTI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_MULTI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_POISON_FANG), + LEVEL_UP_MOVE( 1, MOVE_IMPRISON), + LEVEL_UP_MOVE( 1, MOVE_IRON_HEAD), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(15, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(20, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(25, MOVE_CRUSH_CLAW), + LEVEL_UP_MOVE(30, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(35, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE(40, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(45, MOVE_CRUNCH), + LEVEL_UP_MOVE(50, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(55, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(60, MOVE_PARTING_SHOT), + LEVEL_UP_END +}; +#endif //P_FAMILY_TYPE_NULL + +#if P_FAMILY_MINIOR +static const struct LevelUpMove sMiniorLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 3, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 8, MOVE_ROLLOUT), + LEVEL_UP_MOVE(10, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(15, MOVE_SWIFT), + LEVEL_UP_MOVE(17, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(22, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(24, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(29, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(31, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(36, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(38, MOVE_POWER_GEM), + LEVEL_UP_MOVE(43, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(45, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE(50, MOVE_EXPLOSION), + LEVEL_UP_END +}; +#endif //P_FAMILY_MINIOR + +#if P_FAMILY_KOMALA +static const struct LevelUpMove sKomalaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 6, MOVE_STOCKPILE), + LEVEL_UP_MOVE( 6, MOVE_SPIT_UP), + LEVEL_UP_MOVE( 6, MOVE_SWALLOW), + LEVEL_UP_MOVE(11, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(16, MOVE_YAWN), + LEVEL_UP_MOVE(21, MOVE_SLAM), + LEVEL_UP_MOVE(26, MOVE_FLAIL), + LEVEL_UP_MOVE(31, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(36, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(41, MOVE_WOOD_HAMMER), + LEVEL_UP_MOVE(46, MOVE_THRASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_KOMALA + +#if P_FAMILY_TURTONATOR +static const struct LevelUpMove sTurtonatorLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_EMBER), + LEVEL_UP_MOVE( 8, MOVE_PROTECT), + LEVEL_UP_MOVE(12, MOVE_ENDURE), + LEVEL_UP_MOVE(16, MOVE_FLAIL), + LEVEL_UP_MOVE(20, MOVE_INCINERATE), + LEVEL_UP_MOVE(24, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(28, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(32, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(36, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(40, MOVE_SHELL_TRAP), + LEVEL_UP_MOVE(44, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE(48, MOVE_OVERHEAT), + LEVEL_UP_MOVE(52, MOVE_EXPLOSION), + LEVEL_UP_END +}; +#endif //P_FAMILY_TURTONATOR + +#if P_FAMILY_TOGEDEMARU +static const struct LevelUpMove sTogedemaruLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_NUZZLE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(10, MOVE_CHARGE), + LEVEL_UP_MOVE(15, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(20, MOVE_FELL_STINGER), + LEVEL_UP_MOVE(25, MOVE_SPARK), + LEVEL_UP_MOVE(30, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(35, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE(40, MOVE_ZING_ZAP), + LEVEL_UP_MOVE(45, MOVE_DISCHARGE), + LEVEL_UP_MOVE(50, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_MOVE(55, MOVE_WILD_CHARGE), + LEVEL_UP_MOVE(60, MOVE_SPIKY_SHIELD), + LEVEL_UP_END +}; +#endif //P_FAMILY_TOGEDEMARU + +#if P_FAMILY_MIMIKYU +static const struct LevelUpMove sMimikyuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 1, MOVE_WOOD_HAMMER), + LEVEL_UP_MOVE( 6, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE(12, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(18, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(24, MOVE_MIMIC), + LEVEL_UP_MOVE(30, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(36, MOVE_SLASH), + LEVEL_UP_MOVE(42, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE(48, MOVE_CHARM), + LEVEL_UP_MOVE(54, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(60, MOVE_PAIN_SPLIT), + LEVEL_UP_END +}; +#endif //P_FAMILY_MIMIKYU + +#if P_FAMILY_BRUXISH +static const struct LevelUpMove sBruxishLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 4, MOVE_ASTONISH), + LEVEL_UP_MOVE( 9, MOVE_CONFUSION), + LEVEL_UP_MOVE(12, MOVE_BITE), + LEVEL_UP_MOVE(17, MOVE_AQUA_JET), + LEVEL_UP_MOVE(20, MOVE_DISABLE), + LEVEL_UP_MOVE(25, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(28, MOVE_CRUNCH), + LEVEL_UP_MOVE(33, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(36, MOVE_SCREECH), + LEVEL_UP_MOVE(41, MOVE_PSYCHIC_FANGS), + LEVEL_UP_MOVE(44, MOVE_WAVE_CRASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_BRUXISH + +#if P_FAMILY_DRAMPA +static const struct LevelUpMove sDrampaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), + LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 5, MOVE_TWISTER), + LEVEL_UP_MOVE(10, MOVE_PROTECT), + LEVEL_UP_MOVE(15, MOVE_GLARE), + LEVEL_UP_MOVE(20, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(25, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(30, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(35, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(40, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(45, MOVE_FLY), + LEVEL_UP_MOVE(50, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(55, MOVE_OUTRAGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_DRAMPA + +#if P_FAMILY_DHELMISE +static const struct LevelUpMove sDhelmiseLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 4, MOVE_ASTONISH), + LEVEL_UP_MOVE( 8, MOVE_WRAP), + LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(16, MOVE_GROWTH), + LEVEL_UP_MOVE(20, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(24, MOVE_SWITCHEROO), + LEVEL_UP_MOVE(28, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(32, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(36, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(40, MOVE_SLAM), + LEVEL_UP_MOVE(44, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(48, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(52, MOVE_ANCHOR_SHOT), + LEVEL_UP_MOVE(56, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(60, MOVE_PHANTOM_FORCE), + LEVEL_UP_MOVE(64, MOVE_POWER_WHIP), + LEVEL_UP_END +}; +#endif //P_FAMILY_DHELMISE + +#if P_FAMILY_JANGMO_O +static const struct LevelUpMove sJangmoOLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 4, MOVE_PROTECT), + LEVEL_UP_MOVE( 8, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE(12, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(16, MOVE_HEADBUTT), + LEVEL_UP_MOVE(20, MOVE_WORK_UP), + LEVEL_UP_MOVE(24, MOVE_SCREECH), + LEVEL_UP_MOVE(28, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(32, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(36, MOVE_NOBLE_ROAR), + LEVEL_UP_MOVE(40, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(44, MOVE_OUTRAGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sHakamoOLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE(12, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(16, MOVE_HEADBUTT), + LEVEL_UP_MOVE(20, MOVE_WORK_UP), + LEVEL_UP_MOVE(24, MOVE_SCREECH), + LEVEL_UP_MOVE(28, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(32, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(38, MOVE_NOBLE_ROAR), + LEVEL_UP_MOVE(44, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(50, MOVE_OUTRAGE), + LEVEL_UP_MOVE(56, MOVE_CLOSE_COMBAT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sKommoOLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_CLANGING_SCALES), + LEVEL_UP_MOVE( 1, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE(12, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(16, MOVE_HEADBUTT), + LEVEL_UP_MOVE(20, MOVE_WORK_UP), + LEVEL_UP_MOVE(24, MOVE_SCREECH), + LEVEL_UP_MOVE(28, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(32, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(38, MOVE_NOBLE_ROAR), + LEVEL_UP_MOVE(44, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(52, MOVE_OUTRAGE), + LEVEL_UP_MOVE(60, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(68, MOVE_CLANGOROUS_SOUL), + LEVEL_UP_MOVE(76, MOVE_BOOMBURST), + LEVEL_UP_END +}; +#endif //P_FAMILY_JANGMO_O + +#if P_FAMILY_TAPU_KOKO +static const struct LevelUpMove sTapuKokoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 5, MOVE_WITHDRAW), + LEVEL_UP_MOVE(10, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE(15, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(20, MOVE_SPARK), + LEVEL_UP_MOVE(25, MOVE_SHOCK_WAVE), + LEVEL_UP_MOVE(30, MOVE_CHARGE), + LEVEL_UP_MOVE(35, MOVE_AGILITY), + LEVEL_UP_MOVE(40, MOVE_SCREECH), + LEVEL_UP_MOVE(45, MOVE_DISCHARGE), + LEVEL_UP_MOVE(50, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(55, MOVE_NATURES_MADNESS), + LEVEL_UP_MOVE(60, MOVE_WILD_CHARGE), + LEVEL_UP_MOVE(65, MOVE_BRAVE_BIRD), + LEVEL_UP_MOVE(70, MOVE_POWER_SWAP), + LEVEL_UP_MOVE(75, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_END +}; +#endif //P_FAMILY_TAPU_KOKO + +#if P_FAMILY_TAPU_LELE +static const struct LevelUpMove sTapuLeleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 5, MOVE_WITHDRAW), + LEVEL_UP_MOVE(10, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(15, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(20, MOVE_PSYBEAM), + LEVEL_UP_MOVE(25, MOVE_FLATTER), + LEVEL_UP_MOVE(30, MOVE_AROMATIC_MIST), + LEVEL_UP_MOVE(35, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(40, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(45, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(50, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(55, MOVE_NATURES_MADNESS), + LEVEL_UP_MOVE(60, MOVE_MOONBLAST), + LEVEL_UP_MOVE(65, MOVE_TICKLE), + LEVEL_UP_MOVE(70, MOVE_SKILL_SWAP), + LEVEL_UP_MOVE(75, MOVE_PSYCHIC_TERRAIN), + LEVEL_UP_END +}; +#endif //P_FAMILY_TAPU_LELE + +#if P_FAMILY_TAPU_BULU +static const struct LevelUpMove sTapuBuluLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), + LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 5, MOVE_WITHDRAW), + LEVEL_UP_MOVE(10, MOVE_DISABLE), + LEVEL_UP_MOVE(15, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(20, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(25, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(30, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(35, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(40, MOVE_HORN_LEECH), + LEVEL_UP_MOVE(45, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(50, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(55, MOVE_NATURES_MADNESS), + LEVEL_UP_MOVE(60, MOVE_WOOD_HAMMER), + LEVEL_UP_MOVE(65, MOVE_MEGAHORN), + LEVEL_UP_MOVE(70, MOVE_SKULL_BASH), + LEVEL_UP_MOVE(75, MOVE_GRASSY_TERRAIN), + LEVEL_UP_END +}; +#endif //P_FAMILY_TAPU_BULU + +#if P_FAMILY_TAPU_FINI +static const struct LevelUpMove sTapuFiniLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 5, MOVE_WITHDRAW), + LEVEL_UP_MOVE(10, MOVE_MIST), + LEVEL_UP_MOVE(10, MOVE_HAZE), + LEVEL_UP_MOVE(15, MOVE_AQUA_RING), + LEVEL_UP_MOVE(20, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(25, MOVE_BRINE), + LEVEL_UP_MOVE(30, MOVE_DEFOG), + LEVEL_UP_MOVE(35, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(40, MOVE_SURF), + LEVEL_UP_MOVE(45, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(50, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(55, MOVE_NATURES_MADNESS), + LEVEL_UP_MOVE(60, MOVE_MOONBLAST), + LEVEL_UP_MOVE(65, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(70, MOVE_SOAK), + LEVEL_UP_MOVE(75, MOVE_MISTY_TERRAIN), + LEVEL_UP_END +}; +#endif //P_FAMILY_TAPU_FINI + +#if P_FAMILY_COSMOG +static const struct LevelUpMove sCosmogLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCosmoemLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSolgaleoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SUNSTEEL_STRIKE), + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), + LEVEL_UP_MOVE( 7, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(14, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(21, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(35, MOVE_MORNING_SUN), + LEVEL_UP_MOVE(42, MOVE_CRUNCH), + LEVEL_UP_MOVE(49, MOVE_METAL_BURST), + LEVEL_UP_MOVE(56, MOVE_WILD_CHARGE), + LEVEL_UP_MOVE(63, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(70, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE(77, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(84, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLunalaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_MOONGEIST_BEAM), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_MOVE( 1, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE( 7, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(14, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(21, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(28, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(35, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(42, MOVE_NIGHT_DAZE), + LEVEL_UP_MOVE(49, MOVE_PSYCHIC), + LEVEL_UP_MOVE(56, MOVE_MOONBLAST), + LEVEL_UP_MOVE(63, MOVE_PHANTOM_FORCE), + LEVEL_UP_MOVE(70, MOVE_DREAM_EATER), + LEVEL_UP_MOVE(77, MOVE_WIDE_GUARD), + LEVEL_UP_END +}; +#endif //P_FAMILY_COSMOG + +#if P_FAMILY_NIHILEGO +static const struct LevelUpMove sNihilegoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 5, MOVE_ACID), + LEVEL_UP_MOVE(10, MOVE_TICKLE), + LEVEL_UP_MOVE(15, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE(20, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(25, MOVE_POWER_SPLIT), + LEVEL_UP_MOVE(25, MOVE_GUARD_SPLIT), + LEVEL_UP_MOVE(30, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(35, MOVE_HEADBUTT), + LEVEL_UP_MOVE(40, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(45, MOVE_VENOM_DRENCH), + LEVEL_UP_MOVE(50, MOVE_POWER_GEM), + LEVEL_UP_MOVE(55, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(60, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE(65, MOVE_WONDER_ROOM), + LEVEL_UP_MOVE(70, MOVE_HEAD_SMASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_NIHILEGO + +#if P_FAMILY_BUZZWOLE +static const struct LevelUpMove sBuzzwoleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POWER_UP_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 5, MOVE_TAUNT), + LEVEL_UP_MOVE(10, MOVE_FELL_STINGER), + LEVEL_UP_MOVE(15, MOVE_VITAL_THROW), + LEVEL_UP_MOVE(20, MOVE_BULK_UP), + LEVEL_UP_MOVE(25, MOVE_ENDURE), + LEVEL_UP_MOVE(30, MOVE_REVERSAL), + LEVEL_UP_MOVE(35, MOVE_MEGA_PUNCH), + LEVEL_UP_MOVE(40, MOVE_LUNGE), + LEVEL_UP_MOVE(45, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(50, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_MOVE(55, MOVE_COUNTER), + LEVEL_UP_MOVE(60, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(65, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(70, MOVE_FOCUS_PUNCH), + LEVEL_UP_END +}; +#endif //P_FAMILY_BUZZWOLE + +#if P_FAMILY_PHEROMOSA +static const struct LevelUpMove sPheromosaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 5, MOVE_LEER), + LEVEL_UP_MOVE(10, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(15, MOVE_BUG_BITE), + LEVEL_UP_MOVE(20, MOVE_LOW_KICK), + LEVEL_UP_MOVE(25, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(30, MOVE_TRIPLE_KICK), + LEVEL_UP_MOVE(35, MOVE_STOMP), + LEVEL_UP_MOVE(40, MOVE_AGILITY), + LEVEL_UP_MOVE(45, MOVE_LUNGE), + LEVEL_UP_MOVE(50, MOVE_BOUNCE), + LEVEL_UP_MOVE(55, MOVE_SPEED_SWAP), + LEVEL_UP_MOVE(60, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(65, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE(70, MOVE_HIGH_JUMP_KICK), + LEVEL_UP_END +}; +#endif //P_FAMILY_PHEROMOSA + +#if P_FAMILY_XURKITREE +static const struct LevelUpMove sXurkitreeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 5, MOVE_CHARGE), + LEVEL_UP_MOVE(10, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(15, MOVE_INGRAIN), + LEVEL_UP_MOVE(20, MOVE_SPARK), + LEVEL_UP_MOVE(25, MOVE_SHOCK_WAVE), + LEVEL_UP_MOVE(30, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(35, MOVE_EERIE_IMPULSE), + LEVEL_UP_MOVE(40, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE(45, MOVE_DISCHARGE), + LEVEL_UP_MOVE(50, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE(55, MOVE_THUNDERBOLT), + LEVEL_UP_MOVE(60, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_MOVE(65, MOVE_POWER_WHIP), + LEVEL_UP_MOVE(70, MOVE_ZAP_CANNON), + LEVEL_UP_END +}; +#endif //P_FAMILY_XURKITREE + +#if P_FAMILY_CELESTEELA +static const struct LevelUpMove sCelesteelaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_HARDEN), + LEVEL_UP_MOVE(10, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(15, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(20, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(25, MOVE_INGRAIN), + LEVEL_UP_MOVE(30, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE(35, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(40, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(45, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(50, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(55, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(60, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(65, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(70, MOVE_SKULL_BASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_CELESTEELA + +#if P_FAMILY_KARTANA +static const struct LevelUpMove sKartanaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_VACUUM_WAVE), + LEVEL_UP_MOVE( 5, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(10, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(15, MOVE_CUT), + LEVEL_UP_MOVE(20, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(25, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(30, MOVE_DETECT), + LEVEL_UP_MOVE(35, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(40, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(45, MOVE_LASER_FOCUS), + LEVEL_UP_MOVE(50, MOVE_DEFOG), + LEVEL_UP_MOVE(55, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(60, MOVE_SACRED_SWORD), + LEVEL_UP_MOVE(65, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(70, MOVE_GUILLOTINE), + LEVEL_UP_END +}; +#endif //P_FAMILY_KARTANA + +#if P_FAMILY_GUZZLORD +static const struct LevelUpMove sGuzzlordLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE( 5, MOVE_SWALLOW), + LEVEL_UP_MOVE( 5, MOVE_STOCKPILE), + LEVEL_UP_MOVE(10, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(15, MOVE_STOMP), + LEVEL_UP_MOVE(20, MOVE_STOMPING_TANTRUM), + LEVEL_UP_MOVE(25, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(30, MOVE_CRUNCH), + LEVEL_UP_MOVE(35, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(40, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(45, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(50, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(55, MOVE_DRAGON_RUSH), + LEVEL_UP_MOVE(60, MOVE_BELCH), + LEVEL_UP_MOVE(65, MOVE_THRASH), + LEVEL_UP_MOVE(70, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; +#endif //P_FAMILY_GUZZLORD + +#if P_FAMILY_NECROZMA +static const struct LevelUpMove sNecrozmaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_MORNING_SUN), + LEVEL_UP_MOVE( 1, MOVE_MOONLIGHT), + LEVEL_UP_MOVE( 1, MOVE_CHARGE_BEAM), + LEVEL_UP_MOVE( 8, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(16, MOVE_SLASH), + LEVEL_UP_MOVE(24, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(32, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE(40, MOVE_STORED_POWER), + LEVEL_UP_MOVE(48, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(56, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(64, MOVE_POWER_GEM), + LEVEL_UP_MOVE(72, MOVE_PHOTON_GEYSER), + LEVEL_UP_MOVE(80, MOVE_GRAVITY), + LEVEL_UP_MOVE(88, MOVE_PRISMATIC_LASER), + LEVEL_UP_END +}; +#endif //P_FAMILY_NECROZMA + +#if P_FAMILY_MAGEARNA +static const struct LevelUpMove sMagearnaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GYRO_BALL), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 6, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(12, MOVE_ROLLOUT), + LEVEL_UP_MOVE(18, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(24, MOVE_MAGNETIC_FLUX), + LEVEL_UP_MOVE(30, MOVE_PSYBEAM), + LEVEL_UP_MOVE(36, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(42, MOVE_LOCK_ON), + LEVEL_UP_MOVE(48, MOVE_SHIFT_GEAR), + LEVEL_UP_MOVE(54, MOVE_TRICK), + LEVEL_UP_MOVE(60, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(66, MOVE_AURA_SPHERE), + LEVEL_UP_MOVE(72, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(78, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE(84, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(90, MOVE_FLEUR_CANNON), + LEVEL_UP_END +}; +#endif //P_FAMILY_MAGEARNA + +#if P_FAMILY_MARSHADOW +static const struct LevelUpMove sMarshadowLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_ICE_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 9, MOVE_ROLE_PLAY), + LEVEL_UP_MOVE(18, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE(27, MOVE_FORCE_PALM), + LEVEL_UP_MOVE(36, MOVE_ASSURANCE), + LEVEL_UP_MOVE(45, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(54, MOVE_DRAIN_PUNCH), + LEVEL_UP_MOVE(63, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(72, MOVE_SPECTRAL_THIEF), + LEVEL_UP_MOVE(81, MOVE_LASER_FOCUS), + LEVEL_UP_MOVE(90, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(99, MOVE_CLOSE_COMBAT), + LEVEL_UP_END +}; +#endif //P_FAMILY_MARSHADOW + +#if P_FAMILY_POIPOLE +static const struct LevelUpMove sPoipoleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 7, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(14, MOVE_FELL_STINGER), + LEVEL_UP_MOVE(21, MOVE_CHARM), + LEVEL_UP_MOVE(28, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(35, MOVE_VENOM_DRENCH), + LEVEL_UP_MOVE(42, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(49, MOVE_POISON_JAB), + LEVEL_UP_MOVE(56, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(63, MOVE_TOXIC), + LEVEL_UP_END +}; + +static const struct LevelUpMove sNaganadelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_AIR_SLASH), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 7, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(14, MOVE_FELL_STINGER), + LEVEL_UP_MOVE(21, MOVE_CHARM), + LEVEL_UP_MOVE(28, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(35, MOVE_VENOM_DRENCH), + LEVEL_UP_MOVE(42, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(49, MOVE_POISON_JAB), + LEVEL_UP_MOVE(56, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(63, MOVE_TOXIC), + LEVEL_UP_MOVE(70, MOVE_DRAGON_RUSH), + LEVEL_UP_END +}; +#endif //P_FAMILY_POIPOLE + +#if P_FAMILY_STAKATAKA +static const struct LevelUpMove sStakatakaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 5, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(10, MOVE_PROTECT), + LEVEL_UP_MOVE(15, MOVE_STOMP), + LEVEL_UP_MOVE(20, MOVE_BLOCK), + LEVEL_UP_MOVE(25, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(30, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(35, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE(40, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(45, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE(50, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(55, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(60, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(65, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(70, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_STAKATAKA + +#if P_FAMILY_BLACEPHALON +static const struct LevelUpMove sBlacephalonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE( 5, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(10, MOVE_EMBER), + LEVEL_UP_MOVE(15, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(20, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(25, MOVE_MAGIC_COAT), + LEVEL_UP_MOVE(30, MOVE_INCINERATE), + LEVEL_UP_MOVE(35, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(40, MOVE_MYSTICAL_FIRE), + LEVEL_UP_MOVE(45, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(50, MOVE_CALM_MIND), + LEVEL_UP_MOVE(55, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(60, MOVE_TRICK), + LEVEL_UP_MOVE(65, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(70, MOVE_MIND_BLOWN), + LEVEL_UP_END +}; +#endif //P_FAMILY_BLACEPHALON + +#if P_FAMILY_ZERAORA +static const struct LevelUpMove sZeraoraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POWER_UP_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SNARL), + LEVEL_UP_MOVE( 1, MOVE_SPARK), + LEVEL_UP_MOVE( 8, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(16, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(24, MOVE_SLASH), + LEVEL_UP_MOVE(32, MOVE_VOLT_SWITCH), + LEVEL_UP_MOVE(40, MOVE_CHARGE), + LEVEL_UP_MOVE(48, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE(56, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(64, MOVE_DISCHARGE), + LEVEL_UP_MOVE(72, MOVE_WILD_CHARGE), + LEVEL_UP_MOVE(80, MOVE_AGILITY), + LEVEL_UP_MOVE(88, MOVE_PLASMA_FISTS), + LEVEL_UP_MOVE(96, MOVE_CLOSE_COMBAT), + LEVEL_UP_END +}; +#endif //P_FAMILY_ZERAORA + +#if P_FAMILY_MELTAN +static const struct LevelUpMove sMeltanLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 8, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(16, MOVE_HEADBUTT), + LEVEL_UP_MOVE(24, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(32, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(40, MOVE_FLASH_CANNON), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMelmetalLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE(24, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(32, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(40, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(48, MOVE_MEGA_PUNCH), + LEVEL_UP_MOVE(56, MOVE_PROTECT), + LEVEL_UP_MOVE(64, MOVE_DISCHARGE), + LEVEL_UP_MOVE(72, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_MOVE(80, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(88, MOVE_DOUBLE_IRON_BASH), + LEVEL_UP_MOVE(96, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; +#endif //P_FAMILY_MELTAN + +#if P_FAMILY_GROOKEY +static const struct LevelUpMove sGrookeyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 6, MOVE_BRANCH_POKE), + LEVEL_UP_MOVE( 8, MOVE_TAUNT), + LEVEL_UP_MOVE(12, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(17, MOVE_SCREECH), + LEVEL_UP_MOVE(20, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(24, MOVE_SLAM), + LEVEL_UP_MOVE(28, MOVE_UPROAR), + LEVEL_UP_MOVE(32, MOVE_WOOD_HAMMER), + LEVEL_UP_MOVE(36, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +static const struct LevelUpMove sThwackeyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE( 1, MOVE_BRANCH_POKE), + LEVEL_UP_MOVE(12, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(19, MOVE_SCREECH), + LEVEL_UP_MOVE(24, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(30, MOVE_SLAM), + LEVEL_UP_MOVE(36, MOVE_UPROAR), + LEVEL_UP_MOVE(42, MOVE_WOOD_HAMMER), + LEVEL_UP_MOVE(48, MOVE_ENDEAVOR), + LEVEL_UP_END +}; + +static const struct LevelUpMove sRillaboomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DRUM_BEATING), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), + LEVEL_UP_MOVE( 1, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_BRANCH_POKE), + LEVEL_UP_MOVE(12, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(19, MOVE_SCREECH), + LEVEL_UP_MOVE(24, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(30, MOVE_SLAM), + LEVEL_UP_MOVE(38, MOVE_UPROAR), + LEVEL_UP_MOVE(46, MOVE_WOOD_HAMMER), + LEVEL_UP_MOVE(54, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(62, MOVE_BOOMBURST), + LEVEL_UP_END +}; +#endif //P_FAMILY_GROOKEY + +#if P_FAMILY_SCORBUNNY +static const struct LevelUpMove sScorbunnyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 6, MOVE_EMBER), + LEVEL_UP_MOVE( 8, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(12, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(17, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(20, MOVE_AGILITY), + LEVEL_UP_MOVE(24, MOVE_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_COUNTER), + LEVEL_UP_MOVE(32, MOVE_BOUNCE), + LEVEL_UP_MOVE(36, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sRabootLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(12, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(19, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(24, MOVE_AGILITY), + LEVEL_UP_MOVE(30, MOVE_HEADBUTT), + LEVEL_UP_MOVE(36, MOVE_COUNTER), + LEVEL_UP_MOVE(42, MOVE_BOUNCE), + LEVEL_UP_MOVE(48, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCinderaceLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_PYRO_BALL), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE(12, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(19, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(24, MOVE_AGILITY), + LEVEL_UP_MOVE(30, MOVE_HEADBUTT), + LEVEL_UP_MOVE(38, MOVE_COUNTER), + LEVEL_UP_MOVE(46, MOVE_BOUNCE), + LEVEL_UP_MOVE(54, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(62, MOVE_COURT_CHANGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_SCORBUNNY + +#if P_FAMILY_SOBBLE +static const struct LevelUpMove sSobbleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 6, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 8, MOVE_BIND), + LEVEL_UP_MOVE(12, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(17, MOVE_TEARFUL_LOOK), + LEVEL_UP_MOVE(20, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(24, MOVE_U_TURN), + LEVEL_UP_MOVE(28, MOVE_LIQUIDATION), + LEVEL_UP_MOVE(32, MOVE_SOAK), + LEVEL_UP_MOVE(36, MOVE_RAIN_DANCE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDrizzileLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_BIND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE(12, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(19, MOVE_TEARFUL_LOOK), + LEVEL_UP_MOVE(24, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(30, MOVE_U_TURN), + LEVEL_UP_MOVE(36, MOVE_LIQUIDATION), + LEVEL_UP_MOVE(42, MOVE_SOAK), + LEVEL_UP_MOVE(48, MOVE_RAIN_DANCE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sInteleonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SNIPE_SHOT), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_BIND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_ACROBATICS), + LEVEL_UP_MOVE(12, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(19, MOVE_TEARFUL_LOOK), + LEVEL_UP_MOVE(24, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(30, MOVE_U_TURN), + LEVEL_UP_MOVE(38, MOVE_LIQUIDATION), + LEVEL_UP_MOVE(46, MOVE_SOAK), + LEVEL_UP_MOVE(54, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(62, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; +#endif //P_FAMILY_SOBBLE + +#if P_FAMILY_SKWOVET +static const struct LevelUpMove sSkwovetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 5, MOVE_BITE), + LEVEL_UP_MOVE(10, MOVE_STUFF_CHEEKS), + LEVEL_UP_MOVE(15, MOVE_STOCKPILE), + LEVEL_UP_MOVE(15, MOVE_SPIT_UP), + LEVEL_UP_MOVE(15, MOVE_SWALLOW), + LEVEL_UP_MOVE(20, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(25, MOVE_REST), + LEVEL_UP_MOVE(30, MOVE_COUNTER), + LEVEL_UP_MOVE(35, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(40, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(45, MOVE_BELCH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGreedentLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_COVET), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_STUFF_CHEEKS), + LEVEL_UP_MOVE(15, MOVE_STOCKPILE), + LEVEL_UP_MOVE(15, MOVE_SPIT_UP), + LEVEL_UP_MOVE(15, MOVE_SWALLOW), + LEVEL_UP_MOVE(20, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(27, MOVE_REST), + LEVEL_UP_MOVE(34, MOVE_COUNTER), + LEVEL_UP_MOVE(41, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(48, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(55, MOVE_BELCH), + LEVEL_UP_END +}; +#endif //P_FAMILY_SKWOVET + +#if P_FAMILY_ROOKIDEE +static const struct LevelUpMove sRookideeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 4, MOVE_POWER_TRIP), + LEVEL_UP_MOVE( 8, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(12, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(16, MOVE_PLUCK), + LEVEL_UP_MOVE(20, MOVE_TAUNT), + LEVEL_UP_MOVE(24, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(28, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(32, MOVE_SWAGGER), + LEVEL_UP_MOVE(36, MOVE_BRAVE_BIRD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCorvisquireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE( 1, MOVE_POWER_TRIP), + LEVEL_UP_MOVE(12, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(16, MOVE_PLUCK), + LEVEL_UP_MOVE(22, MOVE_TAUNT), + LEVEL_UP_MOVE(28, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(34, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(40, MOVE_SWAGGER), + LEVEL_UP_MOVE(46, MOVE_BRAVE_BIRD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCorviknightLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_STEEL_WING), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_SCREECH), + LEVEL_UP_MOVE( 1, MOVE_METAL_SOUND), + LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE( 1, MOVE_POWER_TRIP), + LEVEL_UP_MOVE(12, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(16, MOVE_PLUCK), + LEVEL_UP_MOVE(22, MOVE_TAUNT), + LEVEL_UP_MOVE(28, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(34, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(42, MOVE_SWAGGER), + LEVEL_UP_MOVE(50, MOVE_BRAVE_BIRD), + LEVEL_UP_END +}; +#endif //P_FAMILY_ROOKIDEE + +#if P_FAMILY_BLIPBUG +static const struct LevelUpMove sBlipbugLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_STRUGGLE_BUG), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDottlerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_CONFUSION), + LEVEL_UP_MOVE( 0, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE( 0, MOVE_REFLECT), + LEVEL_UP_MOVE( 1, MOVE_REFLECT), + LEVEL_UP_MOVE( 1, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_STRUGGLE_BUG), + LEVEL_UP_END +}; + +static const struct LevelUpMove sOrbeetleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_REFLECT), + LEVEL_UP_MOVE( 1, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE( 4, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 8, MOVE_MAGIC_COAT), + LEVEL_UP_MOVE(12, MOVE_AGILITY), + LEVEL_UP_MOVE(16, MOVE_PSYBEAM), + LEVEL_UP_MOVE(20, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(24, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE(28, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(32, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE(36, MOVE_PSYCHIC), + LEVEL_UP_MOVE(40, MOVE_AFTER_YOU), + LEVEL_UP_MOVE(44, MOVE_CALM_MIND), + LEVEL_UP_MOVE(48, MOVE_PSYCHIC_TERRAIN), + LEVEL_UP_END +}; +#endif //P_FAMILY_BLIPBUG + +#if P_FAMILY_NICKIT +static const struct LevelUpMove sNickitLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 4, MOVE_BEAT_UP), + LEVEL_UP_MOVE( 8, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(12, MOVE_SNARL), + LEVEL_UP_MOVE(16, MOVE_ASSURANCE), + LEVEL_UP_MOVE(20, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(24, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(28, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(32, MOVE_TAIL_SLAP), + LEVEL_UP_MOVE(36, MOVE_FOUL_PLAY), + LEVEL_UP_END +}; + +static const struct LevelUpMove sThievulLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_THIEF), + LEVEL_UP_MOVE( 1, MOVE_THIEF), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_BEAT_UP), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(12, MOVE_SNARL), + LEVEL_UP_MOVE(16, MOVE_ASSURANCE), + LEVEL_UP_MOVE(22, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(28, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(34, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(40, MOVE_TAIL_SLAP), + LEVEL_UP_MOVE(46, MOVE_FOUL_PLAY), + LEVEL_UP_MOVE(52, MOVE_PARTING_SHOT), + LEVEL_UP_END +}; +#endif //P_FAMILY_NICKIT + +#if P_FAMILY_GOSSIFLEUR +static const struct LevelUpMove sGossifleurLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 4, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 8, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(12, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(16, MOVE_ROUND), + LEVEL_UP_MOVE(21, MOVE_LEAF_TORNADO), + LEVEL_UP_MOVE(24, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(28, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(32, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(36, MOVE_LEAF_STORM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sEldegossLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE( 1, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(12, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(16, MOVE_ROUND), + LEVEL_UP_MOVE(23, MOVE_LEAF_TORNADO), + LEVEL_UP_MOVE(28, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(34, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(40, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(46, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(52, MOVE_COTTON_GUARD), + LEVEL_UP_END +}; +#endif //P_FAMILY_GOSSIFLEUR + +#if P_FAMILY_WOOLOO +static const struct LevelUpMove sWoolooLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 8, MOVE_COPYCAT), + LEVEL_UP_MOVE(12, MOVE_GUARD_SPLIT), + LEVEL_UP_MOVE(16, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(21, MOVE_HEADBUTT), + LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(28, MOVE_GUARD_SWAP), + LEVEL_UP_MOVE(32, MOVE_REVERSAL), + LEVEL_UP_MOVE(36, MOVE_COTTON_GUARD), + LEVEL_UP_MOVE(40, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDubwoolLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE(12, MOVE_GUARD_SPLIT), + LEVEL_UP_MOVE(16, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(21, MOVE_HEADBUTT), + LEVEL_UP_MOVE(27, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(32, MOVE_GUARD_SWAP), + LEVEL_UP_MOVE(38, MOVE_REVERSAL), + LEVEL_UP_MOVE(44, MOVE_COTTON_GUARD), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(56, MOVE_LAST_RESORT), + LEVEL_UP_END +}; +#endif //P_FAMILY_WOOLOO + +#if P_FAMILY_CHEWTLE +static const struct LevelUpMove sChewtleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 7, MOVE_BITE), + LEVEL_UP_MOVE(14, MOVE_PROTECT), + LEVEL_UP_MOVE(21, MOVE_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_COUNTER), + LEVEL_UP_MOVE(35, MOVE_JAW_LOCK), + LEVEL_UP_MOVE(42, MOVE_LIQUIDATION), + LEVEL_UP_MOVE(49, MOVE_BODY_SLAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDrednawLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_SHELL), + LEVEL_UP_MOVE(21, MOVE_HEADBUTT), + LEVEL_UP_MOVE(30, MOVE_COUNTER), + LEVEL_UP_MOVE(39, MOVE_JAW_LOCK), + LEVEL_UP_MOVE(48, MOVE_LIQUIDATION), + LEVEL_UP_MOVE(57, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(66, MOVE_HEAD_SMASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_CHEWTLE + +#if P_FAMILY_YAMPER +static const struct LevelUpMove sYamperLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 5, MOVE_NUZZLE), + LEVEL_UP_MOVE(10, MOVE_BITE), + LEVEL_UP_MOVE(15, MOVE_ROAR), + LEVEL_UP_MOVE(20, MOVE_SPARK), + LEVEL_UP_MOVE(26, MOVE_CHARM), + LEVEL_UP_MOVE(30, MOVE_CRUNCH), + LEVEL_UP_MOVE(35, MOVE_CHARGE), + LEVEL_UP_MOVE(40, MOVE_WILD_CHARGE), + LEVEL_UP_MOVE(45, MOVE_PLAY_ROUGH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBoltundLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIFY), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_NUZZLE), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE(15, MOVE_ROAR), + LEVEL_UP_MOVE(20, MOVE_SPARK), + LEVEL_UP_MOVE(28, MOVE_CHARM), + LEVEL_UP_MOVE(34, MOVE_CRUNCH), + LEVEL_UP_MOVE(41, MOVE_CHARGE), + LEVEL_UP_MOVE(48, MOVE_WILD_CHARGE), + LEVEL_UP_MOVE(55, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(62, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_END +}; +#endif //P_FAMILY_YAMPER + +#if P_FAMILY_ROLYCOLY +static const struct LevelUpMove sRolycolyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 5, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(10, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(15, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(20, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(25, MOVE_INCINERATE), + LEVEL_UP_MOVE(30, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(35, MOVE_HEAT_CRASH), + LEVEL_UP_MOVE(40, MOVE_ROCK_BLAST), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCarkolLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 1, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(15, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(20, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(27, MOVE_INCINERATE), + LEVEL_UP_MOVE(35, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(41, MOVE_HEAT_CRASH), + LEVEL_UP_MOVE(48, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(55, MOVE_STONE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCoalossalLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_TAR_SHOT), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 1, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE( 1, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(15, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(20, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(27, MOVE_INCINERATE), + LEVEL_UP_MOVE(37, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(45, MOVE_HEAT_CRASH), + LEVEL_UP_MOVE(54, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(63, MOVE_STONE_EDGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_ROLYCOLY + +#if P_FAMILY_APPLIN +static const struct LevelUpMove sApplinLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_END +}; + +static const struct LevelUpMove sFlappleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_TWISTER), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_RECYCLE), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 4, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE( 8, MOVE_ACROBATICS), + LEVEL_UP_MOVE(12, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(16, MOVE_PROTECT), + LEVEL_UP_MOVE(20, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(24, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(28, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(32, MOVE_GRAV_APPLE), + LEVEL_UP_MOVE(36, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(40, MOVE_FLY), + LEVEL_UP_MOVE(44, MOVE_DRAGON_RUSH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sAppletunLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_RECYCLE), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 4, MOVE_CURSE), + LEVEL_UP_MOVE( 8, MOVE_STOMP), + LEVEL_UP_MOVE(12, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(16, MOVE_PROTECT), + LEVEL_UP_MOVE(20, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(24, MOVE_RECOVER), + LEVEL_UP_MOVE(28, MOVE_APPLE_ACID), + LEVEL_UP_MOVE(32, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(36, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(40, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(44, MOVE_ENERGY_BALL), + LEVEL_UP_END +}; + +#if P_GEN_9_CROSS_EVOS +static const struct LevelUpMove sDipplinLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 1, MOVE_INFESTATION), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_RECYCLE), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 4, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE( 8, MOVE_GROWTH), + LEVEL_UP_MOVE(12, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(16, MOVE_PROTECT), + LEVEL_UP_MOVE(20, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(28, MOVE_SYRUP_BOMB), + LEVEL_UP_MOVE(32, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(36, MOVE_RECOVER), + LEVEL_UP_MOVE(40, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(44, MOVE_SUBSTITUTE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sHydrappleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_FICKLE_BEAM), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 1, MOVE_INFESTATION), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_RECYCLE), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 4, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE( 8, MOVE_GROWTH), + LEVEL_UP_MOVE(12, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(16, MOVE_PROTECT), + LEVEL_UP_MOVE(20, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(28, MOVE_SYRUP_BOMB), + LEVEL_UP_MOVE(32, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(36, MOVE_RECOVER), + LEVEL_UP_MOVE(40, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(44, MOVE_SUBSTITUTE), + LEVEL_UP_MOVE(54, MOVE_POWER_WHIP), + LEVEL_UP_END +}; +#endif //P_GEN_9_CROSS_EVOS +#endif //P_FAMILY_APPLIN + +#if P_FAMILY_SILICOBRA +static const struct LevelUpMove sSilicobraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 5, MOVE_MINIMIZE), + LEVEL_UP_MOVE(10, MOVE_BRUTAL_SWING), + LEVEL_UP_MOVE(15, MOVE_BULLDOZE), + LEVEL_UP_MOVE(20, MOVE_HEADBUTT), + LEVEL_UP_MOVE(25, MOVE_GLARE), + LEVEL_UP_MOVE(30, MOVE_DIG), + LEVEL_UP_MOVE(35, MOVE_SANDSTORM), + LEVEL_UP_MOVE(40, MOVE_SLAM), + LEVEL_UP_MOVE(45, MOVE_COIL), + LEVEL_UP_MOVE(50, MOVE_SAND_TOMB), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSandacondaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_MINIMIZE), + LEVEL_UP_MOVE( 1, MOVE_BRUTAL_SWING), + LEVEL_UP_MOVE(15, MOVE_BULLDOZE), + LEVEL_UP_MOVE(20, MOVE_HEADBUTT), + LEVEL_UP_MOVE(25, MOVE_GLARE), + LEVEL_UP_MOVE(30, MOVE_DIG), + LEVEL_UP_MOVE(35, MOVE_SANDSTORM), + LEVEL_UP_MOVE(42, MOVE_SLAM), + LEVEL_UP_MOVE(49, MOVE_COIL), + LEVEL_UP_MOVE(51, MOVE_SAND_TOMB), + LEVEL_UP_END +}; +#endif //P_FAMILY_SILICOBRA + +#if P_FAMILY_CRAMORANT +static const struct LevelUpMove sCramorantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BELCH), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_STOCKPILE), + LEVEL_UP_MOVE( 1, MOVE_SPIT_UP), + LEVEL_UP_MOVE( 1, MOVE_SWALLOW), + LEVEL_UP_MOVE( 7, MOVE_WATER_GUN), + LEVEL_UP_MOVE(14, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(21, MOVE_PLUCK), + LEVEL_UP_MOVE(28, MOVE_DIVE), + LEVEL_UP_MOVE(35, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(42, MOVE_AMNESIA), + LEVEL_UP_MOVE(49, MOVE_THRASH), + LEVEL_UP_MOVE(56, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; +#endif //P_FAMILY_CRAMORANT + +#if P_FAMILY_ARROKUDA +static const struct LevelUpMove sArrokudaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), + LEVEL_UP_MOVE( 6, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(12, MOVE_BITE), + LEVEL_UP_MOVE(18, MOVE_AGILITY), + LEVEL_UP_MOVE(24, MOVE_DIVE), + LEVEL_UP_MOVE(30, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(36, MOVE_CRUNCH), + LEVEL_UP_MOVE(42, MOVE_LIQUIDATION), + LEVEL_UP_MOVE(48, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBarraskewdaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), + LEVEL_UP_MOVE( 1, MOVE_THROAT_CHOP), + LEVEL_UP_MOVE(18, MOVE_AGILITY), + LEVEL_UP_MOVE(24, MOVE_DIVE), + LEVEL_UP_MOVE(32, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(40, MOVE_CRUNCH), + LEVEL_UP_MOVE(48, MOVE_LIQUIDATION), + LEVEL_UP_MOVE(56, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_ARROKUDA + +#if P_FAMILY_TOXEL +static const struct LevelUpMove sToxelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_BELCH), + LEVEL_UP_MOVE( 1, MOVE_NUZZLE), + LEVEL_UP_MOVE( 1, MOVE_TEARFUL_LOOK), + LEVEL_UP_END +}; + +static const struct LevelUpMove sToxtricityAmpedLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SPARK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_NUZZLE), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_BELCH), + LEVEL_UP_MOVE( 1, MOVE_TEARFUL_LOOK), + LEVEL_UP_MOVE( 1, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE( 4, MOVE_CHARGE), + LEVEL_UP_MOVE( 8, MOVE_SHOCK_WAVE), + LEVEL_UP_MOVE(12, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(16, MOVE_TAUNT), + LEVEL_UP_MOVE(24, MOVE_SCREECH), + LEVEL_UP_MOVE(28, MOVE_SWAGGER), + LEVEL_UP_MOVE(32, MOVE_TOXIC), + LEVEL_UP_MOVE(36, MOVE_DISCHARGE), + LEVEL_UP_MOVE(40, MOVE_POISON_JAB), + LEVEL_UP_MOVE(44, MOVE_OVERDRIVE), + LEVEL_UP_MOVE(48, MOVE_BOOMBURST), + LEVEL_UP_MOVE(52, MOVE_SHIFT_GEAR), + LEVEL_UP_END +}; + +static const struct LevelUpMove sToxtricityLowKeyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SPARK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_NUZZLE), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_BELCH), + LEVEL_UP_MOVE( 1, MOVE_TEARFUL_LOOK), + LEVEL_UP_MOVE( 1, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE( 4, MOVE_CHARGE), + LEVEL_UP_MOVE( 8, MOVE_SHOCK_WAVE), + LEVEL_UP_MOVE(12, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(16, MOVE_TAUNT), + LEVEL_UP_MOVE(24, MOVE_SCREECH), + LEVEL_UP_MOVE(28, MOVE_SWAGGER), + LEVEL_UP_MOVE(32, MOVE_TOXIC), + LEVEL_UP_MOVE(36, MOVE_DISCHARGE), + LEVEL_UP_MOVE(40, MOVE_POISON_JAB), + LEVEL_UP_MOVE(44, MOVE_OVERDRIVE), + LEVEL_UP_MOVE(48, MOVE_BOOMBURST), + LEVEL_UP_MOVE(52, MOVE_MAGNETIC_FLUX), + LEVEL_UP_END +}; +#endif //P_FAMILY_TOXEL + +#if P_FAMILY_SIZZLIPEDE +static const struct LevelUpMove sSizzlipedeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 5, MOVE_WRAP), + LEVEL_UP_MOVE(10, MOVE_BITE), + LEVEL_UP_MOVE(15, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(20, MOVE_BUG_BITE), + LEVEL_UP_MOVE(25, MOVE_COIL), + LEVEL_UP_MOVE(30, MOVE_SLAM), + LEVEL_UP_MOVE(35, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(40, MOVE_CRUNCH), + LEVEL_UP_MOVE(45, MOVE_FIRE_LASH), + LEVEL_UP_MOVE(50, MOVE_LUNGE), + LEVEL_UP_MOVE(55, MOVE_BURN_UP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCentiskorchLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_INFERNO), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE(15, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(20, MOVE_BUG_BITE), + LEVEL_UP_MOVE(25, MOVE_COIL), + LEVEL_UP_MOVE(32, MOVE_SLAM), + LEVEL_UP_MOVE(39, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(46, MOVE_CRUNCH), + LEVEL_UP_MOVE(53, MOVE_FIRE_LASH), + LEVEL_UP_MOVE(60, MOVE_LUNGE), + LEVEL_UP_MOVE(67, MOVE_BURN_UP), + LEVEL_UP_END +}; +#endif //P_FAMILY_SIZZLIPEDE + +#if P_FAMILY_CLOBBOPUS +static const struct LevelUpMove sClobbopusLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 5, MOVE_FEINT), + LEVEL_UP_MOVE(10, MOVE_BIND), + LEVEL_UP_MOVE(15, MOVE_DETECT), + LEVEL_UP_MOVE(20, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(25, MOVE_BULK_UP), + LEVEL_UP_MOVE(30, MOVE_SUBMISSION), + LEVEL_UP_MOVE(35, MOVE_TAUNT), + LEVEL_UP_MOVE(40, MOVE_REVERSAL), + LEVEL_UP_MOVE(45, MOVE_SUPERPOWER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGrapploctLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_OCTOLOCK), + LEVEL_UP_MOVE( 1, MOVE_OCTOLOCK), + LEVEL_UP_MOVE( 1, MOVE_OCTAZOOKA), + LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE( 1, MOVE_BIND), + LEVEL_UP_MOVE(15, MOVE_DETECT), + LEVEL_UP_MOVE(20, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(25, MOVE_BULK_UP), + LEVEL_UP_MOVE(30, MOVE_SUBMISSION), + LEVEL_UP_MOVE(35, MOVE_TAUNT), + LEVEL_UP_MOVE(40, MOVE_REVERSAL), + LEVEL_UP_MOVE(45, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(50, MOVE_TOPSY_TURVY), + LEVEL_UP_END +}; +#endif //P_FAMILY_CLOBBOPUS + +#if P_FAMILY_SINISTEA +static const struct LevelUpMove sSinisteaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 6, MOVE_AROMATIC_MIST), + LEVEL_UP_MOVE(12, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(24, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(30, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(36, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(42, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(48, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(54, MOVE_MEMENTO), + LEVEL_UP_MOVE(60, MOVE_SHELL_SMASH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPolteageistLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_TEATIME), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_AROMATIC_MIST), + LEVEL_UP_MOVE( 1, MOVE_STRENGTH_SAP), + LEVEL_UP_MOVE(18, MOVE_PROTECT), + LEVEL_UP_MOVE(24, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(30, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(36, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(42, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(48, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(54, MOVE_MEMENTO), + LEVEL_UP_MOVE(60, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE(66, MOVE_CURSE), + LEVEL_UP_END +}; +#endif //P_FAMILY_SINISTEA + +#if P_FAMILY_HATENNA +static const struct LevelUpMove sHatennaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), + LEVEL_UP_MOVE( 5, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(10, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE(15, MOVE_AROMATIC_MIST), + LEVEL_UP_MOVE(20, MOVE_PSYBEAM), + LEVEL_UP_MOVE(25, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(30, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE(35, MOVE_CALM_MIND), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC), + LEVEL_UP_MOVE(45, MOVE_HEALING_WISH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sHattremLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_BRUTAL_SWING), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), + LEVEL_UP_MOVE( 1, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(15, MOVE_AROMATIC_MIST), + LEVEL_UP_MOVE(20, MOVE_PSYBEAM), + LEVEL_UP_MOVE(25, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(30, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE(37, MOVE_CALM_MIND), + LEVEL_UP_MOVE(44, MOVE_PSYCHIC), + LEVEL_UP_MOVE(51, MOVE_HEALING_WISH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sHattereneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), + LEVEL_UP_MOVE( 1, MOVE_BRUTAL_SWING), + LEVEL_UP_MOVE( 1, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(15, MOVE_AROMATIC_MIST), + LEVEL_UP_MOVE(20, MOVE_PSYBEAM), + LEVEL_UP_MOVE(25, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(30, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE(37, MOVE_CALM_MIND), + LEVEL_UP_MOVE(46, MOVE_PSYCHIC), + LEVEL_UP_MOVE(55, MOVE_HEALING_WISH), + LEVEL_UP_MOVE(64, MOVE_MAGIC_POWDER), + LEVEL_UP_END +}; +#endif //P_FAMILY_HATENNA + +#if P_FAMILY_IMPIDIMP +static const struct LevelUpMove sImpidimpLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_CONFIDE), + LEVEL_UP_MOVE( 4, MOVE_BITE), + LEVEL_UP_MOVE( 8, MOVE_FLATTER), + LEVEL_UP_MOVE(12, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(16, MOVE_ASSURANCE), + LEVEL_UP_MOVE(20, MOVE_SWAGGER), + LEVEL_UP_MOVE(24, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(28, MOVE_TORMENT), + LEVEL_UP_MOVE(33, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(36, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(40, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(44, MOVE_FOUL_PLAY), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMorgremLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_FALSE_SURRENDER), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_FLATTER), + LEVEL_UP_MOVE( 1, MOVE_CONFIDE), + LEVEL_UP_MOVE(12, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(16, MOVE_ASSURANCE), + LEVEL_UP_MOVE(20, MOVE_SWAGGER), + LEVEL_UP_MOVE(24, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(28, MOVE_TORMENT), + LEVEL_UP_MOVE(35, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(40, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(46, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(52, MOVE_FOUL_PLAY), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGrimmsnarlLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SPIRIT_BREAK), + LEVEL_UP_MOVE( 1, MOVE_FALSE_SURRENDER), + LEVEL_UP_MOVE( 1, MOVE_CONFIDE), + LEVEL_UP_MOVE( 1, MOVE_BULK_UP), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_FLATTER), + LEVEL_UP_MOVE(12, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(16, MOVE_ASSURANCE), + LEVEL_UP_MOVE(20, MOVE_SWAGGER), + LEVEL_UP_MOVE(24, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(28, MOVE_TORMENT), + LEVEL_UP_MOVE(35, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(40, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(48, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(56, MOVE_FOUL_PLAY), + LEVEL_UP_MOVE(64, MOVE_HAMMER_ARM), + LEVEL_UP_END +}; +#endif //P_FAMILY_IMPIDIMP + +#if P_FAMILY_MILCERY +static const struct LevelUpMove sMilceryLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_AROMATIC_MIST), + LEVEL_UP_MOVE( 5, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(10, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(15, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(20, MOVE_CHARM), + LEVEL_UP_MOVE(25, MOVE_ATTRACT), + LEVEL_UP_MOVE(30, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(35, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE(40, MOVE_RECOVER), + LEVEL_UP_MOVE(45, MOVE_MISTY_TERRAIN), + LEVEL_UP_MOVE(50, MOVE_ENTRAINMENT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sAlcremieLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DECORATE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SWEET_KISS), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_AROMATIC_MIST), + LEVEL_UP_MOVE(15, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(20, MOVE_CHARM), + LEVEL_UP_MOVE(25, MOVE_ATTRACT), + LEVEL_UP_MOVE(30, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(35, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE(40, MOVE_RECOVER), + LEVEL_UP_MOVE(45, MOVE_MISTY_TERRAIN), + LEVEL_UP_MOVE(50, MOVE_ENTRAINMENT), + LEVEL_UP_END +}; +#endif //P_FAMILY_MILCERY + +#if P_FAMILY_FALINKS +static const struct LevelUpMove sFalinksLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 5, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE(10, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(15, MOVE_HEADBUTT), + LEVEL_UP_MOVE(20, MOVE_BULK_UP), + LEVEL_UP_MOVE(25, MOVE_ENDURE), + LEVEL_UP_MOVE(30, MOVE_REVERSAL), + LEVEL_UP_MOVE(35, MOVE_FIRST_IMPRESSION), + LEVEL_UP_MOVE(40, MOVE_NO_RETREAT), + LEVEL_UP_MOVE(45, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(50, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(55, MOVE_MEGAHORN), + LEVEL_UP_MOVE(60, MOVE_COUNTER), + LEVEL_UP_END +}; +#endif //P_FAMILY_FALINKS + +#if P_FAMILY_PINCURCHIN +static const struct LevelUpMove sPincurchinLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 5, MOVE_WATER_GUN), + LEVEL_UP_MOVE(10, MOVE_CHARGE), + LEVEL_UP_MOVE(15, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(20, MOVE_SPARK), + LEVEL_UP_MOVE(25, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(30, MOVE_RECOVER), + LEVEL_UP_MOVE(35, MOVE_CURSE), + LEVEL_UP_MOVE(40, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_MOVE(45, MOVE_POISON_JAB), + LEVEL_UP_MOVE(50, MOVE_ZING_ZAP), + LEVEL_UP_MOVE(55, MOVE_ACUPRESSURE), + LEVEL_UP_MOVE(60, MOVE_DISCHARGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_PINCURCHIN + +#if P_FAMILY_SNOM +static const struct LevelUpMove sSnomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_END +}; + +static const struct LevelUpMove sFrosmothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_ICY_WIND), + LEVEL_UP_MOVE( 1, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_ATTRACT), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 4, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 8, MOVE_INFESTATION), + LEVEL_UP_MOVE(12, MOVE_MIST), + LEVEL_UP_MOVE(16, MOVE_DEFOG), + LEVEL_UP_MOVE(21, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(24, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(28, MOVE_SNOWSCAPE), + LEVEL_UP_MOVE(32, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(36, MOVE_AURORA_VEIL), + LEVEL_UP_MOVE(40, MOVE_BLIZZARD), + LEVEL_UP_MOVE(44, MOVE_TAILWIND), + LEVEL_UP_MOVE(48, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(52, MOVE_QUIVER_DANCE), + LEVEL_UP_END +}; +#endif //P_FAMILY_SNOM + +#if P_FAMILY_STONJOURNER +static const struct LevelUpMove sStonjournerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 1, MOVE_BLOCK), + LEVEL_UP_MOVE( 6, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(12, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(18, MOVE_GRAVITY), + LEVEL_UP_MOVE(24, MOVE_STOMP), + LEVEL_UP_MOVE(30, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(36, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(42, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(48, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(54, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(60, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(66, MOVE_MEGA_KICK), + LEVEL_UP_END +}; +#endif //P_FAMILY_STONJOURNER + +#if P_FAMILY_EISCUE +static const struct LevelUpMove sEiscueLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 6, MOVE_MIST), + LEVEL_UP_MOVE(12, MOVE_WEATHER_BALL), + LEVEL_UP_MOVE(18, MOVE_ICY_WIND), + LEVEL_UP_MOVE(24, MOVE_HEADBUTT), + LEVEL_UP_MOVE(30, MOVE_AMNESIA), + LEVEL_UP_MOVE(36, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE(42, MOVE_SNOWSCAPE), + LEVEL_UP_MOVE(48, MOVE_AURORA_VEIL), + LEVEL_UP_MOVE(54, MOVE_SURF), + LEVEL_UP_MOVE(60, MOVE_BLIZZARD), + LEVEL_UP_END +}; +#endif //P_FAMILY_EISCUE + +#if P_FAMILY_INDEEDEE +static const struct LevelUpMove sIndeedeeMLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), + LEVEL_UP_MOVE( 5, MOVE_ENCORE), + LEVEL_UP_MOVE(10, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE(15, MOVE_PSYBEAM), + LEVEL_UP_MOVE(20, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(25, MOVE_AFTER_YOU), + LEVEL_UP_MOVE(30, MOVE_HEALING_WISH), + LEVEL_UP_MOVE(35, MOVE_PSYCHIC), + LEVEL_UP_MOVE(40, MOVE_CALM_MIND), + LEVEL_UP_MOVE(45, MOVE_POWER_SPLIT), + LEVEL_UP_MOVE(50, MOVE_PSYCHIC_TERRAIN), + LEVEL_UP_MOVE(55, MOVE_LAST_RESORT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sIndeedeeFLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), + LEVEL_UP_MOVE( 5, MOVE_BATON_PASS), + LEVEL_UP_MOVE(10, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE(15, MOVE_PSYBEAM), + LEVEL_UP_MOVE(20, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(25, MOVE_FOLLOW_ME), + LEVEL_UP_MOVE(30, MOVE_HEALING_WISH), + LEVEL_UP_MOVE(35, MOVE_PSYCHIC), + LEVEL_UP_MOVE(40, MOVE_CALM_MIND), + LEVEL_UP_MOVE(45, MOVE_GUARD_SPLIT), + LEVEL_UP_MOVE(50, MOVE_PSYCHIC_TERRAIN), + LEVEL_UP_END +}; +#endif //P_FAMILY_INDEEDEE + +#if P_FAMILY_MORPEKO +static const struct LevelUpMove sMorpekoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 5, MOVE_LEER), + LEVEL_UP_MOVE(10, MOVE_POWER_TRIP), + LEVEL_UP_MOVE(15, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(20, MOVE_FLATTER), + LEVEL_UP_MOVE(25, MOVE_BITE), + LEVEL_UP_MOVE(30, MOVE_SPARK), + LEVEL_UP_MOVE(35, MOVE_TORMENT), + LEVEL_UP_MOVE(40, MOVE_AGILITY), + LEVEL_UP_MOVE(45, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(50, MOVE_CRUNCH), + LEVEL_UP_MOVE(55, MOVE_AURA_WHEEL), + LEVEL_UP_MOVE(60, MOVE_THRASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_MORPEKO + +#if P_FAMILY_CUFANT +static const struct LevelUpMove sCufantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 5, MOVE_ROLLOUT), + LEVEL_UP_MOVE(10, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE(15, MOVE_BULLDOZE), + LEVEL_UP_MOVE(20, MOVE_STOMP), + LEVEL_UP_MOVE(25, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(30, MOVE_DIG), + LEVEL_UP_MOVE(35, MOVE_STRENGTH), + LEVEL_UP_MOVE(40, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(45, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(50, MOVE_HIGH_HORSEPOWER), + LEVEL_UP_MOVE(55, MOVE_SUPERPOWER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCopperajahLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE(15, MOVE_BULLDOZE), + LEVEL_UP_MOVE(20, MOVE_STOMP), + LEVEL_UP_MOVE(25, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(30, MOVE_DIG), + LEVEL_UP_MOVE(37, MOVE_STRENGTH), + LEVEL_UP_MOVE(44, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(51, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(58, MOVE_HIGH_HORSEPOWER), + LEVEL_UP_MOVE(65, MOVE_SUPERPOWER), + LEVEL_UP_END +}; +#endif //P_FAMILY_CUFANT + +#if P_FAMILY_DRACOZOLT +static const struct LevelUpMove sDracozoltLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 7, MOVE_CHARGE), + LEVEL_UP_MOVE(14, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(21, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(28, MOVE_PLUCK), + LEVEL_UP_MOVE(35, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE(42, MOVE_STOMP), + LEVEL_UP_MOVE(49, MOVE_SLAM), + LEVEL_UP_MOVE(56, MOVE_DISCHARGE), + LEVEL_UP_MOVE(63, MOVE_BOLT_BEAK), + LEVEL_UP_MOVE(70, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(77, MOVE_DRAGON_RUSH), + LEVEL_UP_END +}; +#endif //P_FAMILY_DRACOZOLT + +#if P_FAMILY_ARCTOZOLT +static const struct LevelUpMove sArctozoltLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 7, MOVE_CHARGE), + LEVEL_UP_MOVE(14, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE(21, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(28, MOVE_PLUCK), + LEVEL_UP_MOVE(35, MOVE_AVALANCHE), + LEVEL_UP_MOVE(42, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE(49, MOVE_SLAM), + LEVEL_UP_MOVE(56, MOVE_DISCHARGE), + LEVEL_UP_MOVE(63, MOVE_BOLT_BEAK), + LEVEL_UP_MOVE(70, MOVE_ICICLE_CRASH), + LEVEL_UP_MOVE(77, MOVE_BLIZZARD), + LEVEL_UP_END +}; +#endif //P_FAMILY_ARCTOZOLT + +#if P_FAMILY_DRACOVISH +static const struct LevelUpMove sDracovishLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 7, MOVE_PROTECT), + LEVEL_UP_MOVE(14, MOVE_BRUTAL_SWING), + LEVEL_UP_MOVE(21, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(28, MOVE_BITE), + LEVEL_UP_MOVE(35, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(42, MOVE_STOMP), + LEVEL_UP_MOVE(49, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(56, MOVE_CRUNCH), + LEVEL_UP_MOVE(63, MOVE_FISHIOUS_REND), + LEVEL_UP_MOVE(70, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(77, MOVE_DRAGON_RUSH), + LEVEL_UP_END +}; +#endif //P_FAMILY_DRACOVISH + +#if P_FAMILY_ARCTOVISH +static const struct LevelUpMove sArctovishLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 7, MOVE_PROTECT), + LEVEL_UP_MOVE(14, MOVE_ICY_WIND), + LEVEL_UP_MOVE(21, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(28, MOVE_BITE), + LEVEL_UP_MOVE(35, MOVE_AURORA_VEIL), + LEVEL_UP_MOVE(42, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE(49, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(56, MOVE_CRUNCH), + LEVEL_UP_MOVE(63, MOVE_FISHIOUS_REND), + LEVEL_UP_MOVE(70, MOVE_ICICLE_CRASH), + LEVEL_UP_MOVE(77, MOVE_BLIZZARD), + LEVEL_UP_END +}; +#endif //P_FAMILY_ARCTOVISH + +#if P_FAMILY_DURALUDON +static const struct LevelUpMove sDuraludonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 6, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE(12, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(18, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(24, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE(30, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE(36, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(42, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(48, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(54, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(60, MOVE_METAL_BURST), + LEVEL_UP_MOVE(66, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +#if P_GEN_9_CROSS_EVOS +static const struct LevelUpMove sArchaludonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_ELECTRO_SHOT), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 6, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE(12, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(18, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(24, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE(30, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE(36, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(42, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(48, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(54, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(60, MOVE_METAL_BURST), + LEVEL_UP_MOVE(66, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; +#endif //P_GEN_9_CROSS_EVOS +#endif //P_FAMILY_DURALUDON + +#if P_FAMILY_DREEPY +static const struct LevelUpMove sDreepyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_INFESTATION), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDrakloakLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE( 1, MOVE_INFESTATION), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 6, MOVE_LOCK_ON), + LEVEL_UP_MOVE(12, MOVE_ASSURANCE), + LEVEL_UP_MOVE(18, MOVE_HEX), + LEVEL_UP_MOVE(24, MOVE_AGILITY), + LEVEL_UP_MOVE(30, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(36, MOVE_U_TURN), + LEVEL_UP_MOVE(42, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(48, MOVE_PHANTOM_FORCE), + LEVEL_UP_MOVE(54, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(61, MOVE_DRAGON_RUSH), + LEVEL_UP_MOVE(66, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(72, MOVE_LAST_RESORT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDragapultLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DRAGON_DARTS), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_INFESTATION), + LEVEL_UP_MOVE( 6, MOVE_LOCK_ON), + LEVEL_UP_MOVE(12, MOVE_ASSURANCE), + LEVEL_UP_MOVE(18, MOVE_HEX), + LEVEL_UP_MOVE(24, MOVE_AGILITY), + LEVEL_UP_MOVE(30, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(36, MOVE_U_TURN), + LEVEL_UP_MOVE(42, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(48, MOVE_PHANTOM_FORCE), + LEVEL_UP_MOVE(54, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(63, MOVE_DRAGON_RUSH), + LEVEL_UP_MOVE(70, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(78, MOVE_LAST_RESORT), + LEVEL_UP_END +}; +#endif //P_FAMILY_DREEPY + +#if P_FAMILY_ZACIAN +static const struct LevelUpMove sZacianLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_HOWL), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_SACRED_SWORD), + LEVEL_UP_MOVE(11, MOVE_SLASH), + LEVEL_UP_MOVE(22, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(33, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(44, MOVE_NOBLE_ROAR), + LEVEL_UP_MOVE(55, MOVE_CRUNCH), + LEVEL_UP_MOVE(66, MOVE_MOONBLAST), + LEVEL_UP_MOVE(77, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(88, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; +#endif //P_FAMILY_ZACIAN + +#if P_FAMILY_ZAMAZENTA +static const struct LevelUpMove sZamazentaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_HOWL), + LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(11, MOVE_SLASH), + LEVEL_UP_MOVE(22, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(33, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(44, MOVE_METAL_BURST), + LEVEL_UP_MOVE(55, MOVE_CRUNCH), + LEVEL_UP_MOVE(66, MOVE_MOONBLAST), + LEVEL_UP_MOVE(77, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(88, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; +#endif //P_FAMILY_ZAMAZENTA + +#if P_FAMILY_ETERNATUS +static const struct LevelUpMove sEternatusLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_AGILITY), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_POISON_TAIL), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE( 8, MOVE_TOXIC), + LEVEL_UP_MOVE(16, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(24, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(32, MOVE_CROSS_POISON), + LEVEL_UP_MOVE(40, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(48, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(56, MOVE_DYNAMAX_CANNON), + LEVEL_UP_MOVE(64, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(72, MOVE_RECOVER), + LEVEL_UP_MOVE(80, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(88, MOVE_OUTRAGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_ETERNATUS + +#if P_FAMILY_KUBFU +static const struct LevelUpMove sKubfuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 4, MOVE_ENDURE), + LEVEL_UP_MOVE( 8, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(12, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(16, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(20, MOVE_HEADBUTT), + LEVEL_UP_MOVE(24, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(28, MOVE_DETECT), + LEVEL_UP_MOVE(32, MOVE_BULK_UP), + LEVEL_UP_MOVE(36, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(40, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_MOVE(44, MOVE_COUNTER), + LEVEL_UP_MOVE(48, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(52, MOVE_FOCUS_PUNCH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sUrshifuSingleStrikeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_WICKED_BLOW), + LEVEL_UP_MOVE( 1, MOVE_ENDURE), + LEVEL_UP_MOVE( 1, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(12, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(16, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(20, MOVE_HEADBUTT), + LEVEL_UP_MOVE(24, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(28, MOVE_DETECT), + LEVEL_UP_MOVE(32, MOVE_BULK_UP), + LEVEL_UP_MOVE(36, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(40, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_MOVE(44, MOVE_COUNTER), + LEVEL_UP_MOVE(48, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(52, MOVE_FOCUS_PUNCH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sUrshifuRapidStrikeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SURGING_STRIKES), + LEVEL_UP_MOVE( 1, MOVE_ENDURE), + LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), + LEVEL_UP_MOVE( 1, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(12, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(16, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(20, MOVE_HEADBUTT), + LEVEL_UP_MOVE(24, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(28, MOVE_DETECT), + LEVEL_UP_MOVE(32, MOVE_BULK_UP), + LEVEL_UP_MOVE(36, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(40, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_MOVE(44, MOVE_COUNTER), + LEVEL_UP_MOVE(48, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(52, MOVE_FOCUS_PUNCH), + LEVEL_UP_END +}; +#endif //P_FAMILY_KUBFU + +#if P_FAMILY_ZARUDE +static const struct LevelUpMove sZarudeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_BIND), + LEVEL_UP_MOVE( 6, MOVE_LEER), + LEVEL_UP_MOVE(12, MOVE_VINE_WHIP), + LEVEL_UP_MOVE(18, MOVE_GROWTH), + LEVEL_UP_MOVE(24, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(30, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(36, MOVE_GRASS_KNOT), + LEVEL_UP_MOVE(42, MOVE_BITE), + LEVEL_UP_MOVE(48, MOVE_U_TURN), + LEVEL_UP_MOVE(54, MOVE_SWAGGER), + LEVEL_UP_MOVE(60, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(66, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(72, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(78, MOVE_THRASH), + LEVEL_UP_MOVE(84, MOVE_POWER_WHIP), + LEVEL_UP_MOVE(90, MOVE_JUNGLE_HEALING), + LEVEL_UP_END +}; +#endif //P_FAMILY_ZARUDE + +#if P_FAMILY_REGIELEKI +static const struct LevelUpMove sRegielekiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 6, MOVE_ELECTROWEB), + LEVEL_UP_MOVE(12, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(18, MOVE_SHOCK_WAVE), + LEVEL_UP_MOVE(24, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(30, MOVE_EXTREME_SPEED), + LEVEL_UP_MOVE(36, MOVE_THUNDER_CAGE), + LEVEL_UP_MOVE(42, MOVE_THUNDERBOLT), + LEVEL_UP_MOVE(48, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE(54, MOVE_THRASH), + LEVEL_UP_MOVE(60, MOVE_LOCK_ON), + LEVEL_UP_MOVE(66, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(72, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(78, MOVE_EXPLOSION), + LEVEL_UP_END +}; +#endif //P_FAMILY_REGIELEKI + +#if P_FAMILY_REGIDRAGO +static const struct LevelUpMove sRegidragoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP), + LEVEL_UP_MOVE( 1, MOVE_TWISTER), + LEVEL_UP_MOVE( 6, MOVE_BITE), + LEVEL_UP_MOVE(12, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(18, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(30, MOVE_CRUNCH), + LEVEL_UP_MOVE(36, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(42, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(48, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(54, MOVE_THRASH), + LEVEL_UP_MOVE(60, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(66, MOVE_DRAGON_ENERGY), + LEVEL_UP_MOVE(72, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(78, MOVE_EXPLOSION), + LEVEL_UP_END +}; +#endif //P_FAMILY_REGIDRAGO + +#if P_FAMILY_GLASTRIER +static const struct LevelUpMove sGlastrierLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 6, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(12, MOVE_AVALANCHE), + LEVEL_UP_MOVE(18, MOVE_STOMP), + LEVEL_UP_MOVE(24, MOVE_TORMENT), + LEVEL_UP_MOVE(30, MOVE_MIST), + LEVEL_UP_MOVE(36, MOVE_ICICLE_CRASH), + LEVEL_UP_MOVE(42, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(48, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(54, MOVE_THRASH), + LEVEL_UP_MOVE(60, MOVE_TAUNT), + LEVEL_UP_MOVE(66, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(72, MOVE_SWORDS_DANCE), + LEVEL_UP_END +}; +#endif //P_FAMILY_GLASTRIER + +#if P_FAMILY_SPECTRIER +static const struct LevelUpMove sSpectrierLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 6, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(12, MOVE_HEX), + LEVEL_UP_MOVE(18, MOVE_STOMP), + LEVEL_UP_MOVE(24, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(30, MOVE_HAZE), + LEVEL_UP_MOVE(36, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(42, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(48, MOVE_AGILITY), + LEVEL_UP_MOVE(54, MOVE_THRASH), + LEVEL_UP_MOVE(60, MOVE_DISABLE), + LEVEL_UP_MOVE(66, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(72, MOVE_NASTY_PLOT), + LEVEL_UP_END +}; +#endif //P_FAMILY_SPECTRIER + +#if P_FAMILY_CALYREX +static const struct LevelUpMove sCalyrexLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 8, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(16, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(24, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(32, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(40, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC_TERRAIN), + LEVEL_UP_MOVE(48, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(56, MOVE_PSYCHIC), + LEVEL_UP_MOVE(64, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(72, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(80, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(88, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; + +#if P_FUSION_FORMS +static const struct LevelUpMove sCalyrexIceLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GLACIAL_LANCE), + LEVEL_UP_MOVE( 1, MOVE_ICICLE_CRASH), + LEVEL_UP_MOVE( 1, MOVE_AVALANCHE), + LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE( 1, MOVE_TORMENT), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_THRASH), + LEVEL_UP_MOVE( 1, MOVE_STOMP), + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_MIST), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 8, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(16, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(24, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(32, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(40, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC_TERRAIN), + LEVEL_UP_MOVE(48, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(56, MOVE_PSYCHIC), + LEVEL_UP_MOVE(64, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(72, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(80, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(88, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; +#endif //P_FUSION_FORMS + +#if P_FUSION_FORMS +static const struct LevelUpMove sCalyrexShadowLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTRAL_BARRAGE), + LEVEL_UP_MOVE( 1, MOVE_HEX), + LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE( 1, MOVE_HAZE), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_AGILITY), + LEVEL_UP_MOVE( 1, MOVE_STOMP), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_THRASH), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 8, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(16, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(24, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(32, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(40, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC_TERRAIN), + LEVEL_UP_MOVE(48, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(56, MOVE_PSYCHIC), + LEVEL_UP_MOVE(64, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(72, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(80, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(88, MOVE_FUTURE_SIGHT), + LEVEL_UP_END +}; +#endif //P_FUSION_FORMS +#endif //P_FAMILY_CALYREX + +#if P_FAMILY_ENAMORUS +static const struct LevelUpMove sEnamorusLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE( 5, MOVE_TORMENT), + LEVEL_UP_MOVE(10, MOVE_FLATTER), + LEVEL_UP_MOVE(15, MOVE_TWISTER), + LEVEL_UP_MOVE(20, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(25, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(30, MOVE_IMPRISON), + LEVEL_UP_MOVE(35, MOVE_MYSTICAL_FIRE), + LEVEL_UP_MOVE(40, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE(45, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(50, MOVE_UPROAR), + LEVEL_UP_MOVE(55, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(60, MOVE_HEALING_WISH), + LEVEL_UP_MOVE(65, MOVE_MOONBLAST), + LEVEL_UP_MOVE(70, MOVE_OUTRAGE), + LEVEL_UP_MOVE(75, MOVE_SPRINGTIDE_STORM), + LEVEL_UP_END +}; +#endif //P_FAMILY_ENAMORUS + +#if P_FAMILY_SPRIGATITO +static const struct LevelUpMove sSprigatitoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), + LEVEL_UP_MOVE( 7, MOVE_BITE), + LEVEL_UP_MOVE(10, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(13, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(15, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(17, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(21, MOVE_U_TURN), + LEVEL_UP_MOVE(25, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(28, MOVE_SLASH), + LEVEL_UP_MOVE(32, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(36, MOVE_PLAY_ROUGH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sFloragatoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), + LEVEL_UP_MOVE( 7, MOVE_BITE), + LEVEL_UP_MOVE(10, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(13, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(15, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(20, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(24, MOVE_U_TURN), + LEVEL_UP_MOVE(28, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(33, MOVE_SLASH), + LEVEL_UP_MOVE(38, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(42, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(46, MOVE_LEAF_STORM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMeowscaradaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_FLOWER_TRICK), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TRICK), + LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7, MOVE_BITE), + LEVEL_UP_MOVE(10, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(13, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(15, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(20, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(24, MOVE_U_TURN), + LEVEL_UP_MOVE(29, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(33, MOVE_SLASH), + LEVEL_UP_MOVE(38, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(42, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(47, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(52, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(58, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE(64, MOVE_LEAF_STORM), + LEVEL_UP_END +}; +#endif //P_FAMILY_SPRIGATITO + +#if P_FAMILY_FUECOCO +static const struct LevelUpMove sFuecocoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 7, MOVE_ROUND), + LEVEL_UP_MOVE(12, MOVE_BITE), + LEVEL_UP_MOVE(15, MOVE_INCINERATE), + LEVEL_UP_MOVE(17, MOVE_YAWN), + LEVEL_UP_MOVE(21, MOVE_SNARL), + LEVEL_UP_MOVE(25, MOVE_ROAR), + LEVEL_UP_MOVE(28, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(32, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(36, MOVE_FIRE_BLAST), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCrocalorLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 7, MOVE_LICK), + LEVEL_UP_MOVE(10, MOVE_ROUND), + LEVEL_UP_MOVE(12, MOVE_BITE), + LEVEL_UP_MOVE(15, MOVE_YAWN), + LEVEL_UP_MOVE(17, MOVE_INCINERATE), + LEVEL_UP_MOVE(24, MOVE_SNARL), + LEVEL_UP_MOVE(28, MOVE_ROAR), + LEVEL_UP_MOVE(32, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(38, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(42, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(47, MOVE_FIRE_BLAST), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSkeledirgeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_TORCH_SONG), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_LICK), + LEVEL_UP_MOVE(10, MOVE_ROUND), + LEVEL_UP_MOVE(12, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(15, MOVE_BITE), + LEVEL_UP_MOVE(17, MOVE_INCINERATE), + LEVEL_UP_MOVE(24, MOVE_SNARL), + LEVEL_UP_MOVE(28, MOVE_ROAR), + LEVEL_UP_MOVE(32, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(38, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(42, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(47, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(47, MOVE_HEX), + LEVEL_UP_MOVE(58, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(64, MOVE_OVERHEAT), + LEVEL_UP_END +}; +#endif //P_FAMILY_FUECOCO + +#if P_FAMILY_QUAXLY +static const struct LevelUpMove sQuaxlyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 7, MOVE_WORK_UP), + LEVEL_UP_MOVE(10, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(13, MOVE_AQUA_JET), + LEVEL_UP_MOVE(17, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(21, MOVE_AQUA_CUTTER), + LEVEL_UP_MOVE(24, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(28, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(31, MOVE_ACROBATICS), + LEVEL_UP_MOVE(35, MOVE_LIQUIDATION), + LEVEL_UP_END +}; + +static const struct LevelUpMove sQuaxwellLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 7, MOVE_WORK_UP), + LEVEL_UP_MOVE(10, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(13, MOVE_AQUA_JET), + LEVEL_UP_MOVE(17, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(19, MOVE_LOW_SWEEP), + LEVEL_UP_MOVE(23, MOVE_AQUA_CUTTER), + LEVEL_UP_MOVE(27, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(32, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(38, MOVE_ACROBATICS), + LEVEL_UP_MOVE(43, MOVE_LIQUIDATION), + LEVEL_UP_MOVE(48, MOVE_FEATHER_DANCE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sQuaquavalLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_AQUA_STEP), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 7, MOVE_WORK_UP), + LEVEL_UP_MOVE(10, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(13, MOVE_AQUA_JET), + LEVEL_UP_MOVE(17, MOVE_LOW_SWEEP), + LEVEL_UP_MOVE(17, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(21, MOVE_AQUA_CUTTER), + LEVEL_UP_MOVE(27, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(32, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(38, MOVE_MEGA_KICK), + LEVEL_UP_MOVE(43, MOVE_ACROBATICS), + LEVEL_UP_MOVE(47, MOVE_LIQUIDATION), + LEVEL_UP_MOVE(52, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE(58, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(64, MOVE_WAVE_CRASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_QUAXLY + +#if P_FAMILY_LECHONK +static const struct LevelUpMove sLechonkLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 5, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 8, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE(12, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(15, MOVE_COVET), + LEVEL_UP_MOVE(17, MOVE_DIG), + LEVEL_UP_MOVE(21, MOVE_HEADBUTT), + LEVEL_UP_MOVE(24, MOVE_YAWN), + LEVEL_UP_MOVE(27, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(30, MOVE_WORK_UP), + LEVEL_UP_MOVE(32, MOVE_UPROAR), + LEVEL_UP_MOVE(35, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sOinkologneMLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 5, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 8, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE(12, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(15, MOVE_COVET), + LEVEL_UP_MOVE(17, MOVE_DIG), + LEVEL_UP_MOVE(23, MOVE_HEADBUTT), + LEVEL_UP_MOVE(26, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(27, MOVE_YAWN), + LEVEL_UP_MOVE(34, MOVE_WORK_UP), + LEVEL_UP_MOVE(38, MOVE_UPROAR), + LEVEL_UP_MOVE(42, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(48, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(54, MOVE_BELCH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sOinkologneFLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 3, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 6, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 9, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(12, MOVE_COVET), + LEVEL_UP_MOVE(15, MOVE_DIG), + LEVEL_UP_MOVE(17, MOVE_HEADBUTT), + LEVEL_UP_MOVE(23, MOVE_YAWN), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(30, MOVE_WORK_UP), + LEVEL_UP_MOVE(34, MOVE_UPROAR), + LEVEL_UP_MOVE(39, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(45, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(51, MOVE_BELCH), + LEVEL_UP_END +}; +#endif //P_FAMILY_LECHONK + +#if P_FAMILY_TAROUNTULA +static const struct LevelUpMove sTarountulaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 5, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE( 8, MOVE_ASSURANCE), + LEVEL_UP_MOVE(11, MOVE_FEINT), + LEVEL_UP_MOVE(14, MOVE_BUG_BITE), + LEVEL_UP_MOVE(18, MOVE_BLOCK), + LEVEL_UP_MOVE(22, MOVE_COUNTER), + LEVEL_UP_MOVE(25, MOVE_HEADBUTT), + LEVEL_UP_MOVE(29, MOVE_STICKY_WEB), + LEVEL_UP_MOVE(33, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(36, MOVE_CIRCLE_THROW), + LEVEL_UP_MOVE(40, MOVE_THROAT_CHOP), + LEVEL_UP_MOVE(44, MOVE_SKITTER_SMACK), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSpidopsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SILK_TRAP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 5, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE( 8, MOVE_ASSURANCE), + LEVEL_UP_MOVE(11, MOVE_FEINT), + LEVEL_UP_MOVE(14, MOVE_BUG_BITE), + LEVEL_UP_MOVE(19, MOVE_BLOCK), + LEVEL_UP_MOVE(24, MOVE_COUNTER), + LEVEL_UP_MOVE(28, MOVE_HEADBUTT), + LEVEL_UP_MOVE(33, MOVE_STICKY_WEB), + LEVEL_UP_MOVE(37, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(41, MOVE_CIRCLE_THROW), + LEVEL_UP_MOVE(45, MOVE_THROAT_CHOP), + LEVEL_UP_MOVE(49, MOVE_SKITTER_SMACK), + LEVEL_UP_END +}; +#endif //P_FAMILY_TAROUNTULA + +#if P_FAMILY_NYMBLE +static const struct LevelUpMove sNymbleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 4, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE( 6, MOVE_ASTONISH), + LEVEL_UP_MOVE( 9, MOVE_ASSURANCE), + LEVEL_UP_MOVE(11, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(14, MOVE_SCREECH), + LEVEL_UP_MOVE(18, MOVE_ENDURE), + LEVEL_UP_MOVE(22, MOVE_BUG_BITE), + LEVEL_UP_MOVE(26, MOVE_FEINT), + LEVEL_UP_MOVE(30, MOVE_AGILITY), + LEVEL_UP_MOVE(38, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(41, MOVE_FIRST_IMPRESSION), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLokixLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_LUNGE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 1, MOVE_DETECT), + LEVEL_UP_MOVE( 4, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE( 6, MOVE_ASTONISH), + LEVEL_UP_MOVE( 9, MOVE_ASSURANCE), + LEVEL_UP_MOVE(11, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(14, MOVE_SCREECH), + LEVEL_UP_MOVE(18, MOVE_ENDURE), + LEVEL_UP_MOVE(22, MOVE_BUG_BITE), + LEVEL_UP_MOVE(28, MOVE_FEINT), + LEVEL_UP_MOVE(32, MOVE_AGILITY), + LEVEL_UP_MOVE(36, MOVE_THROAT_CHOP), + LEVEL_UP_MOVE(40, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(44, MOVE_FIRST_IMPRESSION), + LEVEL_UP_MOVE(48, MOVE_BOUNCE), + LEVEL_UP_MOVE(53, MOVE_AXE_KICK), + LEVEL_UP_END +}; +#endif //P_FAMILY_NYMBLE + +#if P_FAMILY_PAWMI +static const struct LevelUpMove sPawmiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 3, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 6, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 8, MOVE_CHARGE), + LEVEL_UP_MOVE(12, MOVE_NUZZLE), + LEVEL_UP_MOVE(15, MOVE_DIG), + LEVEL_UP_MOVE(19, MOVE_BITE), + LEVEL_UP_MOVE(23, MOVE_SPARK), + LEVEL_UP_MOVE(27, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(31, MOVE_ENTRAINMENT), + LEVEL_UP_MOVE(35, MOVE_SLAM), + LEVEL_UP_MOVE(38, MOVE_DISCHARGE), + LEVEL_UP_MOVE(40, MOVE_AGILITY), + LEVEL_UP_MOVE(44, MOVE_WILD_CHARGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPawmoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_ARM_THRUST), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 3, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 6, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 8, MOVE_CHARGE), + LEVEL_UP_MOVE(12, MOVE_NUZZLE), + LEVEL_UP_MOVE(15, MOVE_DIG), + LEVEL_UP_MOVE(19, MOVE_BITE), + LEVEL_UP_MOVE(23, MOVE_SPARK), + LEVEL_UP_MOVE(27, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(32, MOVE_SLAM), + LEVEL_UP_MOVE(38, MOVE_ENTRAINMENT), + LEVEL_UP_MOVE(42, MOVE_DISCHARGE), + LEVEL_UP_MOVE(46, MOVE_AGILITY), + LEVEL_UP_MOVE(52, MOVE_WILD_CHARGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPawmotLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_REVIVAL_BLESSING), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WILD_CHARGE), + LEVEL_UP_MOVE( 3, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 6, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 8, MOVE_CHARGE), + LEVEL_UP_MOVE(12, MOVE_NUZZLE), + LEVEL_UP_MOVE(15, MOVE_DIG), + LEVEL_UP_MOVE(19, MOVE_BITE), + LEVEL_UP_MOVE(23, MOVE_SPARK), + LEVEL_UP_MOVE(25, MOVE_ARM_THRUST), + LEVEL_UP_MOVE(29, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(33, MOVE_SLAM), + LEVEL_UP_MOVE(39, MOVE_ENTRAINMENT), + LEVEL_UP_MOVE(44, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(49, MOVE_DISCHARGE), + LEVEL_UP_MOVE(54, MOVE_AGILITY), + LEVEL_UP_MOVE(60, MOVE_DOUBLE_SHOCK), + LEVEL_UP_END +}; +#endif //P_FAMILY_PAWMI + +#if P_FAMILY_TANDEMAUS +static const struct LevelUpMove sTandemausLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE( 5, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 8, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(11, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(14, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(18, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(22, MOVE_ENCORE), + LEVEL_UP_MOVE(26, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(30, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(33, MOVE_CHARM), + LEVEL_UP_MOVE(37, MOVE_BEAT_UP), + LEVEL_UP_MOVE(41, MOVE_COPYCAT), + LEVEL_UP_MOVE(46, MOVE_POPULATION_BOMB), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMausholdLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_FOLLOW_ME), + LEVEL_UP_MOVE( 1, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE( 1, MOVE_TIDY_UP), + LEVEL_UP_MOVE( 5, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 8, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(11, MOVE_SUPER_FANG), + LEVEL_UP_MOVE(14, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(18, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(22, MOVE_ENCORE), + LEVEL_UP_MOVE(29, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(33, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(37, MOVE_CHARM), + LEVEL_UP_MOVE(41, MOVE_BEAT_UP), + LEVEL_UP_MOVE(46, MOVE_COPYCAT), + LEVEL_UP_MOVE(53, MOVE_POPULATION_BOMB), + LEVEL_UP_END +}; +#endif //P_FAMILY_TANDEMAUS + +#if P_FAMILY_FIDOUGH +static const struct LevelUpMove sFidoughLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 3, MOVE_LICK), + LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 8, MOVE_COVET), + LEVEL_UP_MOVE(11, MOVE_BITE), + LEVEL_UP_MOVE(15, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(18, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(22, MOVE_WORK_UP), + LEVEL_UP_MOVE(26, MOVE_BATON_PASS), + LEVEL_UP_MOVE(30, MOVE_ROAR), + LEVEL_UP_MOVE(33, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(36, MOVE_CHARM), + LEVEL_UP_MOVE(40, MOVE_CRUNCH), + LEVEL_UP_MOVE(45, MOVE_LAST_RESORT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDachsbunLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 3, MOVE_LICK), + LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 8, MOVE_COVET), + LEVEL_UP_MOVE(11, MOVE_BITE), + LEVEL_UP_MOVE(15, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(18, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(22, MOVE_WORK_UP), + LEVEL_UP_MOVE(29, MOVE_BATON_PASS), + LEVEL_UP_MOVE(33, MOVE_ROAR), + LEVEL_UP_MOVE(38, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(42, MOVE_CHARM), + LEVEL_UP_MOVE(47, MOVE_CRUNCH), + LEVEL_UP_MOVE(53, MOVE_LAST_RESORT), + LEVEL_UP_END +}; +#endif //P_FAMILY_FIDOUGH + +#if P_FAMILY_SMOLIV +static const struct LevelUpMove sSmolivLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 5, MOVE_ABSORB), + LEVEL_UP_MOVE( 7, MOVE_GROWTH), + LEVEL_UP_MOVE(10, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(13, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(16, MOVE_FLAIL), + LEVEL_UP_MOVE(20, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(23, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE(27, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(30, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(34, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(38, MOVE_TERRAIN_PULSE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDollivLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 5, MOVE_ABSORB), + LEVEL_UP_MOVE( 7, MOVE_GROWTH), + LEVEL_UP_MOVE(10, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(13, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(16, MOVE_FLAIL), + LEVEL_UP_MOVE(20, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(23, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE(29, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(34, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(37, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(42, MOVE_TERRAIN_PULSE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sArbolivaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 5, MOVE_ABSORB), + LEVEL_UP_MOVE( 7, MOVE_GROWTH), + LEVEL_UP_MOVE(10, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(13, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(16, MOVE_FLAIL), + LEVEL_UP_MOVE(20, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(23, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE(29, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(34, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(39, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(46, MOVE_TERRAIN_PULSE), + LEVEL_UP_MOVE(52, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE(58, MOVE_PETAL_DANCE), + LEVEL_UP_END +}; +#endif //P_FAMILY_SMOLIV + +#if P_FAMILY_SQUAWKABILLY +static const struct LevelUpMove sSquawkabillyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_MIMIC), + LEVEL_UP_MOVE( 6, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(10, MOVE_TORMENT), + LEVEL_UP_MOVE(13, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(17, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(20, MOVE_TAUNT), + LEVEL_UP_MOVE(24, MOVE_UPROAR), + LEVEL_UP_MOVE(27, MOVE_COPYCAT), + LEVEL_UP_MOVE(30, MOVE_FLY), + LEVEL_UP_MOVE(34, MOVE_FACADE), + LEVEL_UP_MOVE(38, MOVE_SWAGGER), + LEVEL_UP_MOVE(42, MOVE_BRAVE_BIRD), + LEVEL_UP_MOVE(47, MOVE_ROOST), + LEVEL_UP_MOVE(52, MOVE_REVERSAL), + LEVEL_UP_END +}; +#endif //P_FAMILY_SQUAWKABILLY + +#if P_FAMILY_NACLI +static const struct LevelUpMove sNacliLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 5, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 7, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(10, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(13, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(16, MOVE_HEADBUTT), + LEVEL_UP_MOVE(20, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(25, MOVE_RECOVER), + LEVEL_UP_MOVE(30, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(33, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(35, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(40, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(45, MOVE_STONE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sNaclstackLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SALT_CURE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 5, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 7, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(10, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(13, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(16, MOVE_HEADBUTT), + LEVEL_UP_MOVE(20, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(30, MOVE_RECOVER), + LEVEL_UP_MOVE(34, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(38, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(41, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(45, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(51, MOVE_STONE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGarganaclLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 1, MOVE_BLOCK), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE( 5, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 7, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(10, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(13, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(16, MOVE_HEADBUTT), + LEVEL_UP_MOVE(24, MOVE_SALT_CURE), + LEVEL_UP_MOVE(30, MOVE_RECOVER), + LEVEL_UP_MOVE(34, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(40, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(44, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(49, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(54, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(60, MOVE_EXPLOSION), + LEVEL_UP_END +}; +#endif //P_FAMILY_NACLI + +#if P_FAMILY_CHARCADET +static const struct LevelUpMove sCharcadetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 8, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(12, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(16, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(20, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(24, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(28, MOVE_INCINERATE), + LEVEL_UP_MOVE(32, MOVE_LAVA_PLUME), + LEVEL_UP_END +}; + +static const struct LevelUpMove sArmarougeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_PSYSHOCK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_MYSTICAL_FIRE), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE( 8, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(12, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(16, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(20, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(24, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(28, MOVE_INCINERATE), + LEVEL_UP_MOVE(32, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(37, MOVE_CALM_MIND), + LEVEL_UP_MOVE(42, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE(48, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(56, MOVE_EXPANDING_FORCE), + LEVEL_UP_MOVE(62, MOVE_ARMOR_CANNON), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCeruledgeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE( 1, MOVE_SOLAR_BLADE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 8, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(12, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(16, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(20, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(24, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(28, MOVE_INCINERATE), + LEVEL_UP_MOVE(32, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(37, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(42, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE(48, MOVE_BITTER_BLADE), + LEVEL_UP_MOVE(56, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE(62, MOVE_FLARE_BLITZ), + LEVEL_UP_END +}; +#endif //P_FAMILY_CHARCADET + +#if P_FAMILY_TADBULB +static const struct LevelUpMove sTadbulbLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 7, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(11, MOVE_WATER_GUN), + LEVEL_UP_MOVE(17, MOVE_CHARGE), + LEVEL_UP_MOVE(21, MOVE_SPARK), + LEVEL_UP_MOVE(24, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(25, MOVE_FLAIL), + LEVEL_UP_MOVE(32, MOVE_DISCHARGE), + LEVEL_UP_MOVE(36, MOVE_WEATHER_BALL), + LEVEL_UP_MOVE(40, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_MOVE(45, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(50, MOVE_ZAP_CANNON), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBelliboltLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 1, MOVE_SLACK_OFF), + LEVEL_UP_MOVE( 7, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(11, MOVE_WATER_GUN), + LEVEL_UP_MOVE(17, MOVE_CHARGE), + LEVEL_UP_MOVE(21, MOVE_SPARK), + LEVEL_UP_MOVE(24, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(25, MOVE_FLAIL), + LEVEL_UP_MOVE(32, MOVE_DISCHARGE), + LEVEL_UP_MOVE(36, MOVE_WEATHER_BALL), + LEVEL_UP_MOVE(40, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_MOVE(45, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(50, MOVE_ZAP_CANNON), + LEVEL_UP_END +}; +#endif //P_FAMILY_TADBULB + +#if P_FAMILY_WATTREL +static const struct LevelUpMove sWattrelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 4, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(11, MOVE_PLUCK), + LEVEL_UP_MOVE(15, MOVE_SPARK), + LEVEL_UP_MOVE(19, MOVE_UPROAR), + LEVEL_UP_MOVE(23, MOVE_ROOST), + LEVEL_UP_MOVE(27, MOVE_DUAL_WINGBEAT), + LEVEL_UP_MOVE(32, MOVE_AGILITY), + LEVEL_UP_MOVE(37, MOVE_VOLT_SWITCH), + LEVEL_UP_MOVE(43, MOVE_DISCHARGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sKilowattrelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 4, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(11, MOVE_PLUCK), + LEVEL_UP_MOVE(15, MOVE_SPARK), + LEVEL_UP_MOVE(19, MOVE_UPROAR), + LEVEL_UP_MOVE(24, MOVE_ROOST), + LEVEL_UP_MOVE(30, MOVE_DUAL_WINGBEAT), + LEVEL_UP_MOVE(36, MOVE_AGILITY), + LEVEL_UP_MOVE(43, MOVE_VOLT_SWITCH), + LEVEL_UP_MOVE(48, MOVE_DISCHARGE), + LEVEL_UP_MOVE(55, MOVE_HURRICANE), + LEVEL_UP_END +}; +#endif //P_FAMILY_WATTREL + +#if P_FAMILY_MASCHIFF +static const struct LevelUpMove sMaschiffLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 4, MOVE_LICK), + LEVEL_UP_MOVE( 7, MOVE_SNARL), + LEVEL_UP_MOVE(10, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(14, MOVE_BITE), + LEVEL_UP_MOVE(18, MOVE_ROAR), + LEVEL_UP_MOVE(22, MOVE_HEADBUTT), + LEVEL_UP_MOVE(26, MOVE_PAYBACK), + LEVEL_UP_MOVE(31, MOVE_CRUNCH), + LEVEL_UP_MOVE(35, MOVE_SWAGGER), + LEVEL_UP_MOVE(39, MOVE_REVERSAL), + LEVEL_UP_MOVE(43, MOVE_JAW_LOCK), + LEVEL_UP_MOVE(49, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMabosstiffLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_COMEUPPANCE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_LICK), + LEVEL_UP_MOVE( 7, MOVE_SNARL), + LEVEL_UP_MOVE(10, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(14, MOVE_BITE), + LEVEL_UP_MOVE(18, MOVE_ROAR), + LEVEL_UP_MOVE(22, MOVE_HEADBUTT), + LEVEL_UP_MOVE(26, MOVE_PAYBACK), + LEVEL_UP_MOVE(34, MOVE_CRUNCH), + LEVEL_UP_MOVE(39, MOVE_SWAGGER), + LEVEL_UP_MOVE(43, MOVE_REVERSAL), + LEVEL_UP_MOVE(48, MOVE_JAW_LOCK), + LEVEL_UP_MOVE(55, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(60, MOVE_OUTRAGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_MASCHIFF + +#if P_FAMILY_SHROODLE +static const struct LevelUpMove sShroodleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 5, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE( 8, MOVE_BITE), + LEVEL_UP_MOVE( 8, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(11, MOVE_SWITCHEROO), + LEVEL_UP_MOVE(14, MOVE_POISON_FANG), + LEVEL_UP_MOVE(18, MOVE_FLATTER), + LEVEL_UP_MOVE(21, MOVE_SLASH), + LEVEL_UP_MOVE(25, MOVE_U_TURN), + LEVEL_UP_MOVE(29, MOVE_POISON_JAB), + LEVEL_UP_MOVE(33, MOVE_TAUNT), + LEVEL_UP_MOVE(36, MOVE_SUBSTITUTE), + LEVEL_UP_MOVE(40, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(45, MOVE_GUNK_SHOT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGrafaiaiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_DOODLE), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 5, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE( 8, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(11, MOVE_SWITCHEROO), + LEVEL_UP_MOVE(14, MOVE_POISON_FANG), + LEVEL_UP_MOVE(18, MOVE_FLATTER), + LEVEL_UP_MOVE(21, MOVE_SLASH), + LEVEL_UP_MOVE(25, MOVE_U_TURN), + LEVEL_UP_MOVE(33, MOVE_POISON_JAB), + LEVEL_UP_MOVE(37, MOVE_TAUNT), + LEVEL_UP_MOVE(40, MOVE_SUBSTITUTE), + LEVEL_UP_MOVE(45, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(51, MOVE_GUNK_SHOT), + LEVEL_UP_END +}; +#endif //P_FAMILY_SHROODLE + +#if P_FAMILY_BRAMBLIN +static const struct LevelUpMove sBramblinLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 5, MOVE_ABSORB), + LEVEL_UP_MOVE( 9, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(13, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(17, MOVE_INFESTATION), + LEVEL_UP_MOVE(21, MOVE_HEX), + LEVEL_UP_MOVE(25, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(29, MOVE_DISABLE), + LEVEL_UP_MOVE(35, MOVE_PHANTOM_FORCE), + LEVEL_UP_MOVE(40, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(45, MOVE_CURSE), + LEVEL_UP_MOVE(50, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE(55, MOVE_POWER_WHIP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBrambleghastLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 5, MOVE_ABSORB), + LEVEL_UP_MOVE( 9, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(13, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(17, MOVE_INFESTATION), + LEVEL_UP_MOVE(21, MOVE_HEX), + LEVEL_UP_MOVE(25, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(29, MOVE_DISABLE), + LEVEL_UP_MOVE(35, MOVE_PHANTOM_FORCE), + LEVEL_UP_MOVE(40, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(45, MOVE_CURSE), + LEVEL_UP_MOVE(50, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE(55, MOVE_POWER_WHIP), + LEVEL_UP_END +}; +#endif //P_FAMILY_BRAMBLIN + +#if P_FAMILY_TOEDSCOOL +static const struct LevelUpMove sToedscoolLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 4, MOVE_ABSORB), + LEVEL_UP_MOVE( 8, MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 8, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(12, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(15, MOVE_TACKLE), + LEVEL_UP_MOVE(16, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(20, MOVE_SCREECH), + LEVEL_UP_MOVE(24, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(28, MOVE_HEX), + LEVEL_UP_MOVE(32, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(36, MOVE_SPORE), + LEVEL_UP_MOVE(40, MOVE_GROWTH), + LEVEL_UP_MOVE(44, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(48, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(52, MOVE_POWER_WHIP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sToedscruelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_REFLECT_TYPE), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 4, MOVE_ABSORB), + LEVEL_UP_MOVE( 8, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 8, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(12, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(15, MOVE_TACKLE), + LEVEL_UP_MOVE(16, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(20, MOVE_SCREECH), + LEVEL_UP_MOVE(24, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(28, MOVE_HEX), + LEVEL_UP_MOVE(34, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(40, MOVE_SPORE), + LEVEL_UP_MOVE(44, MOVE_GROWTH), + LEVEL_UP_MOVE(48, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(54, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(58, MOVE_POWER_WHIP), + LEVEL_UP_END +}; +#endif //P_FAMILY_TOEDSCOOL + +#if P_FAMILY_KLAWF +static const struct LevelUpMove sKlawfLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VISE_GRIP), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 6, MOVE_HARDEN), + LEVEL_UP_MOVE( 9, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE(13, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(17, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(21, MOVE_PROTECT), + LEVEL_UP_MOVE(24, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(29, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(33, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(37, MOVE_FLAIL), + LEVEL_UP_MOVE(42, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(47, MOVE_HIGH_HORSEPOWER), + LEVEL_UP_MOVE(51, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(56, MOVE_GUILLOTINE), + LEVEL_UP_END +}; +#endif //P_FAMILY_KLAWF + +#if P_FAMILY_CAPSAKID +static const struct LevelUpMove sCapsakidLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), + LEVEL_UP_MOVE( 4, MOVE_BITE), + LEVEL_UP_MOVE(10, MOVE_GROWTH), + LEVEL_UP_MOVE(13, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(17, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(21, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(24, MOVE_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(38, MOVE_CRUNCH), + LEVEL_UP_MOVE(44, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(48, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sScovillainLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SPICY_EXTRACT), + LEVEL_UP_MOVE( 0, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_LEAFAGE), + LEVEL_UP_MOVE( 4, MOVE_BITE), + LEVEL_UP_MOVE(10, MOVE_GROWTH), + LEVEL_UP_MOVE(13, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(17, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(21, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(24, MOVE_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(33, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(38, MOVE_CRUNCH), + LEVEL_UP_MOVE(44, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(48, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(48, MOVE_OVERHEAT), + LEVEL_UP_END +}; +#endif //P_FAMILY_CAPSAKID + +#if P_FAMILY_RELLOR +static const struct LevelUpMove sRellorLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 4, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 7, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE(11, MOVE_ROLLOUT), + LEVEL_UP_MOVE(15, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(20, MOVE_BUG_BITE), + LEVEL_UP_MOVE(24, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(29, MOVE_DIG), + LEVEL_UP_MOVE(35, MOVE_LUNGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sRabscaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_REVIVAL_BLESSING), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_PSYCH_UP), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 4, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 7, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE(11, MOVE_ROLLOUT), + LEVEL_UP_MOVE(15, MOVE_PSYBEAM), + LEVEL_UP_MOVE(20, MOVE_BUG_BITE), + LEVEL_UP_MOVE(24, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(29, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(35, MOVE_LUNGE), + LEVEL_UP_MOVE(40, MOVE_SPEED_SWAP), + LEVEL_UP_MOVE(40, MOVE_POWER_SWAP), + LEVEL_UP_MOVE(40, MOVE_GUARD_SWAP), + LEVEL_UP_MOVE(45, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(50, MOVE_PSYCHIC), + LEVEL_UP_END +}; +#endif //P_FAMILY_RELLOR + +#if P_FAMILY_FLITTLE +static const struct LevelUpMove sFlittleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 5, MOVE_CONFUSION), + LEVEL_UP_MOVE( 8, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(11, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE(15, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(19, MOVE_PSYBEAM), + LEVEL_UP_MOVE(24, MOVE_PLUCK), + LEVEL_UP_MOVE(29, MOVE_AGILITY), + LEVEL_UP_MOVE(34, MOVE_UPROAR), + LEVEL_UP_END +}; + +static const struct LevelUpMove sEspathraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_LUMINA_CRASH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_DRILL_PECK), + LEVEL_UP_MOVE( 1, MOVE_FEATHER_DANCE), + LEVEL_UP_MOVE( 5, MOVE_CONFUSION), + LEVEL_UP_MOVE( 8, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(11, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE(15, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(19, MOVE_PSYBEAM), + LEVEL_UP_MOVE(24, MOVE_PLUCK), + LEVEL_UP_MOVE(29, MOVE_AGILITY), + LEVEL_UP_MOVE(34, MOVE_UPROAR), + LEVEL_UP_MOVE(43, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE(49, MOVE_PSYCHIC), + LEVEL_UP_MOVE(54, MOVE_LAST_RESORT), + LEVEL_UP_END +}; +#endif //P_FAMILY_FLITTLE + +#if P_FAMILY_TINKATINK +static const struct LevelUpMove sTinkatinkLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE( 5, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE( 8, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(11, MOVE_COVET), + LEVEL_UP_MOVE(14, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE(17, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(21, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(24, MOVE_BRUTAL_SWING), + LEVEL_UP_MOVE(27, MOVE_SLAM), + LEVEL_UP_MOVE(31, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(35, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(39, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(43, MOVE_FLATTER), + LEVEL_UP_MOVE(47, MOVE_SKITTER_SMACK), + LEVEL_UP_MOVE(52, MOVE_KNOCK_OFF), + LEVEL_UP_END +}; + +static const struct LevelUpMove sTinkatuffLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE( 5, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE( 8, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(11, MOVE_COVET), + LEVEL_UP_MOVE(14, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE(17, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(21, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(24, MOVE_BRUTAL_SWING), + LEVEL_UP_MOVE(27, MOVE_SLAM), + LEVEL_UP_MOVE(31, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(35, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(39, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(43, MOVE_FLATTER), + LEVEL_UP_MOVE(47, MOVE_SKITTER_SMACK), + LEVEL_UP_MOVE(52, MOVE_KNOCK_OFF), + LEVEL_UP_END +}; + +static const struct LevelUpMove sTinkatonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_GIGATON_HAMMER), + LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 5, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE( 8, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(11, MOVE_COVET), + LEVEL_UP_MOVE(14, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE(17, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(21, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(24, MOVE_BRUTAL_SWING), + LEVEL_UP_MOVE(27, MOVE_SLAM), + LEVEL_UP_MOVE(31, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(35, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(39, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(43, MOVE_FLATTER), + LEVEL_UP_MOVE(47, MOVE_SKITTER_SMACK), + LEVEL_UP_MOVE(52, MOVE_KNOCK_OFF), + LEVEL_UP_END +}; +#endif //P_FAMILY_TINKATINK + +#if P_FAMILY_WIGLETT +static const struct LevelUpMove sWiglettLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 4, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 8, MOVE_WRAP), + LEVEL_UP_MOVE(12, MOVE_AQUA_JET), + LEVEL_UP_MOVE(20, MOVE_SLAM), + LEVEL_UP_MOVE(20, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(24, MOVE_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_DIG), + LEVEL_UP_MOVE(32, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(36, MOVE_THROAT_CHOP), + LEVEL_UP_MOVE(40, MOVE_LIQUIDATION), + LEVEL_UP_END +}; + +static const struct LevelUpMove sWugtrioLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(12, MOVE_AQUA_JET), + LEVEL_UP_MOVE(16, MOVE_SLAM), + LEVEL_UP_MOVE(20, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(24, MOVE_HEADBUTT), + LEVEL_UP_MOVE(30, MOVE_TRIPLE_DIVE), + LEVEL_UP_MOVE(36, MOVE_DIG), + LEVEL_UP_MOVE(42, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(48, MOVE_THROAT_CHOP), + LEVEL_UP_MOVE(54, MOVE_LIQUIDATION), + LEVEL_UP_END +}; +#endif //P_FAMILY_WIGLETT + +#if P_FAMILY_BOMBIRDIER +static const struct LevelUpMove sBombirdierLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_MEMENTO), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE( 7, MOVE_THIEF), + LEVEL_UP_MOVE(11, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(16, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(20, MOVE_PLUCK), + LEVEL_UP_MOVE(24, MOVE_TORMENT), + LEVEL_UP_MOVE(29, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(36, MOVE_PAYBACK), + LEVEL_UP_MOVE(42, MOVE_DUAL_WINGBEAT), + LEVEL_UP_MOVE(47, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(53, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(60, MOVE_PARTING_SHOT), + LEVEL_UP_END +}; +#endif //P_FAMILY_BOMBIRDIER + +#if P_FAMILY_FINIZEN +static const struct LevelUpMove sFinizenLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 7, MOVE_ASTONISH), + LEVEL_UP_MOVE(10, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(13, MOVE_AQUA_JET), + LEVEL_UP_MOVE(17, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(21, MOVE_DIVE), + LEVEL_UP_MOVE(25, MOVE_CHARM), + LEVEL_UP_MOVE(29, MOVE_ACROBATICS), + LEVEL_UP_MOVE(34, MOVE_ENCORE), + LEVEL_UP_MOVE(39, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(44, MOVE_MIST), + LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPalafinLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_FLIP_TURN), + LEVEL_UP_MOVE( 1, MOVE_JET_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 7, MOVE_ASTONISH), + LEVEL_UP_MOVE(10, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(13, MOVE_AQUA_JET), + LEVEL_UP_MOVE(17, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(21, MOVE_DIVE), + LEVEL_UP_MOVE(25, MOVE_CHARM), + LEVEL_UP_MOVE(29, MOVE_ACROBATICS), + LEVEL_UP_MOVE(34, MOVE_ENCORE), + LEVEL_UP_MOVE(39, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(44, MOVE_MIST), + LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(55, MOVE_FOCUS_PUNCH), + LEVEL_UP_MOVE(61, MOVE_WAVE_CRASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_FINIZEN + +#if P_FAMILY_VAROOM +static const struct LevelUpMove sVaroomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 4, MOVE_SMOG), + LEVEL_UP_MOVE( 7, MOVE_TAUNT), + LEVEL_UP_MOVE(10, MOVE_ASSURANCE), + LEVEL_UP_MOVE(13, MOVE_SLUDGE), + LEVEL_UP_MOVE(17, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(21, MOVE_HEADBUTT), + LEVEL_UP_MOVE(25, MOVE_SCREECH), + LEVEL_UP_MOVE(28, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(32, MOVE_SWAGGER), + LEVEL_UP_MOVE(36, MOVE_POISON_JAB), + LEVEL_UP_MOVE(41, MOVE_UPROAR), + LEVEL_UP_MOVE(46, MOVE_SPIN_OUT), + LEVEL_UP_MOVE(50, MOVE_GUNK_SHOT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sRevavroomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_SHIFT_GEAR), + LEVEL_UP_MOVE( 1, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 4, MOVE_SMOG), + LEVEL_UP_MOVE( 7, MOVE_TAUNT), + LEVEL_UP_MOVE(10, MOVE_ASSURANCE), + LEVEL_UP_MOVE(13, MOVE_SLUDGE), + LEVEL_UP_MOVE(17, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(21, MOVE_HEADBUTT), + LEVEL_UP_MOVE(25, MOVE_SCREECH), + LEVEL_UP_MOVE(28, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(32, MOVE_SWAGGER), + LEVEL_UP_MOVE(36, MOVE_POISON_JAB), + LEVEL_UP_MOVE(46, MOVE_UPROAR), + LEVEL_UP_MOVE(52, MOVE_SPIN_OUT), + LEVEL_UP_MOVE(58, MOVE_GUNK_SHOT), + LEVEL_UP_END +}; +#endif //P_FAMILY_VAROOM + +#if P_FAMILY_CYCLIZAR +static const struct LevelUpMove sCyclizarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(11, MOVE_TAUNT), + LEVEL_UP_MOVE(14, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE(18, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(23, MOVE_BITE), + LEVEL_UP_MOVE(27, MOVE_U_TURN), + LEVEL_UP_MOVE(31, MOVE_SHED_TAIL), + LEVEL_UP_MOVE(36, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(40, MOVE_SHIFT_GEAR), + LEVEL_UP_MOVE(45, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(51, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(57, MOVE_DRAGON_RUSH), + LEVEL_UP_END +}; +#endif //P_FAMILY_CYCLIZAR + +#if P_FAMILY_ORTHWORM +static const struct LevelUpMove sOrthwormLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(12, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(16, MOVE_BULLDOZE), + LEVEL_UP_MOVE(21, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(26, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(30, MOVE_DIG), + LEVEL_UP_MOVE(34, MOVE_SANDSTORM), + LEVEL_UP_MOVE(38, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(43, MOVE_IRON_TAIL), + LEVEL_UP_MOVE(47, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(52, MOVE_SHED_TAIL), + LEVEL_UP_END +}; +#endif //P_FAMILY_ORTHWORM + +#if P_FAMILY_GLIMMET +static const struct LevelUpMove sGlimmetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE( 7, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE(11, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(15, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(18, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(22, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(26, MOVE_SANDSTORM), + LEVEL_UP_MOVE(29, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(33, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(37, MOVE_POWER_GEM), + LEVEL_UP_MOVE(41, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(46, MOVE_SLUDGE_WAVE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGlimmoraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_MORTAL_SPIN), + LEVEL_UP_MOVE( 1, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE( 1, MOVE_SPIKY_SHIELD), + LEVEL_UP_MOVE( 1, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE(11, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(15, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(18, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(22, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(26, MOVE_SANDSTORM), + LEVEL_UP_MOVE(29, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(33, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(39, MOVE_POWER_GEM), + LEVEL_UP_MOVE(44, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(50, MOVE_SLUDGE_WAVE), + LEVEL_UP_END +}; +#endif //P_FAMILY_GLIMMET + +#if P_FAMILY_GREAVARD +static const struct LevelUpMove sGreavardLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 3, MOVE_LICK), + LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 6, MOVE_BITE), + LEVEL_UP_MOVE( 9, MOVE_ROAR), + LEVEL_UP_MOVE(12, MOVE_HEADBUTT), + LEVEL_UP_MOVE(16, MOVE_DIG), + LEVEL_UP_MOVE(24, MOVE_REST), + LEVEL_UP_MOVE(28, MOVE_CRUNCH), + LEVEL_UP_MOVE(32, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(37, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(41, MOVE_PHANTOM_FORCE), + LEVEL_UP_MOVE(46, MOVE_CHARM), + LEVEL_UP_MOVE(52, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sHoundstoneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_LAST_RESPECTS), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 3, MOVE_LICK), + LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 6, MOVE_BITE), + LEVEL_UP_MOVE( 9, MOVE_ROAR), + LEVEL_UP_MOVE(12, MOVE_HEADBUTT), + LEVEL_UP_MOVE(16, MOVE_DIG), + LEVEL_UP_MOVE(24, MOVE_REST), + LEVEL_UP_MOVE(28, MOVE_CRUNCH), + LEVEL_UP_MOVE(36, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(41, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(46, MOVE_PHANTOM_FORCE), + LEVEL_UP_MOVE(51, MOVE_CHARM), + LEVEL_UP_MOVE(58, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_GREAVARD + +#if P_FAMILY_FLAMIGO +static const struct LevelUpMove sFlamigoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 5, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 9, MOVE_DETECT), + LEVEL_UP_MOVE(12, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(15, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(18, MOVE_LOW_KICK), + LEVEL_UP_MOVE(21, MOVE_FEINT), + LEVEL_UP_MOVE(27, MOVE_PAYBACK), + LEVEL_UP_MOVE(31, MOVE_ROOST), + LEVEL_UP_MOVE(35, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(39, MOVE_MEGA_KICK), + LEVEL_UP_MOVE(44, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(48, MOVE_THROAT_CHOP), + LEVEL_UP_MOVE(54, MOVE_BRAVE_BIRD), + LEVEL_UP_END +}; +#endif //P_FAMILY_FLAMIGO + +#if P_FAMILY_CETODDLE +static const struct LevelUpMove sCetoddleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 6, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE(12, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(15, MOVE_REST), + LEVEL_UP_MOVE(19, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(25, MOVE_FLAIL), + LEVEL_UP_MOVE(27, MOVE_AVALANCHE), + LEVEL_UP_MOVE(31, MOVE_BOUNCE), + LEVEL_UP_MOVE(36, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(40, MOVE_AMNESIA), + LEVEL_UP_MOVE(44, MOVE_ICE_SPINNER), + LEVEL_UP_MOVE(49, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(53, MOVE_BLIZZARD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCetitanLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 6, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE(12, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(15, MOVE_REST), + LEVEL_UP_MOVE(19, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(25, MOVE_FLAIL), + LEVEL_UP_MOVE(27, MOVE_AVALANCHE), + LEVEL_UP_MOVE(31, MOVE_BOUNCE), + LEVEL_UP_MOVE(36, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(40, MOVE_AMNESIA), + LEVEL_UP_MOVE(44, MOVE_ICE_SPINNER), + LEVEL_UP_MOVE(49, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(53, MOVE_BLIZZARD), + LEVEL_UP_END +}; +#endif //P_FAMILY_CETODDLE + +#if P_FAMILY_VELUZA +static const struct LevelUpMove sVeluzaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), + LEVEL_UP_MOVE( 7, MOVE_PLUCK), + LEVEL_UP_MOVE(11, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(15, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(20, MOVE_SLASH), + LEVEL_UP_MOVE(25, MOVE_AQUA_CUTTER), + LEVEL_UP_MOVE(30, MOVE_FILLET_AWAY), + LEVEL_UP_MOVE(35, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(40, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE(45, MOVE_LIQUIDATION), + LEVEL_UP_MOVE(50, MOVE_CRUNCH), + LEVEL_UP_MOVE(55, MOVE_FINAL_GAMBIT), + LEVEL_UP_END +}; +#endif //P_FAMILY_VELUZA + +#if P_FAMILY_DONDOZO +static const struct LevelUpMove sDondozoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 5, MOVE_TICKLE), + LEVEL_UP_MOVE(10, MOVE_FLAIL), + LEVEL_UP_MOVE(15, MOVE_REST), + LEVEL_UP_MOVE(15, MOVE_SLEEP_TALK), + LEVEL_UP_MOVE(20, MOVE_DIVE), + LEVEL_UP_MOVE(25, MOVE_NOBLE_ROAR), + LEVEL_UP_MOVE(30, MOVE_SOAK), + LEVEL_UP_MOVE(35, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(40, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(45, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(50, MOVE_ORDER_UP), + LEVEL_UP_MOVE(55, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(60, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(65, MOVE_WAVE_CRASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_DONDOZO + +#if P_FAMILY_TATSUGIRI +static const struct LevelUpMove sTatsugiriLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 6, MOVE_HARDEN), + LEVEL_UP_MOVE(12, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(17, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(23, MOVE_SOAK), + LEVEL_UP_MOVE(28, MOVE_TAUNT), + LEVEL_UP_MOVE(34, MOVE_MEMENTO), + LEVEL_UP_MOVE(39, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(43, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(47, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE(52, MOVE_DRAGON_PULSE), + LEVEL_UP_END +}; +#endif //P_FAMILY_TATSUGIRI + +#if P_FAMILY_GREAT_TUSK +static const struct LevelUpMove sGreatTuskLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 7, MOVE_BULLDOZE), + LEVEL_UP_MOVE(14, MOVE_TAUNT), + LEVEL_UP_MOVE(21, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(28, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(35, MOVE_STOMPING_TANTRUM), + LEVEL_UP_MOVE(42, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(49, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(56, MOVE_GIGA_IMPACT), + LEVEL_UP_MOVE(63, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(70, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(77, MOVE_MEGAHORN), + LEVEL_UP_MOVE(84, MOVE_HEAD_SMASH), + LEVEL_UP_MOVE(91, MOVE_HEADLONG_RUSH), + LEVEL_UP_END +}; +#endif //P_FAMILY_GREAT_TUSK + +#if P_FAMILY_SCREAM_TAIL +static const struct LevelUpMove sScreamTailLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 7, MOVE_HOWL), + LEVEL_UP_MOVE(14, MOVE_NOBLE_ROAR), + LEVEL_UP_MOVE(21, MOVE_BITE), + LEVEL_UP_MOVE(28, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(35, MOVE_REST), + LEVEL_UP_MOVE(42, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(49, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(56, MOVE_PSYCHIC_FANGS), + LEVEL_UP_MOVE(63, MOVE_CRUNCH), + LEVEL_UP_MOVE(70, MOVE_WISH), + LEVEL_UP_MOVE(77, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(84, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(91, MOVE_BOOMBURST), + LEVEL_UP_END +}; +#endif //P_FAMILY_SCREAM_TAIL + +#if P_FAMILY_BRUTE_BONNET +static const struct LevelUpMove sBruteBonnetLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 7, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(14, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(21, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(28, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(35, MOVE_PAYBACK), + LEVEL_UP_MOVE(42, MOVE_THRASH), + LEVEL_UP_MOVE(49, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(56, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(63, MOVE_SPORE), + LEVEL_UP_MOVE(70, MOVE_INGRAIN), + LEVEL_UP_MOVE(77, MOVE_RAGE_POWDER), + LEVEL_UP_MOVE(91, MOVE_SOLAR_BEAM), + LEVEL_UP_END +}; +#endif //P_FAMILY_BRUTE_BONNET + +#if P_FAMILY_FLUTTER_MANE +static const struct LevelUpMove sFlutterManeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_SPITE), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 7, MOVE_PSYBEAM), + LEVEL_UP_MOVE(14, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(21, MOVE_MEMENTO), + LEVEL_UP_MOVE(28, MOVE_WISH), + LEVEL_UP_MOVE(35, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE(42, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(49, MOVE_MYSTICAL_FIRE), + LEVEL_UP_MOVE(56, MOVE_POWER_GEM), + LEVEL_UP_MOVE(63, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(70, MOVE_PHANTOM_FORCE), + LEVEL_UP_MOVE(77, MOVE_PAIN_SPLIT), + LEVEL_UP_MOVE(84, MOVE_MOONBLAST), + LEVEL_UP_MOVE(91, MOVE_PERISH_SONG), + LEVEL_UP_END +}; +#endif //P_FAMILY_FLUTTER_MANE + +#if P_FAMILY_SLITHER_WING +static const struct LevelUpMove sSlitherWingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE( 7, MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 7, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(14, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(21, MOVE_STOMP), + LEVEL_UP_MOVE(28, MOVE_LOW_SWEEP), + LEVEL_UP_MOVE(35, MOVE_MORNING_SUN), + LEVEL_UP_MOVE(42, MOVE_LUNGE), + LEVEL_UP_MOVE(49, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(56, MOVE_BULK_UP), + LEVEL_UP_MOVE(63, MOVE_DUAL_WINGBEAT), + LEVEL_UP_MOVE(70, MOVE_FIRST_IMPRESSION), + LEVEL_UP_MOVE(77, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(84, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(91, MOVE_THRASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_SLITHER_WING + +#if P_FAMILY_SANDY_SHOCKS +static const struct LevelUpMove sSandyShocksLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 7, MOVE_SPARK), + LEVEL_UP_MOVE(14, MOVE_BULLDOZE), + LEVEL_UP_MOVE(21, MOVE_CHARGE_BEAM), + LEVEL_UP_MOVE(28, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE(35, MOVE_SCREECH), + LEVEL_UP_MOVE(42, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(49, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(56, MOVE_DISCHARGE), + LEVEL_UP_MOVE(63, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(70, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE(77, MOVE_GRAVITY), + LEVEL_UP_MOVE(84, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(91, MOVE_MAGNETIC_FLUX), + LEVEL_UP_END +}; +#endif //P_FAMILY_SANDY_SHOCKS + +#if P_FAMILY_IRON_TREADS +static const struct LevelUpMove sIronTreadsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_MOVE( 7, MOVE_BULLDOZE), + LEVEL_UP_MOVE(21, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(28, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(35, MOVE_STOMPING_TANTRUM), + LEVEL_UP_MOVE(42, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(49, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(56, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(63, MOVE_WILD_CHARGE), + LEVEL_UP_MOVE(70, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(77, MOVE_MEGAHORN), + LEVEL_UP_MOVE(84, MOVE_GIGA_IMPACT), + LEVEL_UP_MOVE(91, MOVE_STEEL_ROLLER), + LEVEL_UP_END +}; +#endif //P_FAMILY_IRON_TREADS + +#if P_FAMILY_IRON_BUNDLE +static const struct LevelUpMove sIronBundleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_PRESENT), + LEVEL_UP_MOVE( 7, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(14, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(21, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(28, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(35, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(42, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE(49, MOVE_FLIP_TURN), + LEVEL_UP_MOVE(56, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(63, MOVE_AGILITY), + LEVEL_UP_MOVE(70, MOVE_SNOWSCAPE), + LEVEL_UP_MOVE(77, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(84, MOVE_AURORA_VEIL), + LEVEL_UP_MOVE(91, MOVE_BLIZZARD), + LEVEL_UP_END +}; +#endif //P_FAMILY_IRON_BUNDLE + +#if P_FAMILY_IRON_HANDS +static const struct LevelUpMove sIronHandsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_ARM_THRUST), + LEVEL_UP_MOVE( 7, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(14, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(21, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE(28, MOVE_SLAM), + LEVEL_UP_MOVE(35, MOVE_FORCE_PALM), + LEVEL_UP_MOVE(42, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(49, MOVE_CHARGE), + LEVEL_UP_MOVE(56, MOVE_WILD_CHARGE), + LEVEL_UP_MOVE(63, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(70, MOVE_DETECT), + LEVEL_UP_MOVE(77, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(84, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(91, MOVE_FOCUS_PUNCH), + LEVEL_UP_END +}; +#endif //P_FAMILY_IRON_HANDS + +#if P_FAMILY_IRON_JUGULIS +static const struct LevelUpMove sIronJugulisLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_WORK_UP), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE( 7, MOVE_ROAR), + LEVEL_UP_MOVE(14, MOVE_ASSURANCE), + LEVEL_UP_MOVE(21, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(28, MOVE_SNARL), + LEVEL_UP_MOVE(35, MOVE_CRUNCH), + LEVEL_UP_MOVE(42, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(56, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(63, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(70, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(77, MOVE_OUTRAGE), + LEVEL_UP_MOVE(84, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(91, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; +#endif //P_FAMILY_IRON_JUGULIS + +#if P_FAMILY_IRON_MOTH +static const struct LevelUpMove sIronMothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE( 7, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE(14, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(21, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(28, MOVE_LUNGE), + LEVEL_UP_MOVE(35, MOVE_SCREECH), + LEVEL_UP_MOVE(42, MOVE_DISCHARGE), + LEVEL_UP_MOVE(49, MOVE_SLUDGE_WAVE), + LEVEL_UP_MOVE(56, MOVE_FIERY_DANCE), + LEVEL_UP_MOVE(63, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(70, MOVE_MORNING_SUN), + LEVEL_UP_MOVE(77, MOVE_HURRICANE), + LEVEL_UP_MOVE(84, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(91, MOVE_OVERHEAT), + LEVEL_UP_END +}; +#endif //P_FAMILY_IRON_MOTH + +#if P_FAMILY_IRON_THORNS +static const struct LevelUpMove sIronThornsLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE( 7, MOVE_SCREECH), + LEVEL_UP_MOVE(21, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(28, MOVE_BITE), + LEVEL_UP_MOVE(35, MOVE_CHARGE), + LEVEL_UP_MOVE(42, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(49, MOVE_SANDSTORM), + LEVEL_UP_MOVE(56, MOVE_WILD_CHARGE), + LEVEL_UP_MOVE(63, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(70, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(77, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(84, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(91, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; +#endif //P_FAMILY_IRON_THORNS + +#if P_FAMILY_FRIGIBAX +static const struct LevelUpMove sFrigibaxLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE( 6, MOVE_ICY_WIND), + LEVEL_UP_MOVE(12, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(18, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(24, MOVE_BITE), + LEVEL_UP_MOVE(29, MOVE_ICE_FANG), + LEVEL_UP_MOVE(32, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(36, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(40, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(44, MOVE_CRUNCH), + LEVEL_UP_MOVE(48, MOVE_ICICLE_CRASH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sArctibaxLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE( 6, MOVE_ICY_WIND), + LEVEL_UP_MOVE(12, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(18, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(24, MOVE_BITE), + LEVEL_UP_MOVE(29, MOVE_ICE_FANG), + LEVEL_UP_MOVE(40, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(45, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(50, MOVE_CRUNCH), + LEVEL_UP_MOVE(55, MOVE_ICICLE_CRASH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBaxcaliburLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_GLAIVE_RUSH), + LEVEL_UP_MOVE( 1, MOVE_SNOWSCAPE), + LEVEL_UP_MOVE( 1, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE( 1, MOVE_ICE_SHARD), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 6, MOVE_ICY_WIND), + LEVEL_UP_MOVE(12, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(18, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(24, MOVE_BITE), + LEVEL_UP_MOVE(29, MOVE_ICE_FANG), + LEVEL_UP_MOVE(35, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(42, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(48, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(55, MOVE_CRUNCH), + LEVEL_UP_MOVE(62, MOVE_ICICLE_CRASH), + LEVEL_UP_END +}; +#endif //P_FAMILY_FRIGIBAX + +#if P_FAMILY_GIMMIGHOUL +static const struct LevelUpMove sGimmighoulLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGholdengoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 7, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(14, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(21, MOVE_SUBSTITUTE), + LEVEL_UP_MOVE(28, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(35, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(42, MOVE_RECOVER), + LEVEL_UP_MOVE(49, MOVE_POWER_GEM), + LEVEL_UP_MOVE(56, MOVE_MAKE_IT_RAIN), + LEVEL_UP_MOVE(63, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(70, MOVE_MEMENTO), + LEVEL_UP_END +}; +#endif //P_FAMILY_GIMMIGHOUL + +#if P_FAMILY_WO_CHIEN +static const struct LevelUpMove sWoChienLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_SPITE), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE( 5, MOVE_TICKLE), + LEVEL_UP_MOVE(10, MOVE_PAYBACK), + LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(15, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(20, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(25, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(30, MOVE_GROWTH), + LEVEL_UP_MOVE(35, MOVE_INGRAIN), + LEVEL_UP_MOVE(40, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(45, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(50, MOVE_RUINATION), + LEVEL_UP_MOVE(55, MOVE_FOUL_PLAY), + LEVEL_UP_MOVE(60, MOVE_POWER_WHIP), + LEVEL_UP_MOVE(65, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE(70, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(75, MOVE_LEAF_STORM), + LEVEL_UP_END +}; +#endif //P_FAMILY_WO_CHIEN + +#if P_FAMILY_CHIEN_PAO +static const struct LevelUpMove sChienPaoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPITE), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE( 5, MOVE_ICY_WIND), + LEVEL_UP_MOVE(10, MOVE_PAYBACK), + LEVEL_UP_MOVE(15, MOVE_MIST), + LEVEL_UP_MOVE(15, MOVE_HAZE), + LEVEL_UP_MOVE(20, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(25, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(30, MOVE_SNOWSCAPE), + LEVEL_UP_MOVE(35, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(40, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(45, MOVE_ICICLE_CRASH), + LEVEL_UP_MOVE(50, MOVE_RUINATION), + LEVEL_UP_MOVE(55, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(60, MOVE_SACRED_SWORD), + LEVEL_UP_MOVE(65, MOVE_RECOVER), + LEVEL_UP_MOVE(70, MOVE_THROAT_CHOP), + LEVEL_UP_MOVE(75, MOVE_SHEER_COLD), + LEVEL_UP_END +}; +#endif //P_FAMILY_CHIEN_PAO + +#if P_FAMILY_TING_LU +static const struct LevelUpMove sTingLuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), + LEVEL_UP_MOVE( 1, MOVE_SPITE), + LEVEL_UP_MOVE( 5, MOVE_SPIKES), + LEVEL_UP_MOVE(10, MOVE_PAYBACK), + LEVEL_UP_MOVE(15, MOVE_STOMP), + LEVEL_UP_MOVE(20, MOVE_BULLDOZE), + LEVEL_UP_MOVE(25, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(30, MOVE_TAUNT), + LEVEL_UP_MOVE(35, MOVE_THRASH), + LEVEL_UP_MOVE(40, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(45, MOVE_STOMPING_TANTRUM), + LEVEL_UP_MOVE(50, MOVE_RUINATION), + LEVEL_UP_MOVE(55, MOVE_THROAT_CHOP), + LEVEL_UP_MOVE(60, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(65, MOVE_MEMENTO), + LEVEL_UP_MOVE(70, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(75, MOVE_FISSURE), + LEVEL_UP_END +}; +#endif //P_FAMILY_TING_LU + +#if P_FAMILY_CHI_YU +static const struct LevelUpMove sChiYuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_SPITE), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE( 5, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(10, MOVE_PAYBACK), + LEVEL_UP_MOVE(15, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(20, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(25, MOVE_INCINERATE), + LEVEL_UP_MOVE(30, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(35, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(40, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(45, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(50, MOVE_RUINATION), + LEVEL_UP_MOVE(55, MOVE_BOUNCE), + LEVEL_UP_MOVE(60, MOVE_SWAGGER), + LEVEL_UP_MOVE(65, MOVE_INFERNO), + LEVEL_UP_MOVE(70, MOVE_MEMENTO), + LEVEL_UP_MOVE(75, MOVE_OVERHEAT), + LEVEL_UP_END +}; +#endif //P_FAMILY_CHI_YU + +#if P_FAMILY_ROARING_MOON +static const struct LevelUpMove sRoaringMoonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_JAW_LOCK), + LEVEL_UP_MOVE( 1, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_SCALE_SHOT), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 7, MOVE_INCINERATE), + LEVEL_UP_MOVE(14, MOVE_HEADBUTT), + LEVEL_UP_MOVE(21, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(28, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(35, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(42, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(49, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(56, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(63, MOVE_DRAGON_RUSH), + LEVEL_UP_MOVE(70, MOVE_FLY), + LEVEL_UP_MOVE(77, MOVE_THROAT_CHOP), + LEVEL_UP_MOVE(84, MOVE_ROOST), + LEVEL_UP_MOVE(91, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; +#endif //P_FAMILY_ROARING_MOON + +#if P_FAMILY_IRON_VALIANT +static const struct LevelUpMove sIronValiantLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 7, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(14, MOVE_FEINT), + LEVEL_UP_MOVE(21, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(28, MOVE_DAZZLING_GLEAM), + LEVEL_UP_MOVE(35, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE(42, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(49, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(56, MOVE_MOONBLAST), + LEVEL_UP_MOVE(63, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(70, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(77, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(84, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(84, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(91, MOVE_SPIRIT_BREAK), + LEVEL_UP_END +}; +#endif //P_FAMILY_IRON_VALIANT + +#if P_FAMILY_KORAIDON +static const struct LevelUpMove sKoraidonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE( 7, MOVE_ROCK_SMASH), + LEVEL_UP_MOVE(14, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(21, MOVE_DRAIN_PUNCH), + LEVEL_UP_MOVE(28, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(35, MOVE_AGILITY), + LEVEL_UP_MOVE(42, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(49, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(56, MOVE_COLLISION_COURSE), + LEVEL_UP_MOVE(63, MOVE_SCREECH), + LEVEL_UP_MOVE(70, MOVE_COUNTER), + LEVEL_UP_MOVE(77, MOVE_OUTRAGE), + LEVEL_UP_MOVE(84, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(91, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE(98, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; +#endif //P_FAMILY_KORAIDON + +#if P_FAMILY_MIRAIDON +static const struct LevelUpMove sMiraidonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_MOVE( 7, MOVE_SHOCK_WAVE), + LEVEL_UP_MOVE(14, MOVE_CHARGE), + LEVEL_UP_MOVE(21, MOVE_PARABOLIC_CHARGE), + LEVEL_UP_MOVE(28, MOVE_DISCHARGE), + LEVEL_UP_MOVE(35, MOVE_AGILITY), + LEVEL_UP_MOVE(42, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(56, MOVE_ELECTRO_DRIFT), + LEVEL_UP_MOVE(63, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(70, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE(77, MOVE_OUTRAGE), + LEVEL_UP_MOVE(84, MOVE_THUNDER), + LEVEL_UP_MOVE(91, MOVE_OVERHEAT), + LEVEL_UP_MOVE(98, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; +#endif //P_FAMILY_MIRAIDON + +#if P_FAMILY_WALKING_WAKE +static const struct LevelUpMove sWalkingWakeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_ROAR), + LEVEL_UP_MOVE( 1, MOVE_TWISTER), + LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), + LEVEL_UP_MOVE( 7, MOVE_BITE), + LEVEL_UP_MOVE(14, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(21, MOVE_NOBLE_ROAR), + LEVEL_UP_MOVE(28, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(35, MOVE_BREAKING_SWIPE), + LEVEL_UP_MOVE(42, MOVE_DRAGON_RUSH), + LEVEL_UP_MOVE(56, MOVE_HYDRO_STEAM), + LEVEL_UP_MOVE(63, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(70, MOVE_OUTRAGE), + LEVEL_UP_MOVE(77, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(84, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; +#endif //P_FAMILY_WALKING_WAKE + +#if P_FAMILY_IRON_LEAVES +static const struct LevelUpMove sIronLeavesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUASH), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_WORK_UP), + LEVEL_UP_MOVE( 7, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(14, MOVE_RETALIATE), + LEVEL_UP_MOVE(21, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(28, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(35, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(42, MOVE_SACRED_SWORD), + LEVEL_UP_MOVE(49, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(56, MOVE_PSYBLADE), + LEVEL_UP_MOVE(63, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(70, MOVE_IMPRISON), + LEVEL_UP_MOVE(77, MOVE_MEGAHORN), + LEVEL_UP_MOVE(84, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE(91, MOVE_SOLAR_BLADE), + LEVEL_UP_END +}; +#endif //P_FAMILY_IRON_LEAVES + +#if P_FAMILY_POLTCHAGEIST +static const struct LevelUpMove sPoltchageistLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 6, MOVE_ABSORB), + LEVEL_UP_MOVE(12, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(18, MOVE_FOUL_PLAY), + LEVEL_UP_MOVE(24, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(30, MOVE_HEX), + LEVEL_UP_MOVE(36, MOVE_RAGE_POWDER), + LEVEL_UP_MOVE(42, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(48, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(54, MOVE_MEMENTO), + LEVEL_UP_MOVE(60, MOVE_LEAF_STORM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSinistchaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 0, MOVE_MATCHA_GOTCHA), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 6, MOVE_ABSORB), + LEVEL_UP_MOVE(12, MOVE_LIFE_DEW), + LEVEL_UP_MOVE(18, MOVE_FOUL_PLAY), + LEVEL_UP_MOVE(24, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(30, MOVE_HEX), + LEVEL_UP_MOVE(36, MOVE_RAGE_POWDER), + LEVEL_UP_MOVE(42, MOVE_STRENGTH_SAP), + LEVEL_UP_MOVE(48, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(54, MOVE_MEMENTO), + LEVEL_UP_MOVE(60, MOVE_LEAF_STORM), + LEVEL_UP_END +}; +#endif //P_FAMILY_POLTCHAGEIST + +#if P_FAMILY_OKIDOGI +static const struct LevelUpMove sOkidogiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 1, MOVE_BULK_UP), + LEVEL_UP_MOVE( 8, MOVE_HOWL), + LEVEL_UP_MOVE(16, MOVE_POISON_FANG), + LEVEL_UP_MOVE(24, MOVE_FORCE_PALM), + LEVEL_UP_MOVE(32, MOVE_COUNTER), + LEVEL_UP_MOVE(40, MOVE_POISON_JAB), + LEVEL_UP_MOVE(48, MOVE_BRUTAL_SWING), + LEVEL_UP_MOVE(56, MOVE_CRUNCH), + LEVEL_UP_MOVE(64, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(72, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; +#endif //P_FAMILY_OKIDOGI + +#if P_FAMILY_MUNKIDORI +static const struct LevelUpMove sMunkidoriLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_FLATTER), + LEVEL_UP_MOVE( 8, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(16, MOVE_PSYBEAM), + LEVEL_UP_MOVE(24, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(32, MOVE_POISON_JAB), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC), + LEVEL_UP_MOVE(48, MOVE_SLUDGE_WAVE), + LEVEL_UP_MOVE(56, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(64, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(72, MOVE_PARTING_SHOT), + LEVEL_UP_END +}; +#endif //P_FAMILY_MUNKIDORI + +#if P_FAMILY_FEZANDIPITI +static const struct LevelUpMove sFezandipitiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE( 8, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(16, MOVE_ATTRACT), + LEVEL_UP_MOVE(24, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(32, MOVE_CROSS_POISON), + LEVEL_UP_MOVE(40, MOVE_TAIL_SLAP), + LEVEL_UP_MOVE(48, MOVE_BEAT_UP), + LEVEL_UP_MOVE(56, MOVE_SWAGGER), + LEVEL_UP_MOVE(56, MOVE_FLATTER), + LEVEL_UP_MOVE(64, MOVE_ROOST), + LEVEL_UP_MOVE(72, MOVE_MOONBLAST), + LEVEL_UP_END +}; +#endif //P_FAMILY_FEZANDIPITI + +#if P_FAMILY_OGERPON +static const struct LevelUpMove sOgerponLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_RETALIATE), + LEVEL_UP_MOVE( 1, MOVE_HORN_LEECH), + LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), + LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_FOLLOW_ME), + LEVEL_UP_MOVE( 6, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(12, MOVE_GROWTH), + LEVEL_UP_MOVE(18, MOVE_SLAM), + LEVEL_UP_MOVE(24, MOVE_LOW_SWEEP), + LEVEL_UP_MOVE(30, MOVE_IVY_CUDGEL), + LEVEL_UP_MOVE(36, MOVE_THROAT_CHOP), + LEVEL_UP_MOVE(42, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(48, MOVE_SPIKY_SHIELD), + LEVEL_UP_MOVE(54, MOVE_POWER_WHIP), + LEVEL_UP_MOVE(60, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(66, MOVE_WOOD_HAMMER), + LEVEL_UP_END +}; +#endif + +#if P_FAMILY_GOUGING_FIRE +static const struct LevelUpMove sGougingFireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), + LEVEL_UP_MOVE( 1, MOVE_STOMP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_INCINERATE), + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 7, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(14, MOVE_HOWL), + LEVEL_UP_MOVE(21, MOVE_BITE), + LEVEL_UP_MOVE(28, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(35, MOVE_CRUSH_CLAW), + LEVEL_UP_MOVE(42, MOVE_MORNING_SUN), + LEVEL_UP_MOVE(49, MOVE_BURNING_BULWARK), + LEVEL_UP_MOVE(56, MOVE_DRAGON_RUSH), + LEVEL_UP_MOVE(63, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(70, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(77, MOVE_OUTRAGE), + LEVEL_UP_MOVE(84, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE(91, MOVE_RAGING_FURY), + LEVEL_UP_END +}; +#endif //P_FAMILY_GOUGING_FIRE + +#if P_FAMILY_RAGING_BOLT +static const struct LevelUpMove sRagingBoltLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_TWISTER), + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE( 1, MOVE_SHOCK_WAVE), + LEVEL_UP_MOVE( 1, MOVE_STOMP), + LEVEL_UP_MOVE( 7, MOVE_CHARGE), + LEVEL_UP_MOVE(14, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(21, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_MOVE(28, MOVE_DISCHARGE), + LEVEL_UP_MOVE(35, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE(42, MOVE_CALM_MIND), + LEVEL_UP_MOVE(49, MOVE_THUNDERCLAP), + LEVEL_UP_MOVE(56, MOVE_DRAGON_HAMMER), + LEVEL_UP_MOVE(63, MOVE_RISING_VOLTAGE), + LEVEL_UP_MOVE(70, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(77, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(84, MOVE_BODY_PRESS), + LEVEL_UP_MOVE(91, MOVE_THUNDER), + LEVEL_UP_END +}; +#endif //P_FAMILY_RAGING_BOLT + +#if P_FAMILY_IRON_BOULDER +static const struct LevelUpMove sIronBoulderLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(14, MOVE_SLASH), + LEVEL_UP_MOVE(21, MOVE_AGILITY), + LEVEL_UP_MOVE(28, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE(35, MOVE_COUNTER), + LEVEL_UP_MOVE(42, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(49, MOVE_SACRED_SWORD), + LEVEL_UP_MOVE(56, MOVE_MIGHTY_CLEAVE), + LEVEL_UP_MOVE(63, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(70, MOVE_MEGAHORN), + LEVEL_UP_MOVE(77, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(84, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(91, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; +#endif //P_FAMILY_IRON_BOULDER + +#if P_FAMILY_IRON_CROWN +static const struct LevelUpMove sIronCrownLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 7, MOVE_SMART_STRIKE), + LEVEL_UP_MOVE(14, MOVE_SLASH), + LEVEL_UP_MOVE(21, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(28, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(35, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE(42, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(49, MOVE_SACRED_SWORD), + LEVEL_UP_MOVE(56, MOVE_TACHYON_CUTTER), + LEVEL_UP_MOVE(63, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(70, MOVE_VOLT_SWITCH), + LEVEL_UP_MOVE(77, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(84, MOVE_METAL_BURST), + LEVEL_UP_MOVE(91, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; +#endif //P_FAMILY_IRON_CROWN + +#if P_FAMILY_TERAPAGOS +static const struct LevelUpMove sTerapagosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(10, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(20, MOVE_HEADBUTT), + LEVEL_UP_MOVE(30, MOVE_PROTECT), + LEVEL_UP_MOVE(40, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(50, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(60, MOVE_TERA_STARSTORM), + LEVEL_UP_MOVE(70, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(80, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(90, MOVE_GYRO_BALL), + LEVEL_UP_END +}; +#endif //P_FAMILY_TERAPAGOS + +/* +#if P_FAMILY_PECHARUNT +static const struct LevelUpMove sPecharuntLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 1, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), + LEVEL_UP_MOVE( 1, MOVE_MEMENTO), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 8, MOVE_WITHDRAW), + LEVEL_UP_MOVE(16, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(24, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(32, MOVE_PARTING_SHOT), + LEVEL_UP_MOVE(40, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(48, MOVE_MALIGNANT_CHAIN), + LEVEL_UP_MOVE(56, MOVE_TOXIC), + LEVEL_UP_MOVE(64, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(72, MOVE_RECOVER), + LEVEL_UP_END +}; +#endif //P_FAMILY_PECHARUNT +*/ + +static const struct LevelUpMove sChariathanLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1 , MOVE_SCRATCH), + LEVEL_UP_MOVE( 1 , MOVE_GROWL), + LEVEL_UP_MOVE( 1 , MOVE_EMBER), + LEVEL_UP_MOVE( 1 , MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 7 , MOVE_EMBER), + LEVEL_UP_MOVE( 13 , MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 16 , MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 23 , MOVE_FIRE_SPIN), + LEVEL_UP_MOVE( 27 , MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 34 , MOVE_FLAMETHROWER), + LEVEL_UP_MOVE( 36 , MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 44 , MOVE_SLASH), + LEVEL_UP_MOVE( 54 , MOVE_DRAGONBREATH), + LEVEL_UP_MOVE( 64 , MOVE_HEAT_WAVE), + LEVEL_UP_MOVE( 70 , MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; diff --git a/src/pokemon.c b/src/pokemon.c index 1fea08941f..0d235f464c 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -956,7 +956,9 @@ const struct NatureInfo gNaturesInfo[NUM_NATURES] = #include "data/pokemon/trainer_class_lookups.h" #include "data/pokemon/experience_tables.h" -#if P_LVL_UP_LEARNSETS >= GEN_9 +#if P_LVL_UP_LEARNSETS >= EVO +#include "data/pokemon/level_up_learnsets/gen_EVO.h" // Scarlet/Violet +#elif P_LVL_UP_LEARNSETS >= GEN_9 #include "data/pokemon/level_up_learnsets/gen_9.h" // Scarlet/Violet #elif P_LVL_UP_LEARNSETS >= GEN_8 #include "data/pokemon/level_up_learnsets/gen_8.h" // Sword/Shield