From bf11c35eaf9aef956912596ff5baac29187258bd Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 22 Sep 2018 13:52:38 +0200 Subject: [PATCH] Add gen7 learsnets for pokemon --- include/constants/moves.h | 55 + include/pokemon.h | 8 +- src/data/pokemon/level_up_learnset_pointers.h | 2 +- src/data/pokemon/level_up_learnsets.h | 9786 ++++++++++------- src/data/text/move_descriptions.h | 8 +- src/pokemon.c | 52 +- 6 files changed, 6119 insertions(+), 3792 deletions(-) diff --git a/include/constants/moves.h b/include/constants/moves.h index 9fdc00c429..49a59c2c9f 100644 --- a/include/constants/moves.h +++ b/include/constants/moves.h @@ -638,6 +638,61 @@ #define MOVES_COUNT_GEN6 622 +// Gen7 moves. +#define MOVE_SHORE_UP 622 +#define MOVE_FIRST_IMPRESSION 623 +#define MOVE_BANEFUL_BUNKER 624 +#define MOVE_SPIRIT_SHACKLE 625 +#define MOVE_DARKEST_LARIAT 626 +#define MOVE_SPARKLING_ARIA 627 +#define MOVE_ICE_HAMMER 628 +#define MOVE_FLORAL_HEALING 629 +#define MOVE_HIGH_HORSEPOWER 630 +#define MOVE_STRENGTH_SAP 631 +#define MOVE_SOLAR_BLADE 632 +#define MOVE_LEAFAGE 633 +#define MOVE_SPOTLIGHT 634 +#define MOVE_TOXIC_THREAD 635 +#define MOVE_LASER_FOCUS 636 +#define MOVE_GEAR_UP 637 +#define MOVE_THROAT_CHOP 638 +#define MOVE_POLLEN_PUFF 639 +#define MOVE_ANCHOR_SHOT 640 +#define MOVE_PSYCHIC_TERRAIN 641 +#define MOVE_LUNGE 642 +#define MOVE_FIRE_LASH 643 +#define MOVE_POWER_TRIP 644 +#define MOVE_BURN_UP 645 +#define MOVE_SPEED_SWAP 646 +#define MOVE_SMART_STRIKE 647 +#define MOVE_PURIFY 648 +#define MOVE_REVELATION_DANCE 649 +#define MOVE_CORE_ENFORCER 650 +#define MOVE_TROP_KICK 651 +#define MOVE_INSTRUCT 652 +#define MOVE_BEAK_BLAST 653 +#define MOVE_CLANGING_SCALES 654 +#define MOVE_DRAGON_HAMMER 655 +#define MOVE_BRUTAL_SWING 656 +#define MOVE_AURORA_VEIL 657 +#define MOVE_SHELL_TRAP 658 +#define MOVE_FLEUR_CANNON 659 +#define MOVE_PSYCHIC_FANGS 660 +#define MOVE_STOMPING_TANTRUM 661 +#define MOVE_SHADOW_BONE 662 +#define MOVE_ACCELEROCK 663 +#define MOVE_LIQUIDATION 664 +#define MOVE_PRISMATIC_LASER 665 +#define MOVE_SPECTRAL_THIEF 666 +#define MOVE_SUNSTEEL_STRIKE 667 +#define MOVE_MOONGEIST_BEAM 668 +#define MOVE_TEARFUL_LOOK 669 +#define MOVE_ZING_ZAP 670 +#define MOVE_NATURES_MADNESS 671 +#define MOVE_MULTI_ATTACK 672 + +#define MOVES_COUNT_GEN7 673 + #define MOVES_COUNT MOVES_COUNT_GEN6 #endif // GUARD_CONSTANTS_MOVES_H diff --git a/include/pokemon.h b/include/pokemon.h index 0d836cc428..5ea2f1187b 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -376,10 +376,10 @@ struct SpindaSpot u16 image[16]; }; -struct __attribute__((packed)) LevelUpMove +struct LevelUpMove { - u16 move:9; - u16 level:7; + u16 move; + u16 level; }; enum @@ -447,7 +447,7 @@ extern const struct BaseStats gBaseStats[]; extern const u8 *const gItemEffectTable[]; extern const struct Evolution gEvolutionTable[][EVOS_PER_MON]; extern const u32 gExperienceTables[][MAX_MON_LEVEL + 1]; -extern const u16 *const gLevelUpLearnsets[]; +extern const struct LevelUpMove *const gLevelUpLearnsets[]; extern const u8 gUnknown_08329D22[]; extern const u8 gUnknown_08329D26[]; extern const u8 gUnknown_08329D2A[]; diff --git a/src/data/pokemon/level_up_learnset_pointers.h b/src/data/pokemon/level_up_learnset_pointers.h index 0f648526c8..1c69a8c471 100644 --- a/src/data/pokemon/level_up_learnset_pointers.h +++ b/src/data/pokemon/level_up_learnset_pointers.h @@ -1,7 +1,7 @@ #ifndef POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H #define POKEEMERALD_LEVEL_UP_LEARNSET_POINTERS_H -const u16 *const gLevelUpLearnsets[NUM_SPECIES] = +const struct LevelUpMove *const gLevelUpLearnsets[NUM_SPECIES] = { [SPECIES_NONE] = sBulbasaurLevelUpLearnset, [SPECIES_BULBASAUR] = sBulbasaurLevelUpLearnset, diff --git a/src/data/pokemon/level_up_learnsets.h b/src/data/pokemon/level_up_learnsets.h index 062873aee4..46c685572e 100644 --- a/src/data/pokemon/level_up_learnsets.h +++ b/src/data/pokemon/level_up_learnsets.h @@ -1,351 +1,462 @@ -#ifndef POKEEMERALD_LEVEL_UP_LEARNSETS_H -#define POKEEMERALD_LEVEL_UP_LEARNSETS_H +#define LEVEL_UP_MOVE(lvl, moveLearned) {.move = moveLearned, .level = lvl} +#define LEVEL_UP_END (0xffff) -#define LEVEL_UP_MOVE(lvl, move) ((lvl << 9) | move) -#define LEVEL_UP_END 0xffff - -static const u16 sBulbasaurLevelUpLearnset[] = { +static const struct LevelUpMove sBulbasaurLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 4, MOVE_GROWL), + LEVEL_UP_MOVE( 3, 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(32, MOVE_GROWTH), - LEVEL_UP_MOVE(39, MOVE_SYNTHESIS), - LEVEL_UP_MOVE(46, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE( 9, MOVE_VINE_WHIP), + LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(13, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(15, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(19, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(21, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(25, MOVE_GROWTH), + LEVEL_UP_MOVE(27, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(31, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(33, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(37, MOVE_SEED_BOMB), LEVEL_UP_END }; -static const u16 sIvysaurLevelUpLearnset[] = { +static const struct LevelUpMove sIvysaurLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), - LEVEL_UP_MOVE( 4, MOVE_GROWL), + LEVEL_UP_MOVE( 3, 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(38, MOVE_GROWTH), - LEVEL_UP_MOVE(47, MOVE_SYNTHESIS), - LEVEL_UP_MOVE(56, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE( 9, MOVE_VINE_WHIP), + LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(13, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(15, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(20, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(23, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(28, MOVE_GROWTH), + LEVEL_UP_MOVE(31, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(36, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(39, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(44, MOVE_SOLAR_BEAM), LEVEL_UP_END }; -static const u16 sVenusaurLevelUpLearnset[] = { +static const struct LevelUpMove sVenusaurLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE( 1, MOVE_PETAL_DANCE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), 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( 3, 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(41, MOVE_GROWTH), - LEVEL_UP_MOVE(53, MOVE_SYNTHESIS), - LEVEL_UP_MOVE(65, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE( 9, MOVE_VINE_WHIP), + LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(13, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(15, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(20, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(23, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(28, MOVE_GROWTH), + LEVEL_UP_MOVE(31, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(39, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(45, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(50, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE(53, MOVE_SOLAR_BEAM), LEVEL_UP_END }; -static const u16 sCharmanderLevelUpLearnset[] = { +static const struct LevelUpMove sCharmanderLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 7, MOVE_EMBER), - LEVEL_UP_MOVE(13, MOVE_SMOKESCREEN), - LEVEL_UP_MOVE(19, MOVE_RAGE), - LEVEL_UP_MOVE(25, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(31, MOVE_FLAMETHROWER), - LEVEL_UP_MOVE(37, MOVE_SLASH), - LEVEL_UP_MOVE(43, MOVE_DRAGON_RAGE), - LEVEL_UP_MOVE(49, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(10, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(16, MOVE_DRAGON_RAGE), + LEVEL_UP_MOVE(19, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(25, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(28, MOVE_FLAME_BURST), + LEVEL_UP_MOVE(34, MOVE_SLASH), + LEVEL_UP_MOVE(37, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(43, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(46, MOVE_INFERNO), LEVEL_UP_END }; -static const u16 sCharmeleonLevelUpLearnset[] = { +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( 7, MOVE_EMBER), - LEVEL_UP_MOVE(13, MOVE_SMOKESCREEN), - LEVEL_UP_MOVE(20, MOVE_RAGE), - LEVEL_UP_MOVE(27, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(34, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(10, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(17, MOVE_DRAGON_RAGE), + LEVEL_UP_MOVE(21, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(28, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(32, MOVE_FLAME_BURST), + LEVEL_UP_MOVE(39, MOVE_SLASH), + LEVEL_UP_MOVE(43, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(50, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(54, MOVE_INFERNO), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCharizardLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE( 1, MOVE_HEAT_WAVE), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE( 1, MOVE_AIR_SLASH), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 7, MOVE_EMBER), + LEVEL_UP_MOVE(10, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(17, MOVE_DRAGON_RAGE), + LEVEL_UP_MOVE(21, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(28, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(32, MOVE_FLAME_BURST), LEVEL_UP_MOVE(41, MOVE_SLASH), - LEVEL_UP_MOVE(48, MOVE_DRAGON_RAGE), - LEVEL_UP_MOVE(55, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(47, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(56, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(62, MOVE_INFERNO), + LEVEL_UP_MOVE(71, MOVE_HEAT_WAVE), + LEVEL_UP_MOVE(77, MOVE_FLARE_BLITZ), LEVEL_UP_END }; -static const u16 sCharizardLevelUpLearnset[] = { - 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( 7, MOVE_EMBER), - LEVEL_UP_MOVE(13, MOVE_SMOKESCREEN), - LEVEL_UP_MOVE(20, MOVE_RAGE), - 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_DRAGON_RAGE), - LEVEL_UP_MOVE(64, MOVE_FIRE_SPIN), - LEVEL_UP_END -}; - -static const u16 sSquirtleLevelUpLearnset[] = { +static const struct LevelUpMove sSquirtleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 7, MOVE_BUBBLE), + LEVEL_UP_MOVE( 7, MOVE_WATER_GUN), LEVEL_UP_MOVE(10, MOVE_WITHDRAW), - LEVEL_UP_MOVE(13, MOVE_WATER_GUN), - LEVEL_UP_MOVE(18, MOVE_BITE), - LEVEL_UP_MOVE(23, MOVE_RAPID_SPIN), - 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 u16 sWartortleLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - 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(25, MOVE_RAPID_SPIN), - LEVEL_UP_MOVE(31, MOVE_PROTECT), + LEVEL_UP_MOVE(13, MOVE_BUBBLE), + LEVEL_UP_MOVE(16, MOVE_BITE), + LEVEL_UP_MOVE(19, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(22, MOVE_PROTECT), + LEVEL_UP_MOVE(25, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(28, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(31, MOVE_SKULL_BASH), + LEVEL_UP_MOVE(34, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(37, MOVE_RAIN_DANCE), - LEVEL_UP_MOVE(45, MOVE_SKULL_BASH), - LEVEL_UP_MOVE(53, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(40, MOVE_HYDRO_PUMP), LEVEL_UP_END }; -static const u16 sBlastoiseLevelUpLearnset[] = { +static const struct LevelUpMove sWartortleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7, MOVE_WATER_GUN), + LEVEL_UP_MOVE(10, MOVE_WITHDRAW), + LEVEL_UP_MOVE(13, MOVE_BUBBLE), + LEVEL_UP_MOVE(17, MOVE_BITE), + LEVEL_UP_MOVE(21, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(25, MOVE_PROTECT), + LEVEL_UP_MOVE(29, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(33, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(37, MOVE_SKULL_BASH), + LEVEL_UP_MOVE(41, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(45, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(49, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBlastoiseLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, 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( 4, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 7, MOVE_BUBBLE), + LEVEL_UP_MOVE( 7, MOVE_WATER_GUN), LEVEL_UP_MOVE(10, MOVE_WITHDRAW), - LEVEL_UP_MOVE(13, MOVE_WATER_GUN), - LEVEL_UP_MOVE(19, MOVE_BITE), - LEVEL_UP_MOVE(25, MOVE_RAPID_SPIN), - 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_MOVE(13, MOVE_BUBBLE), + LEVEL_UP_MOVE(17, MOVE_BITE), + LEVEL_UP_MOVE(21, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(25, MOVE_PROTECT), + LEVEL_UP_MOVE(29, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(33, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(40, MOVE_SKULL_BASH), + LEVEL_UP_MOVE(47, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(54, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(60, MOVE_HYDRO_PUMP), LEVEL_UP_END }; -static const u16 sCaterpieLevelUpLearnset[] = { +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 u16 sMetapodLevelUpLearnset[] = { +static const struct LevelUpMove sMetapodLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_HARDEN), - LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_END }; -static const u16 sButterfreeLevelUpLearnset[] = { +static const struct LevelUpMove sButterfreeLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_GUST), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), - LEVEL_UP_MOVE(10, MOVE_CONFUSION), + LEVEL_UP_MOVE(11, 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_MOVE(13, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(13, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(17, MOVE_PSYBEAM), + LEVEL_UP_MOVE(19, MOVE_SILVER_WIND), + LEVEL_UP_MOVE(23, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(25, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(29, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(31, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(35, MOVE_RAGE_POWDER), + LEVEL_UP_MOVE(37, MOVE_CAPTIVATE), + LEVEL_UP_MOVE(41, MOVE_TAILWIND), + LEVEL_UP_MOVE(43, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(47, MOVE_QUIVER_DANCE), LEVEL_UP_END }; -static const u16 sWeedleLevelUpLearnset[] = { +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 u16 sKakunaLevelUpLearnset[] = { +static const struct LevelUpMove sKakunaLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_HARDEN), - LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_END }; -static const u16 sBeedrillLevelUpLearnset[] = { +static const struct LevelUpMove sBeedrillLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_TWINEEDLE), + LEVEL_UP_MOVE( 1, MOVE_TWINEEDLE), LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), - 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 u16 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(19, MOVE_WHIRLWIND), - LEVEL_UP_MOVE(25, MOVE_WING_ATTACK), - LEVEL_UP_MOVE(31, MOVE_FEATHER_DANCE), - LEVEL_UP_MOVE(39, MOVE_AGILITY), - LEVEL_UP_MOVE(47, MOVE_MIRROR_MOVE), - LEVEL_UP_END -}; - -static const u16 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(20, MOVE_WHIRLWIND), - LEVEL_UP_MOVE(27, MOVE_WING_ATTACK), - LEVEL_UP_MOVE(34, MOVE_FEATHER_DANCE), - LEVEL_UP_MOVE(43, MOVE_AGILITY), - LEVEL_UP_MOVE(52, MOVE_MIRROR_MOVE), - LEVEL_UP_END -}; - -static const u16 sPidgeotLevelUpLearnset[] = { - 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(20, MOVE_WHIRLWIND), - LEVEL_UP_MOVE(27, MOVE_WING_ATTACK), - LEVEL_UP_MOVE(34, MOVE_FEATHER_DANCE), - LEVEL_UP_MOVE(48, MOVE_AGILITY), - LEVEL_UP_MOVE(62, MOVE_MIRROR_MOVE), - LEVEL_UP_END -}; - -static const u16 sRattataLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(13, MOVE_HYPER_FANG), + LEVEL_UP_MOVE(11, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(14, MOVE_RAGE), + LEVEL_UP_MOVE(17, MOVE_PURSUIT), LEVEL_UP_MOVE(20, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(27, MOVE_PURSUIT), - LEVEL_UP_MOVE(34, MOVE_SUPER_FANG), + 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 }; -static const u16 sRaticateLevelUpLearnset[] = { +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_MIRROR_MOVE), + 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_MIRROR_MOVE), + 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_MIRROR_MOVE), + LEVEL_UP_MOVE(62, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(68, MOVE_HURRICANE), + LEVEL_UP_END +}; + +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_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 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( 7, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(13, MOVE_HYPER_FANG), - LEVEL_UP_MOVE(20, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(30, MOVE_PURSUIT), - LEVEL_UP_MOVE(40, MOVE_SUPER_FANG), - LEVEL_UP_MOVE(50, MOVE_ENDEAVOR), + 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 }; -static const u16 sSpearowLevelUpLearnset[] = { +static const struct LevelUpMove sSpearowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 7, MOVE_LEER), - LEVEL_UP_MOVE(13, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE(19, MOVE_PURSUIT), - LEVEL_UP_MOVE(25, MOVE_AERIAL_ACE), - LEVEL_UP_MOVE(31, MOVE_MIRROR_MOVE), - LEVEL_UP_MOVE(37, MOVE_DRILL_PECK), - LEVEL_UP_MOVE(43, MOVE_AGILITY), + LEVEL_UP_MOVE( 4, MOVE_LEER), + LEVEL_UP_MOVE( 8, MOVE_PURSUIT), + LEVEL_UP_MOVE(11, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(15, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(18, MOVE_MIRROR_MOVE), + LEVEL_UP_MOVE(22, MOVE_ASSURANCE), + 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 u16 sFearowLevelUpLearnset[] = { +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( 1, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE( 7, MOVE_LEER), - LEVEL_UP_MOVE(13, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE(26, MOVE_PURSUIT), - LEVEL_UP_MOVE(32, MOVE_MIRROR_MOVE), - LEVEL_UP_MOVE(40, MOVE_DRILL_PECK), - LEVEL_UP_MOVE(47, MOVE_AGILITY), + LEVEL_UP_MOVE( 1, MOVE_PURSUIT), + LEVEL_UP_MOVE( 4, MOVE_LEER), + LEVEL_UP_MOVE( 8, MOVE_PURSUIT), + LEVEL_UP_MOVE(11, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(15, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(18, MOVE_MIRROR_MOVE), + LEVEL_UP_MOVE(23, MOVE_ASSURANCE), + 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 }; -static const u16 sEkansLevelUpLearnset[] = { +static const struct LevelUpMove sEkansLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 8, MOVE_POISON_STING), - LEVEL_UP_MOVE(13, MOVE_BITE), - LEVEL_UP_MOVE(20, MOVE_GLARE), - LEVEL_UP_MOVE(25, MOVE_SCREECH), - LEVEL_UP_MOVE(32, MOVE_ACID), - LEVEL_UP_MOVE(37, MOVE_STOCKPILE), - LEVEL_UP_MOVE(37, MOVE_SWALLOW), - LEVEL_UP_MOVE(37, MOVE_SPIT_UP), - LEVEL_UP_MOVE(44, MOVE_HAZE), + 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_STOCKPILE), + LEVEL_UP_MOVE(25, MOVE_SWALLOW), + LEVEL_UP_MOVE(25, MOVE_SPIT_UP), + LEVEL_UP_MOVE(28, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE(33, MOVE_MUD_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 u16 sArbokLevelUpLearnset[] = { +static const struct LevelUpMove sArbokLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_BITE), - LEVEL_UP_MOVE( 8, MOVE_POISON_STING), - LEVEL_UP_MOVE(13, MOVE_BITE), - LEVEL_UP_MOVE(20, MOVE_GLARE), - LEVEL_UP_MOVE(28, MOVE_SCREECH), - LEVEL_UP_MOVE(38, MOVE_ACID), - LEVEL_UP_MOVE(46, MOVE_STOCKPILE), - LEVEL_UP_MOVE(46, MOVE_SWALLOW), - LEVEL_UP_MOVE(46, MOVE_SPIT_UP), - LEVEL_UP_MOVE(56, MOVE_HAZE), + 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(27, MOVE_STOCKPILE), + LEVEL_UP_MOVE(27, MOVE_SWALLOW), + LEVEL_UP_MOVE(27, MOVE_SPIT_UP), + LEVEL_UP_MOVE(32, MOVE_ACID_SPRAY), + LEVEL_UP_MOVE(39, MOVE_MUD_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 }; -static const u16 sPikachuLevelUpLearnset[] = { +static const struct LevelUpMove sPikachuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 8, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE(11, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(15, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE(20, MOVE_SLAM), - LEVEL_UP_MOVE(26, MOVE_THUNDERBOLT), - LEVEL_UP_MOVE(33, MOVE_AGILITY), - LEVEL_UP_MOVE(41, MOVE_THUNDER), - LEVEL_UP_MOVE(50, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE( 5, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_PLAY_NICE), + LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(18, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(21, MOVE_FEINT), + LEVEL_UP_MOVE(23, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(26, MOVE_SPARK), + LEVEL_UP_MOVE(29, MOVE_NUZZLE), + LEVEL_UP_MOVE(34, MOVE_DISCHARGE), + LEVEL_UP_MOVE(37, MOVE_SLAM), + LEVEL_UP_MOVE(42, MOVE_THUNDERBOLT), + LEVEL_UP_MOVE(45, MOVE_AGILITY), + LEVEL_UP_MOVE(50, MOVE_WILD_CHARGE), + LEVEL_UP_MOVE(53, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(58, MOVE_THUNDER), LEVEL_UP_END }; -static const u16 sRaichuLevelUpLearnset[] = { +static const struct LevelUpMove sRaichuLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), @@ -353,126 +464,176 @@ static const u16 sRaichuLevelUpLearnset[] = { LEVEL_UP_END }; -static const u16 sSandshrewLevelUpLearnset[] = { +static const struct LevelUpMove sSandshrewLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 6, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE(11, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(17, MOVE_POISON_STING), - LEVEL_UP_MOVE(23, MOVE_SLASH), - LEVEL_UP_MOVE(30, MOVE_SWIFT), - LEVEL_UP_MOVE(37, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(45, MOVE_SAND_TOMB), - LEVEL_UP_MOVE(53, MOVE_SANDSTORM), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 3, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 5, MOVE_POISON_STING), + LEVEL_UP_MOVE( 7, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 9, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(11, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(14, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(17, MOVE_SWIFT), + LEVEL_UP_MOVE(20, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(23, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(26, MOVE_SLASH), + LEVEL_UP_MOVE(30, MOVE_DIG), + LEVEL_UP_MOVE(34, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(38, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(42, MOVE_SANDSTORM), + LEVEL_UP_MOVE(46, MOVE_EARTHQUAKE), LEVEL_UP_END }; -static const u16 sSandslashLevelUpLearnset[] = { +static const struct LevelUpMove sSandslashLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_CRUSH_CLAW), + LEVEL_UP_MOVE( 1, MOVE_CRUSH_CLAW), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE( 6, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE(11, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(17, MOVE_POISON_STING), - LEVEL_UP_MOVE(24, MOVE_SLASH), - LEVEL_UP_MOVE(33, MOVE_SWIFT), - LEVEL_UP_MOVE(42, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(52, MOVE_SAND_TOMB), - LEVEL_UP_MOVE(62, MOVE_SANDSTORM), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 3, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 5, MOVE_POISON_STING), + LEVEL_UP_MOVE( 7, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 9, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(11, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(14, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(17, MOVE_SWIFT), + LEVEL_UP_MOVE(20, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(24, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(28, MOVE_SLASH), + LEVEL_UP_MOVE(33, MOVE_DIG), + LEVEL_UP_MOVE(38, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(43, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(48, MOVE_SANDSTORM), + LEVEL_UP_MOVE(53, MOVE_EARTHQUAKE), LEVEL_UP_END }; -static const u16 sNidoranFLevelUpLearnset[] = { +static const struct LevelUpMove sNidoranMLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 8, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE(12, MOVE_DOUBLE_KICK), - LEVEL_UP_MOVE(17, MOVE_POISON_STING), - LEVEL_UP_MOVE(20, MOVE_BITE), - LEVEL_UP_MOVE(23, MOVE_HELPING_HAND), - LEVEL_UP_MOVE(30, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE( 7, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 9, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(13, MOVE_POISON_STING), + LEVEL_UP_MOVE(19, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(21, MOVE_BITE), + LEVEL_UP_MOVE(25, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(31, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(33, MOVE_FLATTER), + LEVEL_UP_MOVE(37, MOVE_CRUNCH), + LEVEL_UP_MOVE(43, MOVE_CAPTIVATE), + LEVEL_UP_MOVE(45, MOVE_POISON_FANG), + LEVEL_UP_END +}; + +static const struct LevelUpMove sNidorinaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 7, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 9, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(13, MOVE_POISON_STING), + LEVEL_UP_MOVE(20, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(23, MOVE_BITE), + LEVEL_UP_MOVE(28, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(35, MOVE_TOXIC_SPIKES), LEVEL_UP_MOVE(38, MOVE_FLATTER), - LEVEL_UP_MOVE(47, MOVE_CRUNCH), + LEVEL_UP_MOVE(43, MOVE_CRUNCH), + LEVEL_UP_MOVE(50, MOVE_CAPTIVATE), + LEVEL_UP_MOVE(58, MOVE_POISON_FANG), LEVEL_UP_END }; -static const u16 sNidorinaLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 8, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE(12, MOVE_DOUBLE_KICK), - LEVEL_UP_MOVE(18, MOVE_POISON_STING), - LEVEL_UP_MOVE(22, MOVE_BITE), - LEVEL_UP_MOVE(26, MOVE_HELPING_HAND), - LEVEL_UP_MOVE(34, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(43, MOVE_FLATTER), - LEVEL_UP_MOVE(53, MOVE_CRUNCH), - LEVEL_UP_END -}; - -static const u16 sNidoqueenLevelUpLearnset[] = { +static const struct LevelUpMove sNidoqueenLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SUPERPOWER), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_POISON_STING), - LEVEL_UP_MOVE(23, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(23, MOVE_CHIP_AWAY), + LEVEL_UP_MOVE(35, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(43, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(58, MOVE_SUPERPOWER), LEVEL_UP_END }; -static const u16 sNidoranMLevelUpLearnset[] = { +static const struct LevelUpMove sNidoranFLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_PECK), - LEVEL_UP_MOVE( 8, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(12, MOVE_DOUBLE_KICK), - LEVEL_UP_MOVE(17, MOVE_POISON_STING), - LEVEL_UP_MOVE(20, MOVE_HORN_ATTACK), - LEVEL_UP_MOVE(23, MOVE_HELPING_HAND), - LEVEL_UP_MOVE(30, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 9, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(13, MOVE_POISON_STING), + LEVEL_UP_MOVE(19, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(21, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(25, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(31, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(33, MOVE_FLATTER), + LEVEL_UP_MOVE(37, MOVE_POISON_JAB), + LEVEL_UP_MOVE(43, MOVE_CAPTIVATE), + LEVEL_UP_MOVE(45, MOVE_HORN_DRILL), + LEVEL_UP_END +}; + +static const struct LevelUpMove sNidorinoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 9, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(13, MOVE_POISON_STING), + LEVEL_UP_MOVE(20, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(23, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(28, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(35, MOVE_TOXIC_SPIKES), LEVEL_UP_MOVE(38, MOVE_FLATTER), - LEVEL_UP_MOVE(47, MOVE_HORN_DRILL), + LEVEL_UP_MOVE(43, MOVE_POISON_JAB), + LEVEL_UP_MOVE(50, MOVE_CAPTIVATE), + LEVEL_UP_MOVE(58, MOVE_HORN_DRILL), LEVEL_UP_END }; -static const u16 sNidorinoLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 1, MOVE_PECK), - LEVEL_UP_MOVE( 8, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(12, MOVE_DOUBLE_KICK), - LEVEL_UP_MOVE(18, MOVE_POISON_STING), - LEVEL_UP_MOVE(22, MOVE_HORN_ATTACK), - LEVEL_UP_MOVE(26, MOVE_HELPING_HAND), - LEVEL_UP_MOVE(34, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE(43, MOVE_FLATTER), - LEVEL_UP_MOVE(53, MOVE_HORN_DRILL), - LEVEL_UP_END -}; - -static const u16 sNidokingLevelUpLearnset[] = { +static const struct LevelUpMove sNidokingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_POISON_STING), - LEVEL_UP_MOVE(23, MOVE_THRASH), + LEVEL_UP_MOVE(23, MOVE_CHIP_AWAY), + LEVEL_UP_MOVE(35, MOVE_THRASH), + LEVEL_UP_MOVE(43, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(58, MOVE_MEGAHORN), LEVEL_UP_END }; -static const u16 sClefairyLevelUpLearnset[] = { +static const struct LevelUpMove sClefairyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPOTLIGHT), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 5, MOVE_ENCORE), - LEVEL_UP_MOVE( 9, MOVE_SING), - LEVEL_UP_MOVE(13, MOVE_DOUBLE_SLAP), - LEVEL_UP_MOVE(17, MOVE_FOLLOW_ME), - LEVEL_UP_MOVE(21, MOVE_MINIMIZE), - LEVEL_UP_MOVE(25, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE(29, MOVE_METRONOME), - LEVEL_UP_MOVE(33, MOVE_COSMIC_POWER), - LEVEL_UP_MOVE(37, MOVE_MOONLIGHT), - LEVEL_UP_MOVE(41, MOVE_LIGHT_SCREEN), - LEVEL_UP_MOVE(45, MOVE_METEOR_MASH), + LEVEL_UP_MOVE( 1, MOVE_ENCORE), + LEVEL_UP_MOVE( 7, MOVE_SING), + LEVEL_UP_MOVE(10, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(13, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(16, MOVE_FOLLOW_ME), + LEVEL_UP_MOVE(19, MOVE_BESTOW), + LEVEL_UP_MOVE(22, MOVE_WAKE_UP_SLAP), + LEVEL_UP_MOVE(25, MOVE_MINIMIZE), + LEVEL_UP_MOVE(28, MOVE_STORED_POWER), + LEVEL_UP_MOVE(31, MOVE_METRONOME), + LEVEL_UP_MOVE(34, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(37, MOVE_LUCKY_CHANT), + LEVEL_UP_MOVE(40, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(43, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(46, MOVE_MOONBLAST), + LEVEL_UP_MOVE(49, MOVE_GRAVITY), + LEVEL_UP_MOVE(50, MOVE_METEOR_MASH), + LEVEL_UP_MOVE(55, MOVE_HEALING_WISH), + LEVEL_UP_MOVE(58, MOVE_AFTER_YOU), LEVEL_UP_END }; -static const u16 sClefableLevelUpLearnset[] = { +static const struct LevelUpMove sClefableLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SPOTLIGHT), + LEVEL_UP_MOVE( 1, MOVE_DISARMING_VOICE), LEVEL_UP_MOVE( 1, MOVE_SING), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), LEVEL_UP_MOVE( 1, MOVE_MINIMIZE), @@ -480,2303 +641,3365 @@ static const u16 sClefableLevelUpLearnset[] = { LEVEL_UP_END }; -static const u16 sVulpixLevelUpLearnset[] = { +static const struct LevelUpMove sVulpixLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 9, MOVE_ROAR), - LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(17, MOVE_WILL_O_WISP), - LEVEL_UP_MOVE(21, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE(25, MOVE_IMPRISON), - LEVEL_UP_MOVE(29, MOVE_FLAMETHROWER), - LEVEL_UP_MOVE(33, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(37, MOVE_GRUDGE), - LEVEL_UP_MOVE(41, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7, MOVE_ROAR), + LEVEL_UP_MOVE( 9, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(12, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(15, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(18, MOVE_PAYBACK), + LEVEL_UP_MOVE(20, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(23, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(26, MOVE_HEX), + LEVEL_UP_MOVE(28, MOVE_FLAME_BURST), + LEVEL_UP_MOVE(31, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(34, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(36, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(39, MOVE_IMPRISON), + LEVEL_UP_MOVE(42, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(44, MOVE_GRUDGE), + LEVEL_UP_MOVE(47, MOVE_CAPTIVATE), + LEVEL_UP_MOVE(50, MOVE_INFERNO), LEVEL_UP_END }; -static const u16 sNinetalesLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_EMBER), +static const struct LevelUpMove sNinetalesLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_IMPRISON), + LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE( 1, MOVE_FLAMETHROWER), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_CONFUSE_RAY), LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(45, MOVE_FIRE_SPIN), LEVEL_UP_END }; -static const u16 sJigglypuffLevelUpLearnset[] = { +static const struct LevelUpMove sJigglypuffLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SING), - LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE( 9, MOVE_POUND), + LEVEL_UP_MOVE( 3, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 5, MOVE_POUND), + LEVEL_UP_MOVE( 9, MOVE_PLAY_NICE), + LEVEL_UP_MOVE(11, MOVE_DISARMING_VOICE), LEVEL_UP_MOVE(14, MOVE_DISABLE), - LEVEL_UP_MOVE(19, MOVE_ROLLOUT), - LEVEL_UP_MOVE(24, MOVE_DOUBLE_SLAP), - LEVEL_UP_MOVE(29, MOVE_REST), - LEVEL_UP_MOVE(34, MOVE_BODY_SLAM), - LEVEL_UP_MOVE(39, MOVE_MIMIC), - LEVEL_UP_MOVE(44, MOVE_HYPER_VOICE), - LEVEL_UP_MOVE(49, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(17, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(20, MOVE_ROLLOUT), + LEVEL_UP_MOVE(22, MOVE_ROUND), + LEVEL_UP_MOVE(25, MOVE_STOCKPILE), + LEVEL_UP_MOVE(25, MOVE_SWALLOW), + LEVEL_UP_MOVE(25, MOVE_SPIT_UP), + LEVEL_UP_MOVE(27, MOVE_WAKE_UP_SLAP), + LEVEL_UP_MOVE(30, MOVE_REST), + LEVEL_UP_MOVE(32, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(35, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(38, MOVE_MIMIC), + LEVEL_UP_MOVE(41, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(45, MOVE_DOUBLE_EDGE), LEVEL_UP_END }; -static const u16 sWigglytuffLevelUpLearnset[] = { +static const struct LevelUpMove sWigglytuffLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_PLAY_ROUGH), LEVEL_UP_MOVE( 1, MOVE_SING), - LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), LEVEL_UP_END }; -static const u16 sZubatLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), - LEVEL_UP_MOVE( 6, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(11, MOVE_ASTONISH), - LEVEL_UP_MOVE(16, MOVE_BITE), - LEVEL_UP_MOVE(21, MOVE_WING_ATTACK), - LEVEL_UP_MOVE(26, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE(31, MOVE_AIR_CUTTER), - LEVEL_UP_MOVE(36, MOVE_MEAN_LOOK), - LEVEL_UP_MOVE(41, MOVE_POISON_FANG), - LEVEL_UP_MOVE(46, MOVE_HAZE), +static const struct LevelUpMove sZubatLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 5, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 7, MOVE_ASTONISH), + LEVEL_UP_MOVE(11, MOVE_BITE), + LEVEL_UP_MOVE(13, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(17, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(19, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(23, MOVE_SWIFT), + LEVEL_UP_MOVE(25, MOVE_POISON_FANG), + LEVEL_UP_MOVE(29, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(31, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(35, MOVE_HAZE), + LEVEL_UP_MOVE(37, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(41, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(43, MOVE_QUICK_GUARD), LEVEL_UP_END }; -static const u16 sGolbatLevelUpLearnset[] = { +static const struct LevelUpMove sGolbatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCREECH), - LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), - LEVEL_UP_MOVE( 6, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(11, MOVE_ASTONISH), - LEVEL_UP_MOVE(16, MOVE_BITE), - LEVEL_UP_MOVE(21, MOVE_WING_ATTACK), - LEVEL_UP_MOVE(28, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE(35, MOVE_AIR_CUTTER), - LEVEL_UP_MOVE(42, MOVE_MEAN_LOOK), - LEVEL_UP_MOVE(49, MOVE_POISON_FANG), - LEVEL_UP_MOVE(56, MOVE_HAZE), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 5, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 7, MOVE_ASTONISH), + LEVEL_UP_MOVE(11, MOVE_BITE), + LEVEL_UP_MOVE(13, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(17, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(19, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(24, MOVE_SWIFT), + LEVEL_UP_MOVE(27, MOVE_POISON_FANG), + LEVEL_UP_MOVE(32, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(35, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(40, MOVE_HAZE), + LEVEL_UP_MOVE(43, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(48, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(51, MOVE_QUICK_GUARD), LEVEL_UP_END }; -static const u16 sOddishLevelUpLearnset[] = { +static const struct LevelUpMove sOddishLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 7, MOVE_SWEET_SCENT), - LEVEL_UP_MOVE(14, MOVE_POISON_POWDER), - LEVEL_UP_MOVE(16, MOVE_STUN_SPORE), - LEVEL_UP_MOVE(18, MOVE_SLEEP_POWDER), - LEVEL_UP_MOVE(23, MOVE_ACID), - LEVEL_UP_MOVE(32, MOVE_MOONLIGHT), - LEVEL_UP_MOVE(39, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 5, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 9, MOVE_ACID), + LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(14, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(15, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(19, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(23, MOVE_LUCKY_CHANT), + LEVEL_UP_MOVE(27, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(31, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(35, MOVE_TOXIC), + LEVEL_UP_MOVE(39, MOVE_NATURAL_GIFT), + LEVEL_UP_MOVE(43, MOVE_MOONBLAST), + LEVEL_UP_MOVE(47, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE(51, MOVE_PETAL_DANCE), LEVEL_UP_END }; -static const u16 sGloomLevelUpLearnset[] = { +static const struct LevelUpMove sGloomLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), - LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), - LEVEL_UP_MOVE( 7, MOVE_SWEET_SCENT), - LEVEL_UP_MOVE(14, MOVE_POISON_POWDER), - LEVEL_UP_MOVE(16, MOVE_STUN_SPORE), - LEVEL_UP_MOVE(18, MOVE_SLEEP_POWDER), - LEVEL_UP_MOVE(24, MOVE_ACID), - LEVEL_UP_MOVE(35, MOVE_MOONLIGHT), - LEVEL_UP_MOVE(44, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 5, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 9, MOVE_ACID), + LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(14, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(15, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(19, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(24, MOVE_LUCKY_CHANT), + LEVEL_UP_MOVE(29, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(34, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(39, MOVE_TOXIC), + LEVEL_UP_MOVE(44, MOVE_NATURAL_GIFT), + LEVEL_UP_MOVE(49, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE(54, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE(59, MOVE_PETAL_DANCE), LEVEL_UP_END }; -static const u16 sVileplumeLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 1, MOVE_AROMATHERAPY), - LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), +static const struct LevelUpMove sVileplumeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), - LEVEL_UP_MOVE(44, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE( 1, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE( 1, MOVE_POISON_POWDER), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(49, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE(59, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE(69, MOVE_SOLAR_BEAM), LEVEL_UP_END }; -static const u16 sParasLevelUpLearnset[] = { +static const struct LevelUpMove sParasLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 7, MOVE_STUN_SPORE), - LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), - LEVEL_UP_MOVE(19, MOVE_LEECH_LIFE), - LEVEL_UP_MOVE(25, MOVE_SPORE), - LEVEL_UP_MOVE(31, MOVE_SLASH), - LEVEL_UP_MOVE(37, MOVE_GROWTH), - LEVEL_UP_MOVE(43, MOVE_GIGA_DRAIN), - LEVEL_UP_MOVE(49, MOVE_AROMATHERAPY), + 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 u16 sParasectLevelUpLearnset[] = { +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( 7, MOVE_STUN_SPORE), - LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), - LEVEL_UP_MOVE(19, MOVE_LEECH_LIFE), - LEVEL_UP_MOVE(27, MOVE_SPORE), - LEVEL_UP_MOVE(35, MOVE_SLASH), - LEVEL_UP_MOVE(43, MOVE_GROWTH), - LEVEL_UP_MOVE(51, MOVE_GIGA_DRAIN), - LEVEL_UP_MOVE(59, MOVE_AROMATHERAPY), + 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 }; -static const u16 sVenonatLevelUpLearnset[] = { +static const struct LevelUpMove sVenonatLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), - LEVEL_UP_MOVE( 9, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(17, MOVE_CONFUSION), - LEVEL_UP_MOVE(20, MOVE_POISON_POWDER), - LEVEL_UP_MOVE(25, MOVE_LEECH_LIFE), - LEVEL_UP_MOVE(28, MOVE_STUN_SPORE), - LEVEL_UP_MOVE(33, MOVE_PSYBEAM), - LEVEL_UP_MOVE(36, MOVE_SLEEP_POWDER), - LEVEL_UP_MOVE(41, MOVE_PSYCHIC), + 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_SIGNAL_BEAM), + 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 u16 sVenomothLevelUpLearnset[] = { +static const struct LevelUpMove sVenomothLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_BUG_BUZZ), LEVEL_UP_MOVE( 1, MOVE_SILVER_WIND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), - LEVEL_UP_MOVE( 9, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(17, MOVE_CONFUSION), - LEVEL_UP_MOVE(20, MOVE_POISON_POWDER), - LEVEL_UP_MOVE(25, MOVE_LEECH_LIFE), - LEVEL_UP_MOVE(28, MOVE_STUN_SPORE), - LEVEL_UP_MOVE(31, MOVE_GUST), - LEVEL_UP_MOVE(36, MOVE_PSYBEAM), - LEVEL_UP_MOVE(42, MOVE_SLEEP_POWDER), - LEVEL_UP_MOVE(52, MOVE_PSYCHIC), + 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_SIGNAL_BEAM), + 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_MOVE(59, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(63, MOVE_QUIVER_DANCE), LEVEL_UP_END }; -static const u16 sDiglettLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SCRATCH), +static const struct LevelUpMove sDiglettLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE( 5, MOVE_GROWL), - LEVEL_UP_MOVE( 9, MOVE_MAGNITUDE), - LEVEL_UP_MOVE(17, MOVE_DIG), - LEVEL_UP_MOVE(25, MOVE_MUD_SLAP), - LEVEL_UP_MOVE(33, MOVE_SLASH), - LEVEL_UP_MOVE(41, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE(49, MOVE_FISSURE), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 4, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_ASTONISH), + LEVEL_UP_MOVE(10, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(14, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(18, MOVE_BULLDOZE), + LEVEL_UP_MOVE(22, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(25, MOVE_MUD_BOMB), + LEVEL_UP_MOVE(28, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(31, MOVE_DIG), + LEVEL_UP_MOVE(35, MOVE_SLASH), + LEVEL_UP_MOVE(39, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(43, MOVE_FISSURE), LEVEL_UP_END }; -static const u16 sDugtrioLevelUpLearnset[] = { +static const struct LevelUpMove sDugtrioLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_SAND_TOMB), + LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), + LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 5, MOVE_GROWL), - LEVEL_UP_MOVE( 9, MOVE_MAGNITUDE), - LEVEL_UP_MOVE(17, MOVE_DIG), - LEVEL_UP_MOVE(25, MOVE_MUD_SLAP), - LEVEL_UP_MOVE(26, MOVE_SAND_TOMB), - LEVEL_UP_MOVE(38, MOVE_SLASH), - LEVEL_UP_MOVE(51, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE(64, MOVE_FISSURE), + LEVEL_UP_MOVE( 4, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_ASTONISH), + LEVEL_UP_MOVE(10, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(14, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(18, MOVE_BULLDOZE), + LEVEL_UP_MOVE(22, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(25, MOVE_MUD_BOMB), + LEVEL_UP_MOVE(30, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(35, MOVE_DIG), + LEVEL_UP_MOVE(41, MOVE_SLASH), + LEVEL_UP_MOVE(47, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(53, MOVE_FISSURE), LEVEL_UP_END }; -static const u16 sMeowthLevelUpLearnset[] = { +static const struct LevelUpMove sMeowthLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE(11, MOVE_BITE), - LEVEL_UP_MOVE(20, MOVE_PAY_DAY), - LEVEL_UP_MOVE(28, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(35, MOVE_SCREECH), - LEVEL_UP_MOVE(41, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(46, MOVE_SLASH), - LEVEL_UP_MOVE(50, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 6, MOVE_BITE), + LEVEL_UP_MOVE( 9, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(14, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(17, MOVE_SCREECH), + LEVEL_UP_MOVE(22, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(25, MOVE_TAUNT), + LEVEL_UP_MOVE(30, MOVE_PAY_DAY), + LEVEL_UP_MOVE(33, MOVE_SLASH), + LEVEL_UP_MOVE(38, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(41, MOVE_ASSURANCE), + LEVEL_UP_MOVE(46, MOVE_CAPTIVATE), + LEVEL_UP_MOVE(49, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(50, MOVE_FEINT), LEVEL_UP_END }; -static const u16 sPersianLevelUpLearnset[] = { +static const struct LevelUpMove sPersianLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_SWIFT), + LEVEL_UP_MOVE( 1, MOVE_SWIFT), + LEVEL_UP_MOVE( 1, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_BITE), - LEVEL_UP_MOVE(11, MOVE_BITE), - LEVEL_UP_MOVE(20, MOVE_PAY_DAY), - LEVEL_UP_MOVE(29, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(38, MOVE_SCREECH), - LEVEL_UP_MOVE(46, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(53, MOVE_SLASH), - LEVEL_UP_MOVE(59, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 1, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 6, MOVE_BITE), + LEVEL_UP_MOVE( 9, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(14, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(17, MOVE_SCREECH), + LEVEL_UP_MOVE(22, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(25, MOVE_TAUNT), + LEVEL_UP_MOVE(32, MOVE_POWER_GEM), + LEVEL_UP_MOVE(37, MOVE_SLASH), + LEVEL_UP_MOVE(44, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(49, MOVE_ASSURANCE), + LEVEL_UP_MOVE(56, MOVE_CAPTIVATE), + LEVEL_UP_MOVE(61, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(65, MOVE_FEINT), LEVEL_UP_END }; -static const u16 sPsyduckLevelUpLearnset[] = { +static const struct LevelUpMove sPsyduckLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE(10, MOVE_DISABLE), - LEVEL_UP_MOVE(16, MOVE_CONFUSION), - LEVEL_UP_MOVE(23, MOVE_SCREECH), - LEVEL_UP_MOVE(31, MOVE_PSYCH_UP), - LEVEL_UP_MOVE(40, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7, MOVE_WATER_GUN), + LEVEL_UP_MOVE(10, MOVE_CONFUSION), + LEVEL_UP_MOVE(13, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(16, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(19, MOVE_DISABLE), + LEVEL_UP_MOVE(22, MOVE_SCREECH), + LEVEL_UP_MOVE(25, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(31, MOVE_SOAK), + LEVEL_UP_MOVE(34, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(37, MOVE_AMNESIA), + LEVEL_UP_MOVE(40, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(43, MOVE_WONDER_ROOM), LEVEL_UP_END }; -static const u16 sGolduckLevelUpLearnset[] = { +static const struct LevelUpMove sGolduckLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ME_FIRST), + LEVEL_UP_MOVE( 1, MOVE_AQUA_JET), LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 1, MOVE_DISABLE), - LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE(10, MOVE_DISABLE), - LEVEL_UP_MOVE(16, MOVE_CONFUSION), - LEVEL_UP_MOVE(23, MOVE_SCREECH), - LEVEL_UP_MOVE(31, MOVE_PSYCH_UP), - LEVEL_UP_MOVE(44, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(58, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7, MOVE_WATER_GUN), + LEVEL_UP_MOVE(10, MOVE_CONFUSION), + LEVEL_UP_MOVE(13, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(16, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(19, MOVE_DISABLE), + LEVEL_UP_MOVE(22, MOVE_SCREECH), + LEVEL_UP_MOVE(25, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(31, MOVE_SOAK), + LEVEL_UP_MOVE(36, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(41, MOVE_AMNESIA), + LEVEL_UP_MOVE(46, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(51, MOVE_WONDER_ROOM), LEVEL_UP_END }; -static const u16 sMankeyLevelUpLearnset[] = { +static const struct LevelUpMove sMankeyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_COVET), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 9, MOVE_LOW_KICK), - LEVEL_UP_MOVE(15, MOVE_KARATE_CHOP), - LEVEL_UP_MOVE(21, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(27, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(33, MOVE_SEISMIC_TOSS), - LEVEL_UP_MOVE(39, MOVE_CROSS_CHOP), - LEVEL_UP_MOVE(45, MOVE_SCREECH), - LEVEL_UP_MOVE(51, MOVE_THRASH), - LEVEL_UP_END -}; - -static const u16 sPrimeapeLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 5, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE( 8, MOVE_KARATE_CHOP), + LEVEL_UP_MOVE(12, MOVE_PURSUIT), + LEVEL_UP_MOVE(15, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(19, MOVE_SWAGGER), + LEVEL_UP_MOVE(22, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE(26, MOVE_ASSURANCE), + LEVEL_UP_MOVE(29, MOVE_PUNISHMENT), + LEVEL_UP_MOVE(33, MOVE_THRASH), + LEVEL_UP_MOVE(36, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(40, MOVE_SCREECH), + LEVEL_UP_MOVE(43, MOVE_STOMPING_TANTRUM), + LEVEL_UP_MOVE(47, MOVE_OUTRAGE), + LEVEL_UP_MOVE(50, MOVE_FINAL_GAMBIT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPrimeapeLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_RAGE), LEVEL_UP_MOVE( 1, MOVE_RAGE), - LEVEL_UP_MOVE( 9, MOVE_LOW_KICK), - LEVEL_UP_MOVE(15, MOVE_KARATE_CHOP), - LEVEL_UP_MOVE(21, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(27, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(28, MOVE_RAGE), - LEVEL_UP_MOVE(36, MOVE_SEISMIC_TOSS), - LEVEL_UP_MOVE(45, MOVE_CROSS_CHOP), - LEVEL_UP_MOVE(54, MOVE_SCREECH), - LEVEL_UP_MOVE(63, MOVE_THRASH), + LEVEL_UP_MOVE( 1, MOVE_FINAL_GAMBIT), + LEVEL_UP_MOVE( 1, MOVE_FLING), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 5, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE( 8, MOVE_KARATE_CHOP), + LEVEL_UP_MOVE(12, MOVE_PURSUIT), + LEVEL_UP_MOVE(15, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(19, MOVE_SWAGGER), + LEVEL_UP_MOVE(22, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE(26, MOVE_ASSURANCE), + LEVEL_UP_MOVE(30, MOVE_PUNISHMENT), + LEVEL_UP_MOVE(35, MOVE_THRASH), + 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 }; -static const u16 sGrowlitheLevelUpLearnset[] = { +static const struct LevelUpMove sGrowlitheLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_ROAR), - LEVEL_UP_MOVE( 7, MOVE_EMBER), - LEVEL_UP_MOVE(13, MOVE_LEER), - LEVEL_UP_MOVE(19, MOVE_ODOR_SLEUTH), - LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(31, MOVE_FLAME_WHEEL), - LEVEL_UP_MOVE(37, MOVE_HELPING_HAND), - LEVEL_UP_MOVE(43, MOVE_AGILITY), - LEVEL_UP_MOVE(49, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE( 6, MOVE_EMBER), + LEVEL_UP_MOVE( 8, MOVE_LEER), + LEVEL_UP_MOVE(10, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(12, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(17, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(19, MOVE_REVERSAL), + LEVEL_UP_MOVE(21, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(23, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(28, MOVE_FLAME_BURST), + LEVEL_UP_MOVE(30, MOVE_AGILITY), + LEVEL_UP_MOVE(32, MOVE_RETALIATE), + LEVEL_UP_MOVE(34, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(39, MOVE_CRUNCH), + LEVEL_UP_MOVE(41, MOVE_HEAT_WAVE), + LEVEL_UP_MOVE(43, MOVE_OUTRAGE), + LEVEL_UP_MOVE(45, MOVE_FLARE_BLITZ), LEVEL_UP_END }; -static const u16 sArcanineLevelUpLearnset[] = { +static const struct LevelUpMove sArcanineLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_ROAR), - LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), - LEVEL_UP_MOVE(49, MOVE_EXTREME_SPEED), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(34, MOVE_EXTREME_SPEED), LEVEL_UP_END }; -static const u16 sPoliwagLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_BUBBLE), - LEVEL_UP_MOVE( 7, MOVE_HYPNOSIS), - LEVEL_UP_MOVE(13, MOVE_WATER_GUN), - LEVEL_UP_MOVE(19, MOVE_DOUBLE_SLAP), - LEVEL_UP_MOVE(25, MOVE_RAIN_DANCE), - LEVEL_UP_MOVE(31, MOVE_BODY_SLAM), - LEVEL_UP_MOVE(37, MOVE_BELLY_DRUM), - LEVEL_UP_MOVE(43, MOVE_HYDRO_PUMP), +static const struct LevelUpMove sPoliwagLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), + LEVEL_UP_MOVE( 5, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 8, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(11, MOVE_BUBBLE), + LEVEL_UP_MOVE(15, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(18, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(21, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(25, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(28, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(31, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(35, MOVE_WAKE_UP_SLAP), + LEVEL_UP_MOVE(38, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(41, MOVE_MUD_BOMB), LEVEL_UP_END }; -static const u16 sPoliwhirlLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_BUBBLE), +static const struct LevelUpMove sPoliwhirlLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 7, MOVE_HYPNOSIS), - LEVEL_UP_MOVE(13, MOVE_WATER_GUN), - LEVEL_UP_MOVE(19, MOVE_DOUBLE_SLAP), - LEVEL_UP_MOVE(27, MOVE_RAIN_DANCE), - LEVEL_UP_MOVE(35, MOVE_BODY_SLAM), - LEVEL_UP_MOVE(43, MOVE_BELLY_DRUM), - LEVEL_UP_MOVE(51, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 5, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 8, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(11, MOVE_BUBBLE), + LEVEL_UP_MOVE(15, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(18, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(21, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(27, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(32, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(37, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(43, MOVE_WAKE_UP_SLAP), + LEVEL_UP_MOVE(48, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(53, MOVE_MUD_BOMB), LEVEL_UP_END }; -static const u16 sPoliwrathLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), +static const struct LevelUpMove sPoliwrathLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_SUBMISSION), + LEVEL_UP_MOVE( 1, MOVE_SUBMISSION), + LEVEL_UP_MOVE( 1, MOVE_CIRCLE_THROW), + LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), - LEVEL_UP_MOVE( 1, MOVE_SUBMISSION), - LEVEL_UP_MOVE(35, MOVE_SUBMISSION), - LEVEL_UP_MOVE(51, MOVE_MIND_READER), + LEVEL_UP_MOVE(32, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_MOVE(43, MOVE_MIND_READER), + LEVEL_UP_MOVE(53, MOVE_CIRCLE_THROW), LEVEL_UP_END }; -static const u16 sAbraLevelUpLearnset[] = { +static const struct LevelUpMove sAbraLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_END }; -static const u16 sKadabraLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TELEPORT), +static const struct LevelUpMove sKadabraLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_KINESIS), LEVEL_UP_MOVE( 1, MOVE_KINESIS), + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE(16, MOVE_CONFUSION), LEVEL_UP_MOVE(18, MOVE_DISABLE), LEVEL_UP_MOVE(21, MOVE_PSYBEAM), - LEVEL_UP_MOVE(23, MOVE_REFLECT), - LEVEL_UP_MOVE(25, MOVE_RECOVER), - LEVEL_UP_MOVE(30, MOVE_FUTURE_SIGHT), - LEVEL_UP_MOVE(33, MOVE_ROLE_PLAY), - LEVEL_UP_MOVE(36, MOVE_PSYCHIC), - LEVEL_UP_MOVE(43, MOVE_TRICK), + LEVEL_UP_MOVE(23, MOVE_MIRACLE_EYE), + LEVEL_UP_MOVE(26, MOVE_REFLECT), + LEVEL_UP_MOVE(28, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE(31, MOVE_RECOVER), + LEVEL_UP_MOVE(33, MOVE_TELEKINESIS), + LEVEL_UP_MOVE(36, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE(38, MOVE_PSYCHIC), + LEVEL_UP_MOVE(41, MOVE_ROLE_PLAY), + LEVEL_UP_MOVE(43, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(46, MOVE_TRICK), LEVEL_UP_END }; -static const u16 sAlakazamLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TELEPORT), +static const struct LevelUpMove sAlakazamLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_KINESIS), LEVEL_UP_MOVE( 1, MOVE_KINESIS), + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE(16, MOVE_CONFUSION), LEVEL_UP_MOVE(18, MOVE_DISABLE), LEVEL_UP_MOVE(21, MOVE_PSYBEAM), - LEVEL_UP_MOVE(23, MOVE_REFLECT), - LEVEL_UP_MOVE(25, MOVE_RECOVER), - LEVEL_UP_MOVE(30, MOVE_FUTURE_SIGHT), - LEVEL_UP_MOVE(33, MOVE_CALM_MIND), - LEVEL_UP_MOVE(36, MOVE_PSYCHIC), - LEVEL_UP_MOVE(43, MOVE_TRICK), + LEVEL_UP_MOVE(23, MOVE_MIRACLE_EYE), + LEVEL_UP_MOVE(26, MOVE_REFLECT), + LEVEL_UP_MOVE(28, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE(31, MOVE_RECOVER), + LEVEL_UP_MOVE(33, MOVE_TELEKINESIS), + LEVEL_UP_MOVE(36, MOVE_ALLY_SWITCH), + LEVEL_UP_MOVE(38, MOVE_PSYCHIC), + LEVEL_UP_MOVE(41, MOVE_CALM_MIND), + LEVEL_UP_MOVE(43, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(46, MOVE_TRICK), LEVEL_UP_END }; -static const u16 sMachopLevelUpLearnset[] = { +static const struct LevelUpMove sMachopLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(13, MOVE_KARATE_CHOP), - LEVEL_UP_MOVE(19, MOVE_SEISMIC_TOSS), - LEVEL_UP_MOVE(22, MOVE_FORESIGHT), - LEVEL_UP_MOVE(25, MOVE_REVENGE), - LEVEL_UP_MOVE(31, MOVE_VITAL_THROW), - LEVEL_UP_MOVE(37, MOVE_SUBMISSION), - LEVEL_UP_MOVE(40, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE( 3, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 7, MOVE_KARATE_CHOP), + LEVEL_UP_MOVE( 9, MOVE_FORESIGHT), + LEVEL_UP_MOVE(13, MOVE_LOW_SWEEP), + LEVEL_UP_MOVE(15, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(19, MOVE_REVENGE), + LEVEL_UP_MOVE(21, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(25, MOVE_VITAL_THROW), + LEVEL_UP_MOVE(27, MOVE_WAKE_UP_SLAP), + LEVEL_UP_MOVE(31, MOVE_DUAL_CHOP), + LEVEL_UP_MOVE(33, MOVE_SUBMISSION), + LEVEL_UP_MOVE(37, MOVE_BULK_UP), + LEVEL_UP_MOVE(39, MOVE_CROSS_CHOP), LEVEL_UP_MOVE(43, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(49, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_MOVE(45, MOVE_DYNAMIC_PUNCH), LEVEL_UP_END }; -static const u16 sMachokeLevelUpLearnset[] = { +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( 7, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(13, MOVE_KARATE_CHOP), - LEVEL_UP_MOVE(19, MOVE_SEISMIC_TOSS), - LEVEL_UP_MOVE(22, MOVE_FORESIGHT), - LEVEL_UP_MOVE(25, MOVE_REVENGE), - LEVEL_UP_MOVE(33, MOVE_VITAL_THROW), - LEVEL_UP_MOVE(41, MOVE_SUBMISSION), - LEVEL_UP_MOVE(46, MOVE_CROSS_CHOP), - LEVEL_UP_MOVE(51, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(59, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_KARATE_CHOP), + LEVEL_UP_MOVE( 3, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 7, MOVE_KARATE_CHOP), + LEVEL_UP_MOVE( 9, MOVE_FORESIGHT), + LEVEL_UP_MOVE(13, MOVE_LOW_SWEEP), + LEVEL_UP_MOVE(15, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(19, MOVE_REVENGE), + LEVEL_UP_MOVE(21, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(25, MOVE_VITAL_THROW), + LEVEL_UP_MOVE(27, MOVE_WAKE_UP_SLAP), + LEVEL_UP_MOVE(33, MOVE_DUAL_CHOP), + LEVEL_UP_MOVE(37, MOVE_SUBMISSION), + LEVEL_UP_MOVE(43, MOVE_BULK_UP), + LEVEL_UP_MOVE(47, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE(53, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(57, MOVE_DYNAMIC_PUNCH), LEVEL_UP_END }; -static const u16 sMachampLevelUpLearnset[] = { +static const struct LevelUpMove sMachampLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_STRENGTH), + LEVEL_UP_MOVE( 1, MOVE_STRENGTH), + 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( 7, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(13, MOVE_KARATE_CHOP), - LEVEL_UP_MOVE(19, MOVE_SEISMIC_TOSS), - LEVEL_UP_MOVE(22, MOVE_FORESIGHT), - LEVEL_UP_MOVE(25, MOVE_REVENGE), - LEVEL_UP_MOVE(33, MOVE_VITAL_THROW), - LEVEL_UP_MOVE(41, MOVE_SUBMISSION), - LEVEL_UP_MOVE(46, MOVE_CROSS_CHOP), - LEVEL_UP_MOVE(51, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(59, MOVE_DYNAMIC_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_KARATE_CHOP), + LEVEL_UP_MOVE( 3, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 7, MOVE_KARATE_CHOP), + LEVEL_UP_MOVE( 9, MOVE_FORESIGHT), + LEVEL_UP_MOVE(13, MOVE_LOW_SWEEP), + LEVEL_UP_MOVE(15, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(19, MOVE_REVENGE), + LEVEL_UP_MOVE(21, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(25, MOVE_VITAL_THROW), + LEVEL_UP_MOVE(27, MOVE_WAKE_UP_SLAP), + LEVEL_UP_MOVE(33, MOVE_DUAL_CHOP), + LEVEL_UP_MOVE(37, MOVE_SUBMISSION), + LEVEL_UP_MOVE(43, MOVE_BULK_UP), + LEVEL_UP_MOVE(47, MOVE_CROSS_CHOP), + LEVEL_UP_MOVE(53, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(57, MOVE_DYNAMIC_PUNCH), LEVEL_UP_END }; -static const u16 sBellsproutLevelUpLearnset[] = { +static const struct LevelUpMove sBellsproutLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), - LEVEL_UP_MOVE( 6, MOVE_GROWTH), + LEVEL_UP_MOVE( 7, MOVE_GROWTH), LEVEL_UP_MOVE(11, MOVE_WRAP), - LEVEL_UP_MOVE(15, MOVE_SLEEP_POWDER), - LEVEL_UP_MOVE(17, MOVE_POISON_POWDER), - LEVEL_UP_MOVE(19, MOVE_STUN_SPORE), + 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(30, MOVE_SWEET_SCENT), - LEVEL_UP_MOVE(37, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE(45, MOVE_SLAM), + 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(50, MOVE_WRING_OUT), LEVEL_UP_END }; -static const u16 sWeepinbellLevelUpLearnset[] = { +static const struct LevelUpMove sWeepinbellLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_GROWTH), LEVEL_UP_MOVE( 1, MOVE_WRAP), - LEVEL_UP_MOVE( 6, MOVE_GROWTH), + LEVEL_UP_MOVE( 7, MOVE_GROWTH), LEVEL_UP_MOVE(11, MOVE_WRAP), - LEVEL_UP_MOVE(15, MOVE_SLEEP_POWDER), - LEVEL_UP_MOVE(17, MOVE_POISON_POWDER), - LEVEL_UP_MOVE(19, MOVE_STUN_SPORE), + 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(33, MOVE_SWEET_SCENT), - LEVEL_UP_MOVE(42, MOVE_RAZOR_LEAF), + 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_WRING_OUT), LEVEL_UP_END }; -static const u16 sVictreebelLevelUpLearnset[] = { +static const struct LevelUpMove sVictreebelLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_LEAF_TORNADO), + LEVEL_UP_MOVE( 1, MOVE_LEAF_TORNADO), + LEVEL_UP_MOVE( 1, MOVE_STOCKPILE), + LEVEL_UP_MOVE( 1, MOVE_SWALLOW), + LEVEL_UP_MOVE( 1, MOVE_SPIT_UP), LEVEL_UP_MOVE( 1, MOVE_VINE_WHIP), LEVEL_UP_MOVE( 1, MOVE_SLEEP_POWDER), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE(32, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(44, MOVE_LEAF_BLADE), LEVEL_UP_END }; -static const u16 sTentacoolLevelUpLearnset[] = { +static const struct LevelUpMove sTentacoolLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), - LEVEL_UP_MOVE( 6, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(12, MOVE_CONSTRICT), - LEVEL_UP_MOVE(19, MOVE_ACID), + LEVEL_UP_MOVE( 4, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 7, MOVE_CONSTRICT), + LEVEL_UP_MOVE(10, MOVE_ACID), + LEVEL_UP_MOVE(13, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(16, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(19, MOVE_WRAP), + LEVEL_UP_MOVE(22, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(25, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE(30, MOVE_WRAP), - LEVEL_UP_MOVE(36, MOVE_BARRIER), - LEVEL_UP_MOVE(43, MOVE_SCREECH), - LEVEL_UP_MOVE(49, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(28, MOVE_BARRIER), + LEVEL_UP_MOVE(31, MOVE_POISON_JAB), + LEVEL_UP_MOVE(34, MOVE_BRINE), + LEVEL_UP_MOVE(37, MOVE_SCREECH), + LEVEL_UP_MOVE(40, MOVE_HEX), + LEVEL_UP_MOVE(43, MOVE_SLUDGE_WAVE), + LEVEL_UP_MOVE(46, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(49, MOVE_WRING_OUT), LEVEL_UP_END }; -static const u16 sTentacruelLevelUpLearnset[] = { +static const struct LevelUpMove sTentacruelLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_REFLECT_TYPE), + LEVEL_UP_MOVE( 1, MOVE_WRING_OUT), LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), - LEVEL_UP_MOVE( 6, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(12, MOVE_CONSTRICT), - LEVEL_UP_MOVE(19, MOVE_ACID), + LEVEL_UP_MOVE( 1, MOVE_ACID), + LEVEL_UP_MOVE( 4, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 7, MOVE_CONSTRICT), + LEVEL_UP_MOVE(10, MOVE_ACID), + LEVEL_UP_MOVE(13, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(16, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(19, MOVE_WRAP), + LEVEL_UP_MOVE(22, MOVE_ACID_SPRAY), LEVEL_UP_MOVE(25, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE(30, MOVE_WRAP), - LEVEL_UP_MOVE(38, MOVE_BARRIER), - LEVEL_UP_MOVE(47, MOVE_SCREECH), - LEVEL_UP_MOVE(55, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(28, MOVE_BARRIER), + LEVEL_UP_MOVE(32, MOVE_POISON_JAB), + LEVEL_UP_MOVE(36, MOVE_BRINE), + LEVEL_UP_MOVE(40, MOVE_SCREECH), + LEVEL_UP_MOVE(44, MOVE_HEX), + LEVEL_UP_MOVE(48, MOVE_SLUDGE_WAVE), + LEVEL_UP_MOVE(52, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(56, MOVE_WRING_OUT), LEVEL_UP_END }; -static const u16 sGeodudeLevelUpLearnset[] = { +static const struct LevelUpMove sGeodudeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE( 6, MOVE_MUD_SPORT), - LEVEL_UP_MOVE(11, MOVE_ROCK_THROW), - LEVEL_UP_MOVE(16, MOVE_MAGNITUDE), - LEVEL_UP_MOVE(21, MOVE_SELF_DESTRUCT), - LEVEL_UP_MOVE(26, MOVE_ROLLOUT), - LEVEL_UP_MOVE(31, MOVE_ROCK_BLAST), - LEVEL_UP_MOVE(36, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE(41, MOVE_EXPLOSION), - LEVEL_UP_MOVE(46, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 4, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 6, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(10, MOVE_ROLLOUT), + LEVEL_UP_MOVE(12, MOVE_MAGNITUDE), + 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(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 u16 sGravelerLevelUpLearnset[] = { +static const struct LevelUpMove sGravelerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), - LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), - LEVEL_UP_MOVE( 6, MOVE_MUD_SPORT), - LEVEL_UP_MOVE(11, MOVE_ROCK_THROW), - LEVEL_UP_MOVE(16, MOVE_MAGNITUDE), - LEVEL_UP_MOVE(21, MOVE_SELF_DESTRUCT), - LEVEL_UP_MOVE(29, MOVE_ROLLOUT), - LEVEL_UP_MOVE(37, MOVE_ROCK_BLAST), - LEVEL_UP_MOVE(45, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE(53, MOVE_EXPLOSION), - LEVEL_UP_MOVE(62, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE( 4, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 6, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(10, MOVE_ROLLOUT), + LEVEL_UP_MOVE(12, MOVE_MAGNITUDE), + 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 }; -static const u16 sGolemLevelUpLearnset[] = { +static const struct LevelUpMove sGolemLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), - LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), - LEVEL_UP_MOVE( 6, MOVE_MUD_SPORT), - LEVEL_UP_MOVE(11, MOVE_ROCK_THROW), - LEVEL_UP_MOVE(16, MOVE_MAGNITUDE), - LEVEL_UP_MOVE(21, MOVE_SELF_DESTRUCT), - LEVEL_UP_MOVE(29, MOVE_ROLLOUT), - LEVEL_UP_MOVE(37, MOVE_ROCK_BLAST), - LEVEL_UP_MOVE(45, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE(53, MOVE_EXPLOSION), - LEVEL_UP_MOVE(62, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE( 4, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 6, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(10, MOVE_STEAMROLLER), + LEVEL_UP_MOVE(12, MOVE_MAGNITUDE), + 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_MOVE(60, MOVE_HEAVY_SLAM), LEVEL_UP_END }; -static const u16 sPonytaLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 5, MOVE_GROWL), - LEVEL_UP_MOVE( 9, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE(14, MOVE_EMBER), - LEVEL_UP_MOVE(19, MOVE_STOMP), - LEVEL_UP_MOVE(25, MOVE_FIRE_SPIN), - LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(38, MOVE_AGILITY), - LEVEL_UP_MOVE(45, MOVE_BOUNCE), - LEVEL_UP_MOVE(53, MOVE_FIRE_BLAST), - LEVEL_UP_END -}; - -static const u16 sRapidashLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), +static const struct LevelUpMove sPonytaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 9, MOVE_EMBER), + LEVEL_UP_MOVE(13, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(17, MOVE_STOMP), + LEVEL_UP_MOVE(21, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(25, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(29, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(33, MOVE_INFERNO), + LEVEL_UP_MOVE(37, MOVE_AGILITY), + LEVEL_UP_MOVE(41, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(45, MOVE_BOUNCE), + LEVEL_UP_MOVE(49, MOVE_FLARE_BLITZ), + LEVEL_UP_END +}; + +static const struct LevelUpMove sRapidashLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_POISON_JAB), + LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE( 5, MOVE_GROWL), - LEVEL_UP_MOVE( 9, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE(14, MOVE_EMBER), - LEVEL_UP_MOVE(19, MOVE_STOMP), + LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 9, MOVE_EMBER), + LEVEL_UP_MOVE(13, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(17, MOVE_STOMP), + LEVEL_UP_MOVE(21, MOVE_FLAME_CHARGE), LEVEL_UP_MOVE(25, MOVE_FIRE_SPIN), - LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(38, MOVE_AGILITY), - LEVEL_UP_MOVE(40, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE(50, MOVE_BOUNCE), - LEVEL_UP_MOVE(63, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(29, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(33, MOVE_INFERNO), + LEVEL_UP_MOVE(37, MOVE_AGILITY), + LEVEL_UP_MOVE(41, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(45, MOVE_BOUNCE), + LEVEL_UP_MOVE(49, MOVE_FLARE_BLITZ), LEVEL_UP_END }; -static const u16 sSlowpokeLevelUpLearnset[] = { +static const struct LevelUpMove sSlowpokeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CURSE), LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 6, MOVE_GROWL), - LEVEL_UP_MOVE(15, MOVE_WATER_GUN), - LEVEL_UP_MOVE(20, MOVE_CONFUSION), - LEVEL_UP_MOVE(29, MOVE_DISABLE), - LEVEL_UP_MOVE(34, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 5, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_WATER_GUN), + LEVEL_UP_MOVE(14, MOVE_CONFUSION), + LEVEL_UP_MOVE(19, MOVE_DISABLE), + LEVEL_UP_MOVE(23, MOVE_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(32, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(36, MOVE_SLACK_OFF), + LEVEL_UP_MOVE(41, MOVE_AMNESIA), + LEVEL_UP_MOVE(45, MOVE_PSYCHIC), + LEVEL_UP_MOVE(49, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(54, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(58, MOVE_HEAL_PULSE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSlowbroLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE( 1, MOVE_CURSE), + LEVEL_UP_MOVE( 1, MOVE_YAWN), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 5, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_WATER_GUN), + LEVEL_UP_MOVE(14, MOVE_CONFUSION), + LEVEL_UP_MOVE(19, MOVE_DISABLE), + LEVEL_UP_MOVE(23, MOVE_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(32, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(36, MOVE_SLACK_OFF), LEVEL_UP_MOVE(43, MOVE_AMNESIA), - LEVEL_UP_MOVE(48, MOVE_PSYCHIC), + LEVEL_UP_MOVE(49, MOVE_PSYCHIC), + LEVEL_UP_MOVE(55, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(62, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(68, MOVE_HEAL_PULSE), LEVEL_UP_END }; -static const u16 sSlowbroLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_CURSE), - LEVEL_UP_MOVE( 1, MOVE_YAWN), +static const struct LevelUpMove sMagnemiteLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 6, MOVE_GROWL), - LEVEL_UP_MOVE(15, MOVE_WATER_GUN), - LEVEL_UP_MOVE(20, MOVE_CONFUSION), - LEVEL_UP_MOVE(29, MOVE_DISABLE), - LEVEL_UP_MOVE(34, MOVE_HEADBUTT), - LEVEL_UP_MOVE(37, MOVE_WITHDRAW), - LEVEL_UP_MOVE(46, MOVE_AMNESIA), - LEVEL_UP_MOVE(54, MOVE_PSYCHIC), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 5, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 7, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(11, MOVE_MAGNET_BOMB), + LEVEL_UP_MOVE(13, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(17, MOVE_SONIC_BOOM), + LEVEL_UP_MOVE(19, MOVE_SPARK), + LEVEL_UP_MOVE(23, MOVE_MIRROR_SHOT), + LEVEL_UP_MOVE(25, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(29, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(31, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(35, MOVE_SCREECH), + LEVEL_UP_MOVE(37, MOVE_DISCHARGE), + LEVEL_UP_MOVE(41, MOVE_LOCK_ON), + LEVEL_UP_MOVE(43, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE(47, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(49, MOVE_ZAP_CANNON), LEVEL_UP_END }; -static const u16 sMagnemiteLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_METAL_SOUND), - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 6, MOVE_THUNDER_SHOCK), - LEVEL_UP_MOVE(11, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(16, MOVE_SONIC_BOOM), - LEVEL_UP_MOVE(21, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE(26, MOVE_SPARK), - LEVEL_UP_MOVE(32, MOVE_LOCK_ON), - LEVEL_UP_MOVE(38, MOVE_SWIFT), - LEVEL_UP_MOVE(44, MOVE_SCREECH), - LEVEL_UP_MOVE(50, MOVE_ZAP_CANNON), - LEVEL_UP_END -}; - -static const u16 sMagnetonLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_METAL_SOUND), +static const struct LevelUpMove sMagnetonLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_ZAP_CANNON), + 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( 1, MOVE_SUPERSONIC), - LEVEL_UP_MOVE( 6, MOVE_THUNDER_SHOCK), - LEVEL_UP_MOVE(11, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(16, MOVE_SONIC_BOOM), - LEVEL_UP_MOVE(21, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE(26, MOVE_SPARK), - LEVEL_UP_MOVE(35, MOVE_LOCK_ON), - LEVEL_UP_MOVE(44, MOVE_TRI_ATTACK), - LEVEL_UP_MOVE(53, MOVE_SCREECH), - LEVEL_UP_MOVE(62, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 5, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 7, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(11, MOVE_MAGNET_BOMB), + LEVEL_UP_MOVE(13, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(17, MOVE_SONIC_BOOM), + LEVEL_UP_MOVE(19, MOVE_SPARK), + LEVEL_UP_MOVE(23, MOVE_MIRROR_SHOT), + LEVEL_UP_MOVE(25, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(29, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(33, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(39, MOVE_SCREECH), + LEVEL_UP_MOVE(43, MOVE_DISCHARGE), + LEVEL_UP_MOVE(49, MOVE_LOCK_ON), + LEVEL_UP_MOVE(53, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE(59, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(63, MOVE_ZAP_CANNON), LEVEL_UP_END }; -static const u16 sFarfetchdLevelUpLearnset[] = { +static const struct LevelUpMove sFarfetchdLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BRAVE_BIRD), + LEVEL_UP_MOVE( 1, MOVE_POISON_JAB), LEVEL_UP_MOVE( 1, MOVE_PECK), - LEVEL_UP_MOVE( 6, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(11, MOVE_LEER), - LEVEL_UP_MOVE(16, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE(21, MOVE_KNOCK_OFF), - LEVEL_UP_MOVE(26, MOVE_FURY_CUTTER), - LEVEL_UP_MOVE(31, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE(36, MOVE_AGILITY), - LEVEL_UP_MOVE(41, MOVE_SLASH), - LEVEL_UP_MOVE(46, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 7, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(13, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(19, MOVE_SLASH), + LEVEL_UP_MOVE(21, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(25, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(31, MOVE_AGILITY), + LEVEL_UP_MOVE(33, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(37, MOVE_ACROBATICS), + LEVEL_UP_MOVE(43, MOVE_FEINT), + LEVEL_UP_MOVE(45, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(49, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(55, MOVE_BRAVE_BIRD), LEVEL_UP_END }; -static const u16 sDoduoLevelUpLearnset[] = { +static const struct LevelUpMove sDoduoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 9, MOVE_PURSUIT), - LEVEL_UP_MOVE(13, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE(21, MOVE_TRI_ATTACK), - LEVEL_UP_MOVE(25, MOVE_RAGE), - LEVEL_UP_MOVE(33, MOVE_UPROAR), - LEVEL_UP_MOVE(37, MOVE_DRILL_PECK), - LEVEL_UP_MOVE(45, MOVE_AGILITY), + LEVEL_UP_MOVE( 5, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 8, MOVE_RAGE), + LEVEL_UP_MOVE(12, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(15, MOVE_PURSUIT), + LEVEL_UP_MOVE(19, MOVE_PLUCK), + LEVEL_UP_MOVE(22, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(26, MOVE_AGILITY), + LEVEL_UP_MOVE(29, MOVE_UPROAR), + LEVEL_UP_MOVE(33, MOVE_ACUPRESSURE), + LEVEL_UP_MOVE(36, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(40, MOVE_JUMP_KICK), + LEVEL_UP_MOVE(43, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(47, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(50, MOVE_THRASH), LEVEL_UP_END }; -static const u16 sDodrioLevelUpLearnset[] = { +static const struct LevelUpMove sDodrioLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TRI_ATTACK), LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_PURSUIT), - LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE( 9, MOVE_PURSUIT), - LEVEL_UP_MOVE(13, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE(21, MOVE_TRI_ATTACK), - LEVEL_UP_MOVE(25, MOVE_RAGE), - LEVEL_UP_MOVE(38, MOVE_UPROAR), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_RAGE), + LEVEL_UP_MOVE( 5, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 8, MOVE_RAGE), + LEVEL_UP_MOVE(12, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(15, MOVE_PURSUIT), + LEVEL_UP_MOVE(19, MOVE_PLUCK), + LEVEL_UP_MOVE(22, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(26, MOVE_AGILITY), + LEVEL_UP_MOVE(29, MOVE_UPROAR), + LEVEL_UP_MOVE(34, MOVE_ACUPRESSURE), + LEVEL_UP_MOVE(38, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(43, MOVE_JUMP_KICK), LEVEL_UP_MOVE(47, MOVE_DRILL_PECK), - LEVEL_UP_MOVE(60, MOVE_AGILITY), + LEVEL_UP_MOVE(52, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(56, MOVE_THRASH), LEVEL_UP_END }; -static const u16 sSeelLevelUpLearnset[] = { +static const struct LevelUpMove sSeelLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), - LEVEL_UP_MOVE( 9, MOVE_GROWL), - LEVEL_UP_MOVE(17, MOVE_ICY_WIND), - LEVEL_UP_MOVE(21, MOVE_AURORA_BEAM), - LEVEL_UP_MOVE(29, MOVE_REST), + LEVEL_UP_MOVE( 3, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_WATER_SPORT), + 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_ICE_BEAM), - LEVEL_UP_MOVE(49, MOVE_SAFEGUARD), + 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_HAIL), LEVEL_UP_END }; -static const u16 sDewgongLevelUpLearnset[] = { +static const struct LevelUpMove sDewgongLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_SHEER_COLD), + LEVEL_UP_MOVE( 1, MOVE_SHEER_COLD), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_SIGNAL_BEAM), LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), - LEVEL_UP_MOVE( 1, MOVE_AURORA_BEAM), - LEVEL_UP_MOVE( 9, MOVE_GROWL), - LEVEL_UP_MOVE(17, MOVE_ICY_WIND), - LEVEL_UP_MOVE(21, MOVE_AURORA_BEAM), - LEVEL_UP_MOVE(29, MOVE_REST), - LEVEL_UP_MOVE(34, MOVE_SHEER_COLD), - LEVEL_UP_MOVE(42, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(51, MOVE_ICE_BEAM), - LEVEL_UP_MOVE(64, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 3, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_SIGNAL_BEAM), + 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(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_HAIL), LEVEL_UP_END }; -static const u16 sGrimerLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), +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( 8, MOVE_DISABLE), - LEVEL_UP_MOVE(13, MOVE_SLUDGE), - LEVEL_UP_MOVE(19, MOVE_MINIMIZE), - LEVEL_UP_MOVE(26, MOVE_SCREECH), - LEVEL_UP_MOVE(34, MOVE_ACID_ARMOR), - LEVEL_UP_MOVE(43, MOVE_SLUDGE_BOMB), - LEVEL_UP_MOVE(53, MOVE_MEMENTO), + 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_BOMB), + LEVEL_UP_MOVE(21, MOVE_MINIMIZE), + LEVEL_UP_MOVE(26, MOVE_FLING), + 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 u16 sMukLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), +static const struct LevelUpMove sMukLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_VENOM_DRENCH), + LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 4, MOVE_HARDEN), - LEVEL_UP_MOVE( 8, MOVE_DISABLE), - LEVEL_UP_MOVE(13, MOVE_SLUDGE), - LEVEL_UP_MOVE(19, MOVE_MINIMIZE), - LEVEL_UP_MOVE(26, MOVE_SCREECH), - LEVEL_UP_MOVE(34, MOVE_ACID_ARMOR), - LEVEL_UP_MOVE(47, MOVE_SLUDGE_BOMB), - LEVEL_UP_MOVE(61, MOVE_MEMENTO), + 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_BOMB), + LEVEL_UP_MOVE(21, MOVE_MINIMIZE), + LEVEL_UP_MOVE(26, MOVE_FLING), + 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 }; -static const u16 sShellderLevelUpLearnset[] = { +static const struct LevelUpMove sShellderLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), - LEVEL_UP_MOVE( 9, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(17, MOVE_AURORA_BEAM), - LEVEL_UP_MOVE(25, MOVE_PROTECT), - LEVEL_UP_MOVE(33, MOVE_LEER), - LEVEL_UP_MOVE(41, MOVE_CLAMP), - LEVEL_UP_MOVE(49, MOVE_ICE_BEAM), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 4, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 8, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(13, MOVE_ICICLE_SPEAR), + LEVEL_UP_MOVE(16, MOVE_PROTECT), + LEVEL_UP_MOVE(20, MOVE_LEER), + LEVEL_UP_MOVE(25, MOVE_CLAMP), + LEVEL_UP_MOVE(28, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(32, MOVE_RAZOR_SHELL), + LEVEL_UP_MOVE(37, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(40, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(44, MOVE_BRINE), + LEVEL_UP_MOVE(49, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(52, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(56, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE(61, MOVE_HYDRO_PUMP), LEVEL_UP_END }; -static const u16 sCloysterLevelUpLearnset[] = { +static const struct LevelUpMove sCloysterLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 1, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE( 1, MOVE_TOXIC_SPIKES), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), - LEVEL_UP_MOVE( 1, MOVE_AURORA_BEAM), LEVEL_UP_MOVE( 1, MOVE_PROTECT), - LEVEL_UP_MOVE(33, MOVE_SPIKES), - LEVEL_UP_MOVE(41, MOVE_SPIKE_CANNON), + LEVEL_UP_MOVE( 1, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(13, MOVE_SPIKE_CANNON), + LEVEL_UP_MOVE(28, MOVE_SPIKES), + LEVEL_UP_MOVE(50, MOVE_ICICLE_CRASH), LEVEL_UP_END }; -static const u16 sGastlyLevelUpLearnset[] = { +static const struct LevelUpMove sGastlyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_LICK), - LEVEL_UP_MOVE( 8, MOVE_SPITE), - LEVEL_UP_MOVE(13, MOVE_MEAN_LOOK), - LEVEL_UP_MOVE(16, MOVE_CURSE), - LEVEL_UP_MOVE(21, MOVE_NIGHT_SHADE), - LEVEL_UP_MOVE(28, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 5, MOVE_SPITE), + LEVEL_UP_MOVE( 8, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(12, MOVE_CURSE), + LEVEL_UP_MOVE(15, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(19, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(22, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(26, MOVE_PAYBACK), + LEVEL_UP_MOVE(29, MOVE_SHADOW_BALL), LEVEL_UP_MOVE(33, MOVE_DREAM_EATER), - LEVEL_UP_MOVE(36, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(36, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(40, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(43, MOVE_HEX), + LEVEL_UP_MOVE(47, MOVE_NIGHTMARE), LEVEL_UP_END }; -static const u16 sHaunterLevelUpLearnset[] = { +static const struct LevelUpMove sHaunterLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 1, MOVE_SPITE), - LEVEL_UP_MOVE( 8, MOVE_SPITE), - LEVEL_UP_MOVE(13, MOVE_MEAN_LOOK), - LEVEL_UP_MOVE(16, MOVE_CURSE), - LEVEL_UP_MOVE(21, MOVE_NIGHT_SHADE), - LEVEL_UP_MOVE(25, MOVE_SHADOW_PUNCH), - LEVEL_UP_MOVE(31, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 5, MOVE_SPITE), + LEVEL_UP_MOVE( 8, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(12, MOVE_CURSE), + LEVEL_UP_MOVE(15, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(19, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(22, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(28, MOVE_PAYBACK), + LEVEL_UP_MOVE(33, MOVE_SHADOW_BALL), LEVEL_UP_MOVE(39, MOVE_DREAM_EATER), - LEVEL_UP_MOVE(48, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(44, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(50, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(55, MOVE_HEX), + LEVEL_UP_MOVE(61, MOVE_NIGHTMARE), LEVEL_UP_END }; -static const u16 sGengarLevelUpLearnset[] = { +static const struct LevelUpMove sGengarLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_PUNCH), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 1, MOVE_SPITE), - LEVEL_UP_MOVE( 8, MOVE_SPITE), - LEVEL_UP_MOVE(13, MOVE_MEAN_LOOK), - LEVEL_UP_MOVE(16, MOVE_CURSE), - LEVEL_UP_MOVE(21, MOVE_NIGHT_SHADE), - LEVEL_UP_MOVE(25, MOVE_SHADOW_PUNCH), - LEVEL_UP_MOVE(31, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 5, MOVE_SPITE), + LEVEL_UP_MOVE( 8, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(12, MOVE_CURSE), + LEVEL_UP_MOVE(15, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(19, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(22, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(28, MOVE_PAYBACK), + LEVEL_UP_MOVE(33, MOVE_SHADOW_BALL), LEVEL_UP_MOVE(39, MOVE_DREAM_EATER), - LEVEL_UP_MOVE(48, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(44, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(50, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(55, MOVE_HEX), + LEVEL_UP_MOVE(61, MOVE_NIGHTMARE), LEVEL_UP_END }; -static const u16 sOnixLevelUpLearnset[] = { +static const struct LevelUpMove sOnixLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_SCREECH), - LEVEL_UP_MOVE( 9, MOVE_BIND), - LEVEL_UP_MOVE(13, MOVE_ROCK_THROW), - LEVEL_UP_MOVE(21, MOVE_HARDEN), - LEVEL_UP_MOVE(25, MOVE_RAGE), - LEVEL_UP_MOVE(33, MOVE_SANDSTORM), - LEVEL_UP_MOVE(37, MOVE_SLAM), - LEVEL_UP_MOVE(45, MOVE_IRON_TAIL), - LEVEL_UP_MOVE(49, MOVE_SAND_TOMB), - LEVEL_UP_MOVE(57, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_BIND), + LEVEL_UP_MOVE( 4, MOVE_CURSE), + LEVEL_UP_MOVE( 7, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(10, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(13, MOVE_RAGE), + LEVEL_UP_MOVE(16, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(19, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(20, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(22, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(25, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(28, MOVE_SLAM), + LEVEL_UP_MOVE(31, MOVE_SCREECH), + LEVEL_UP_MOVE(34, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(37, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(40, MOVE_IRON_TAIL), + LEVEL_UP_MOVE(43, MOVE_DIG), + LEVEL_UP_MOVE(46, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(49, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(52, MOVE_SANDSTORM), LEVEL_UP_END }; -static const u16 sDrowzeeLevelUpLearnset[] = { +static const struct LevelUpMove sDrowzeeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), - LEVEL_UP_MOVE(10, MOVE_DISABLE), - LEVEL_UP_MOVE(18, MOVE_CONFUSION), - LEVEL_UP_MOVE(25, MOVE_HEADBUTT), - LEVEL_UP_MOVE(31, MOVE_POISON_GAS), - LEVEL_UP_MOVE(36, MOVE_MEDITATE), - LEVEL_UP_MOVE(40, MOVE_PSYCHIC), - LEVEL_UP_MOVE(43, MOVE_PSYCH_UP), - LEVEL_UP_MOVE(45, MOVE_FUTURE_SIGHT), + 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_MEDITATE), + LEVEL_UP_MOVE(25, MOVE_PSYBEAM), + LEVEL_UP_MOVE(29, MOVE_WAKE_UP_SLAP), + LEVEL_UP_MOVE(33, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(37, MOVE_SYNCHRONOISE), + LEVEL_UP_MOVE(41, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(45, MOVE_SWAGGER), + LEVEL_UP_MOVE(49, MOVE_PSYCHIC), + LEVEL_UP_MOVE(53, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(57, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(61, MOVE_FUTURE_SIGHT), LEVEL_UP_END }; -static const u16 sHypnoLevelUpLearnset[] = { +static const struct LevelUpMove sHypnoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE( 1, MOVE_NIGHTMARE), + LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_DISABLE), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), - LEVEL_UP_MOVE(10, MOVE_DISABLE), - LEVEL_UP_MOVE(18, MOVE_CONFUSION), - LEVEL_UP_MOVE(25, MOVE_HEADBUTT), - LEVEL_UP_MOVE(33, MOVE_POISON_GAS), - LEVEL_UP_MOVE(40, MOVE_MEDITATE), + 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_MEDITATE), + LEVEL_UP_MOVE(25, MOVE_PSYBEAM), + LEVEL_UP_MOVE(29, MOVE_WAKE_UP_SLAP), + LEVEL_UP_MOVE(33, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(37, MOVE_SYNCHRONOISE), + LEVEL_UP_MOVE(41, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(45, MOVE_SWAGGER), LEVEL_UP_MOVE(49, MOVE_PSYCHIC), - LEVEL_UP_MOVE(55, MOVE_PSYCH_UP), - LEVEL_UP_MOVE(60, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(53, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(57, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(61, MOVE_FUTURE_SIGHT), LEVEL_UP_END }; -static const u16 sKrabbyLevelUpLearnset[] = { +static const struct LevelUpMove sKrabbyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), - LEVEL_UP_MOVE( 5, MOVE_LEER), - LEVEL_UP_MOVE(12, MOVE_VICE_GRIP), - LEVEL_UP_MOVE(16, MOVE_HARDEN), - LEVEL_UP_MOVE(23, MOVE_MUD_SHOT), - LEVEL_UP_MOVE(27, MOVE_STOMP), - LEVEL_UP_MOVE(34, MOVE_GUILLOTINE), - LEVEL_UP_MOVE(41, MOVE_PROTECT), - LEVEL_UP_MOVE(45, MOVE_CRABHAMMER), + LEVEL_UP_MOVE( 5, MOVE_VICE_GRIP), + LEVEL_UP_MOVE( 9, MOVE_LEER), + LEVEL_UP_MOVE(11, MOVE_HARDEN), + LEVEL_UP_MOVE(15, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(19, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(21, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(25, MOVE_STOMP), + LEVEL_UP_MOVE(29, MOVE_PROTECT), + LEVEL_UP_MOVE(31, MOVE_GUILLOTINE), + LEVEL_UP_MOVE(35, MOVE_SLAM), + LEVEL_UP_MOVE(39, MOVE_BRINE), + LEVEL_UP_MOVE(41, MOVE_CRABHAMMER), + LEVEL_UP_MOVE(45, MOVE_FLAIL), LEVEL_UP_END }; -static const u16 sKinglerLevelUpLearnset[] = { +static const struct LevelUpMove sKinglerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), - LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_VICE_GRIP), - LEVEL_UP_MOVE( 5, MOVE_LEER), - LEVEL_UP_MOVE(12, MOVE_VICE_GRIP), - LEVEL_UP_MOVE(16, MOVE_HARDEN), - LEVEL_UP_MOVE(23, MOVE_MUD_SHOT), - LEVEL_UP_MOVE(27, MOVE_STOMP), - LEVEL_UP_MOVE(38, MOVE_GUILLOTINE), - LEVEL_UP_MOVE(49, MOVE_PROTECT), - LEVEL_UP_MOVE(57, MOVE_CRABHAMMER), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 5, MOVE_VICE_GRIP), + LEVEL_UP_MOVE( 9, MOVE_LEER), + LEVEL_UP_MOVE(11, MOVE_HARDEN), + LEVEL_UP_MOVE(15, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(19, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(21, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(25, MOVE_STOMP), + LEVEL_UP_MOVE(32, MOVE_PROTECT), + LEVEL_UP_MOVE(37, MOVE_GUILLOTINE), + LEVEL_UP_MOVE(44, MOVE_SLAM), + LEVEL_UP_MOVE(51, MOVE_BRINE), + LEVEL_UP_MOVE(56, MOVE_CRABHAMMER), + LEVEL_UP_MOVE(63, MOVE_FLAIL), LEVEL_UP_END }; -static const u16 sVoltorbLevelUpLearnset[] = { +static const struct LevelUpMove sVoltorbLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 8, MOVE_SCREECH), - LEVEL_UP_MOVE(15, MOVE_SONIC_BOOM), - LEVEL_UP_MOVE(21, MOVE_SPARK), - LEVEL_UP_MOVE(27, MOVE_SELF_DESTRUCT), - LEVEL_UP_MOVE(32, MOVE_ROLLOUT), - LEVEL_UP_MOVE(37, MOVE_LIGHT_SCREEN), - LEVEL_UP_MOVE(42, MOVE_SWIFT), - LEVEL_UP_MOVE(46, MOVE_EXPLOSION), - LEVEL_UP_MOVE(49, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE( 4, MOVE_SONIC_BOOM), + 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(48, MOVE_MIRROR_COAT), LEVEL_UP_END }; -static const u16 sElectrodeLevelUpLearnset[] = { +static const struct LevelUpMove sElectrodeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MAGNETIC_FLUX), LEVEL_UP_MOVE( 1, MOVE_CHARGE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_SCREECH), LEVEL_UP_MOVE( 1, MOVE_SONIC_BOOM), - LEVEL_UP_MOVE( 8, MOVE_SCREECH), - LEVEL_UP_MOVE(15, MOVE_SONIC_BOOM), - LEVEL_UP_MOVE(21, MOVE_SPARK), - LEVEL_UP_MOVE(27, MOVE_SELF_DESTRUCT), - LEVEL_UP_MOVE(34, MOVE_ROLLOUT), - LEVEL_UP_MOVE(41, MOVE_LIGHT_SCREEN), - LEVEL_UP_MOVE(48, MOVE_SWIFT), - LEVEL_UP_MOVE(54, MOVE_EXPLOSION), - LEVEL_UP_MOVE(59, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE( 1, MOVE_EERIE_IMPULSE), + LEVEL_UP_MOVE( 4, MOVE_SONIC_BOOM), + 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(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 }; -static const u16 sExeggcuteLevelUpLearnset[] = { +static const struct LevelUpMove sExeggcuteLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BARRAGE), LEVEL_UP_MOVE( 1, MOVE_UPROAR), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 7, MOVE_REFLECT), - LEVEL_UP_MOVE(13, MOVE_LEECH_SEED), - LEVEL_UP_MOVE(19, MOVE_CONFUSION), - LEVEL_UP_MOVE(25, MOVE_STUN_SPORE), - LEVEL_UP_MOVE(31, MOVE_POISON_POWDER), - LEVEL_UP_MOVE(37, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(11, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(17, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(19, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(21, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(23, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(27, MOVE_CONFUSION), + LEVEL_UP_MOVE(33, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(37, MOVE_NATURAL_GIFT), LEVEL_UP_MOVE(43, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(47, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(50, MOVE_BESTOW), LEVEL_UP_END }; -static const u16 sExeggutorLevelUpLearnset[] = { +static const struct LevelUpMove sExeggutorLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_STOMP), + LEVEL_UP_MOVE( 1, MOVE_STOMP), + LEVEL_UP_MOVE( 1, MOVE_SEED_BOMB), LEVEL_UP_MOVE( 1, MOVE_BARRAGE), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), - LEVEL_UP_MOVE(19, MOVE_STOMP), - LEVEL_UP_MOVE(31, MOVE_EGG_BOMB), + LEVEL_UP_MOVE(17, MOVE_PSYSHOCK), + LEVEL_UP_MOVE(27, MOVE_EGG_BOMB), + LEVEL_UP_MOVE(37, MOVE_WOOD_HAMMER), + LEVEL_UP_MOVE(47, MOVE_LEAF_STORM), LEVEL_UP_END }; -static const u16 sCuboneLevelUpLearnset[] = { +static const struct LevelUpMove sCuboneLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 9, MOVE_BONE_CLUB), - LEVEL_UP_MOVE(13, MOVE_HEADBUTT), - LEVEL_UP_MOVE(17, MOVE_LEER), - LEVEL_UP_MOVE(21, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(25, MOVE_BONEMERANG), - LEVEL_UP_MOVE(29, MOVE_RAGE), - LEVEL_UP_MOVE(33, MOVE_FALSE_SWIPE), - LEVEL_UP_MOVE(37, MOVE_THRASH), - LEVEL_UP_MOVE(41, MOVE_BONE_RUSH), - LEVEL_UP_MOVE(45, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 3, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7, MOVE_BONE_CLUB), + LEVEL_UP_MOVE(11, MOVE_HEADBUTT), + LEVEL_UP_MOVE(13, MOVE_LEER), + LEVEL_UP_MOVE(17, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(21, MOVE_BONEMERANG), + LEVEL_UP_MOVE(23, MOVE_RAGE), + LEVEL_UP_MOVE(27, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(31, MOVE_THRASH), + LEVEL_UP_MOVE(33, MOVE_FLING), + LEVEL_UP_MOVE(37, MOVE_STOMPING_TANTRUM), + LEVEL_UP_MOVE(41, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(43, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(47, MOVE_RETALIATE), + LEVEL_UP_MOVE(51, MOVE_BONE_RUSH), LEVEL_UP_END }; -static const u16 sMarowakLevelUpLearnset[] = { +static const struct LevelUpMove sMarowakLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_BONE_CLUB), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), - LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 9, MOVE_BONE_CLUB), - LEVEL_UP_MOVE(13, MOVE_HEADBUTT), - LEVEL_UP_MOVE(17, MOVE_LEER), - LEVEL_UP_MOVE(21, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(25, MOVE_BONEMERANG), - LEVEL_UP_MOVE(32, MOVE_RAGE), - LEVEL_UP_MOVE(39, MOVE_FALSE_SWIPE), - LEVEL_UP_MOVE(46, MOVE_THRASH), - LEVEL_UP_MOVE(53, MOVE_BONE_RUSH), - LEVEL_UP_MOVE(61, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 3, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 7, MOVE_BONE_CLUB), + LEVEL_UP_MOVE(11, MOVE_HEADBUTT), + LEVEL_UP_MOVE(13, MOVE_LEER), + LEVEL_UP_MOVE(17, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(21, MOVE_BONEMERANG), + LEVEL_UP_MOVE(23, MOVE_RAGE), + LEVEL_UP_MOVE(27, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(33, MOVE_THRASH), + LEVEL_UP_MOVE(37, MOVE_FLING), + LEVEL_UP_MOVE(43, MOVE_STOMPING_TANTRUM), + LEVEL_UP_MOVE(49, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(53, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(59, MOVE_RETALIATE), + LEVEL_UP_MOVE(65, MOVE_BONE_RUSH), LEVEL_UP_END }; -static const u16 sHitmonleeLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_REVENGE), +static const struct LevelUpMove sHitmonleeLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), - LEVEL_UP_MOVE( 6, MOVE_MEDITATE), - LEVEL_UP_MOVE(11, MOVE_ROLLING_KICK), - LEVEL_UP_MOVE(16, MOVE_JUMP_KICK), - LEVEL_UP_MOVE(20, MOVE_BRICK_BREAK), - LEVEL_UP_MOVE(21, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(26, MOVE_HI_JUMP_KICK), - LEVEL_UP_MOVE(31, MOVE_MIND_READER), - LEVEL_UP_MOVE(36, MOVE_FORESIGHT), - LEVEL_UP_MOVE(41, MOVE_ENDURE), - LEVEL_UP_MOVE(46, MOVE_MEGA_KICK), - LEVEL_UP_MOVE(51, MOVE_REVERSAL), - LEVEL_UP_END -}; - -static const u16 sHitmonchanLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_REVERSAL), + LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE( 1, MOVE_MEGA_KICK), LEVEL_UP_MOVE( 1, MOVE_REVENGE), + LEVEL_UP_MOVE( 1, MOVE_MEDITATE), + LEVEL_UP_MOVE( 1, MOVE_ROLLING_KICK), + LEVEL_UP_MOVE( 1, MOVE_JUMP_KICK), + LEVEL_UP_MOVE( 5, MOVE_MEDITATE), + LEVEL_UP_MOVE( 9, MOVE_ROLLING_KICK), + LEVEL_UP_MOVE(13, MOVE_JUMP_KICK), + LEVEL_UP_MOVE(17, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(21, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(25, MOVE_FEINT), + LEVEL_UP_MOVE(29, MOVE_HI_JUMP_KICK), + LEVEL_UP_MOVE(33, MOVE_MIND_READER), + LEVEL_UP_MOVE(37, MOVE_FORESIGHT), + LEVEL_UP_MOVE(41, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(45, MOVE_BLAZE_KICK), + LEVEL_UP_MOVE(49, MOVE_ENDURE), + LEVEL_UP_MOVE(53, MOVE_MEGA_KICK), + LEVEL_UP_MOVE(57, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(61, MOVE_REVERSAL), + LEVEL_UP_END +}; + +static const struct LevelUpMove sHitmonchanLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_COMET_PUNCH), LEVEL_UP_MOVE( 1, MOVE_COMET_PUNCH), - LEVEL_UP_MOVE( 7, MOVE_AGILITY), - LEVEL_UP_MOVE(13, MOVE_PURSUIT), - LEVEL_UP_MOVE(20, MOVE_MACH_PUNCH), - LEVEL_UP_MOVE(26, MOVE_THUNDER_PUNCH), - LEVEL_UP_MOVE(26, MOVE_ICE_PUNCH), - LEVEL_UP_MOVE(26, MOVE_FIRE_PUNCH), - LEVEL_UP_MOVE(32, MOVE_SKY_UPPERCUT), - LEVEL_UP_MOVE(38, MOVE_MEGA_PUNCH), - LEVEL_UP_MOVE(44, MOVE_DETECT), - LEVEL_UP_MOVE(50, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE( 1, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_REVENGE), + LEVEL_UP_MOVE( 1, MOVE_AGILITY), + LEVEL_UP_MOVE( 1, MOVE_PURSUIT), + LEVEL_UP_MOVE( 1, MOVE_MACH_PUNCH), + LEVEL_UP_MOVE( 6, MOVE_AGILITY), + LEVEL_UP_MOVE(11, MOVE_PURSUIT), + LEVEL_UP_MOVE(16, MOVE_MACH_PUNCH), + LEVEL_UP_MOVE(16, MOVE_BULLET_PUNCH), + LEVEL_UP_MOVE(21, MOVE_FEINT), + LEVEL_UP_MOVE(26, MOVE_VACUUM_WAVE), + LEVEL_UP_MOVE(31, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(36, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE(36, MOVE_ICE_PUNCH), + LEVEL_UP_MOVE(36, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE(41, MOVE_SKY_UPPERCUT), + LEVEL_UP_MOVE(46, MOVE_MEGA_PUNCH), + LEVEL_UP_MOVE(50, MOVE_DETECT), + LEVEL_UP_MOVE(56, MOVE_FOCUS_PUNCH), + LEVEL_UP_MOVE(61, MOVE_COUNTER), + LEVEL_UP_MOVE(66, MOVE_CLOSE_COMBAT), LEVEL_UP_END }; -static const u16 sLickitungLevelUpLearnset[] = { +static const struct LevelUpMove sLickitungLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LICK), - LEVEL_UP_MOVE( 7, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(12, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE(18, MOVE_KNOCK_OFF), - LEVEL_UP_MOVE(23, MOVE_STOMP), - LEVEL_UP_MOVE(29, MOVE_WRAP), - LEVEL_UP_MOVE(34, MOVE_DISABLE), - LEVEL_UP_MOVE(40, MOVE_SLAM), - LEVEL_UP_MOVE(45, MOVE_SCREECH), - LEVEL_UP_MOVE(51, MOVE_REFRESH), + LEVEL_UP_MOVE( 5, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 9, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(13, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(17, MOVE_WRAP), + LEVEL_UP_MOVE(21, MOVE_STOMP), + LEVEL_UP_MOVE(25, MOVE_DISABLE), + LEVEL_UP_MOVE(29, MOVE_SLAM), + LEVEL_UP_MOVE(33, MOVE_ROLLOUT), + LEVEL_UP_MOVE(37, MOVE_CHIP_AWAY), + LEVEL_UP_MOVE(41, MOVE_ME_FIRST), + LEVEL_UP_MOVE(45, MOVE_REFRESH), + LEVEL_UP_MOVE(49, MOVE_SCREECH), + LEVEL_UP_MOVE(53, MOVE_POWER_WHIP), + LEVEL_UP_MOVE(57, MOVE_WRING_OUT), LEVEL_UP_END }; -static const u16 sKoffingLevelUpLearnset[] = { +static const struct LevelUpMove sKoffingLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 9, MOVE_SMOG), - LEVEL_UP_MOVE(17, MOVE_SELF_DESTRUCT), - LEVEL_UP_MOVE(21, MOVE_SLUDGE), - LEVEL_UP_MOVE(25, MOVE_SMOKESCREEN), - LEVEL_UP_MOVE(33, MOVE_HAZE), - LEVEL_UP_MOVE(41, MOVE_EXPLOSION), - LEVEL_UP_MOVE(45, MOVE_DESTINY_BOND), - LEVEL_UP_MOVE(49, MOVE_MEMENTO), + LEVEL_UP_MOVE( 4, MOVE_SMOG), + LEVEL_UP_MOVE( 7, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(12, MOVE_ASSURANCE), + LEVEL_UP_MOVE(15, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(18, MOVE_SLUDGE), + LEVEL_UP_MOVE(23, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(26, MOVE_HAZE), + LEVEL_UP_MOVE(29, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(34, MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE(37, MOVE_EXPLOSION), + LEVEL_UP_MOVE(40, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(42, MOVE_BELCH), + LEVEL_UP_MOVE(45, MOVE_MEMENTO), LEVEL_UP_END }; -static const u16 sWeezingLevelUpLearnset[] = { +static const struct LevelUpMove sWeezingLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_HIT), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_SMOG), - LEVEL_UP_MOVE( 1, MOVE_SELF_DESTRUCT), - LEVEL_UP_MOVE( 9, MOVE_SMOG), - LEVEL_UP_MOVE(17, MOVE_SELF_DESTRUCT), - LEVEL_UP_MOVE(21, MOVE_SLUDGE), - LEVEL_UP_MOVE(25, MOVE_SMOKESCREEN), - LEVEL_UP_MOVE(33, MOVE_HAZE), - LEVEL_UP_MOVE(44, MOVE_EXPLOSION), - LEVEL_UP_MOVE(51, MOVE_DESTINY_BOND), - LEVEL_UP_MOVE(58, MOVE_MEMENTO), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 4, MOVE_SMOG), + LEVEL_UP_MOVE( 7, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(12, MOVE_ASSURANCE), + LEVEL_UP_MOVE(15, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(18, MOVE_SLUDGE), + LEVEL_UP_MOVE(23, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(26, MOVE_HAZE), + LEVEL_UP_MOVE(29, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(34, MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE(40, MOVE_EXPLOSION), + LEVEL_UP_MOVE(46, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(51, MOVE_BELCH), + LEVEL_UP_MOVE(57, MOVE_MEMENTO), LEVEL_UP_END }; -static const u16 sRhyhornLevelUpLearnset[] = { +static const struct LevelUpMove sRhyhornLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE(10, MOVE_STOMP), - LEVEL_UP_MOVE(15, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE(24, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 5, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(13, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(17, MOVE_STOMP), + LEVEL_UP_MOVE(21, MOVE_BULLDOZE), + LEVEL_UP_MOVE(25, MOVE_CHIP_AWAY), LEVEL_UP_MOVE(29, MOVE_ROCK_BLAST), - LEVEL_UP_MOVE(38, MOVE_HORN_DRILL), - LEVEL_UP_MOVE(43, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(52, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE(57, MOVE_MEGAHORN), + LEVEL_UP_MOVE(33, MOVE_DRILL_RUN), + LEVEL_UP_MOVE(37, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(41, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(45, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(49, MOVE_MEGAHORN), + LEVEL_UP_MOVE(53, MOVE_HORN_DRILL), LEVEL_UP_END }; -static const u16 sRhydonLevelUpLearnset[] = { +static const struct LevelUpMove sRhydonLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 1, MOVE_HORN_DRILL), LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 1, MOVE_STOMP), LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE(10, MOVE_STOMP), - LEVEL_UP_MOVE(15, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE(24, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 5, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(13, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(17, MOVE_STOMP), + LEVEL_UP_MOVE(21, MOVE_BULLDOZE), + LEVEL_UP_MOVE(25, MOVE_CHIP_AWAY), LEVEL_UP_MOVE(29, MOVE_ROCK_BLAST), - LEVEL_UP_MOVE(38, MOVE_HORN_DRILL), - LEVEL_UP_MOVE(46, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(58, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE(66, MOVE_MEGAHORN), + LEVEL_UP_MOVE(33, MOVE_DRILL_RUN), + LEVEL_UP_MOVE(37, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(41, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(48, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(55, MOVE_MEGAHORN), + LEVEL_UP_MOVE(62, MOVE_HORN_DRILL), LEVEL_UP_END }; -static const u16 sChanseyLevelUpLearnset[] = { +static const struct LevelUpMove sChanseyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 9, MOVE_REFRESH), - LEVEL_UP_MOVE(13, MOVE_SOFT_BOILED), - LEVEL_UP_MOVE(17, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(12, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(16, MOVE_SOFT_BOILED), + LEVEL_UP_MOVE(20, MOVE_BESTOW), LEVEL_UP_MOVE(23, MOVE_MINIMIZE), - LEVEL_UP_MOVE(29, MOVE_SING), - LEVEL_UP_MOVE(35, MOVE_EGG_BOMB), - LEVEL_UP_MOVE(41, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE(49, MOVE_LIGHT_SCREEN), - LEVEL_UP_MOVE(57, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(27, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(31, MOVE_SING), + LEVEL_UP_MOVE(35, MOVE_FLING), + LEVEL_UP_MOVE(39, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(44, MOVE_EGG_BOMB), + LEVEL_UP_MOVE(50, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(57, MOVE_HEALING_WISH), + LEVEL_UP_MOVE(65, MOVE_DOUBLE_EDGE), LEVEL_UP_END }; -static const u16 sTangelaLevelUpLearnset[] = { +static const struct LevelUpMove sTangelaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_INGRAIN), LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), LEVEL_UP_MOVE( 4, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE( 7, MOVE_VINE_WHIP), LEVEL_UP_MOVE(10, MOVE_ABSORB), - LEVEL_UP_MOVE(13, MOVE_GROWTH), - LEVEL_UP_MOVE(19, MOVE_POISON_POWDER), - LEVEL_UP_MOVE(22, MOVE_VINE_WHIP), - LEVEL_UP_MOVE(28, MOVE_BIND), - LEVEL_UP_MOVE(31, MOVE_MEGA_DRAIN), - LEVEL_UP_MOVE(37, MOVE_STUN_SPORE), - LEVEL_UP_MOVE(40, MOVE_SLAM), - LEVEL_UP_MOVE(46, MOVE_TICKLE), + LEVEL_UP_MOVE(14, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(17, MOVE_BIND), + LEVEL_UP_MOVE(20, MOVE_GROWTH), + LEVEL_UP_MOVE(23, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(27, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(30, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(33, MOVE_NATURAL_GIFT), + LEVEL_UP_MOVE(36, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(38, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(41, MOVE_SLAM), + LEVEL_UP_MOVE(44, MOVE_TICKLE), + LEVEL_UP_MOVE(46, MOVE_WRING_OUT), + LEVEL_UP_MOVE(48, MOVE_GRASSY_TERRAIN), + LEVEL_UP_MOVE(50, MOVE_POWER_WHIP), LEVEL_UP_END }; -static const u16 sKangaskhanLevelUpLearnset[] = { +static const struct LevelUpMove sKangaskhanLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_COMET_PUNCH), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 7, MOVE_BITE), - LEVEL_UP_MOVE(13, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE(19, MOVE_FAKE_OUT), + LEVEL_UP_MOVE( 7, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(10, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(13, MOVE_BITE), + LEVEL_UP_MOVE(19, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(22, MOVE_RAGE), LEVEL_UP_MOVE(25, MOVE_MEGA_PUNCH), - LEVEL_UP_MOVE(31, MOVE_RAGE), - LEVEL_UP_MOVE(37, MOVE_ENDURE), - LEVEL_UP_MOVE(43, MOVE_DIZZY_PUNCH), - LEVEL_UP_MOVE(49, MOVE_REVERSAL), + LEVEL_UP_MOVE(31, MOVE_CHIP_AWAY), + LEVEL_UP_MOVE(34, MOVE_DIZZY_PUNCH), + LEVEL_UP_MOVE(37, MOVE_CRUNCH), + LEVEL_UP_MOVE(43, MOVE_ENDURE), + LEVEL_UP_MOVE(46, MOVE_OUTRAGE), + LEVEL_UP_MOVE(49, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(50, MOVE_REVERSAL), LEVEL_UP_END }; -static const u16 sHorseaLevelUpLearnset[] = { +static const struct LevelUpMove sHorseaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), - LEVEL_UP_MOVE( 8, MOVE_SMOKESCREEN), - LEVEL_UP_MOVE(15, MOVE_LEER), - LEVEL_UP_MOVE(22, MOVE_WATER_GUN), - LEVEL_UP_MOVE(29, MOVE_TWISTER), + LEVEL_UP_MOVE( 5, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 9, MOVE_LEER), + LEVEL_UP_MOVE(13, MOVE_WATER_GUN), + LEVEL_UP_MOVE(17, MOVE_TWISTER), + LEVEL_UP_MOVE(21, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(26, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(31, MOVE_BRINE), LEVEL_UP_MOVE(36, MOVE_AGILITY), - LEVEL_UP_MOVE(43, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE(50, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(41, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(46, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(52, MOVE_HYDRO_PUMP), LEVEL_UP_END }; -static const u16 sSeadraLevelUpLearnset[] = { +static const struct LevelUpMove sSeadraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 8, MOVE_SMOKESCREEN), - LEVEL_UP_MOVE(15, MOVE_LEER), - LEVEL_UP_MOVE(22, MOVE_WATER_GUN), - LEVEL_UP_MOVE(29, MOVE_TWISTER), - LEVEL_UP_MOVE(40, MOVE_AGILITY), - LEVEL_UP_MOVE(51, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE(62, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE( 5, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 9, MOVE_LEER), + LEVEL_UP_MOVE(13, MOVE_WATER_GUN), + LEVEL_UP_MOVE(17, MOVE_TWISTER), + LEVEL_UP_MOVE(21, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(26, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(31, MOVE_BRINE), + LEVEL_UP_MOVE(38, MOVE_AGILITY), + LEVEL_UP_MOVE(45, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(52, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(60, MOVE_HYDRO_PUMP), LEVEL_UP_END }; -static const u16 sGoldeenLevelUpLearnset[] = { +static const struct LevelUpMove sGoldeenLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), - LEVEL_UP_MOVE(10, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(15, MOVE_HORN_ATTACK), - LEVEL_UP_MOVE(24, MOVE_FLAIL), - LEVEL_UP_MOVE(29, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE(38, MOVE_WATERFALL), - LEVEL_UP_MOVE(43, MOVE_HORN_DRILL), - LEVEL_UP_MOVE(52, MOVE_AGILITY), + LEVEL_UP_MOVE( 5, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 8, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(13, MOVE_FLAIL), + LEVEL_UP_MOVE(16, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(21, MOVE_AQUA_RING), + LEVEL_UP_MOVE(24, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(29, MOVE_AGILITY), + LEVEL_UP_MOVE(32, MOVE_WATERFALL), + LEVEL_UP_MOVE(37, MOVE_HORN_DRILL), + LEVEL_UP_MOVE(40, MOVE_SOAK), + LEVEL_UP_MOVE(45, MOVE_MEGAHORN), LEVEL_UP_END }; -static const u16 sSeakingLevelUpLearnset[] = { +static const struct LevelUpMove sSeakingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MEGAHORN), + LEVEL_UP_MOVE( 1, MOVE_POISON_JAB), LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(10, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(15, MOVE_HORN_ATTACK), - LEVEL_UP_MOVE(24, MOVE_FLAIL), - LEVEL_UP_MOVE(29, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE(41, MOVE_WATERFALL), - LEVEL_UP_MOVE(49, MOVE_HORN_DRILL), - LEVEL_UP_MOVE(61, MOVE_AGILITY), + LEVEL_UP_MOVE( 5, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 8, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(13, MOVE_FLAIL), + LEVEL_UP_MOVE(16, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(21, MOVE_AQUA_RING), + LEVEL_UP_MOVE(24, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(29, MOVE_AGILITY), + LEVEL_UP_MOVE(32, MOVE_WATERFALL), + LEVEL_UP_MOVE(40, MOVE_HORN_DRILL), + LEVEL_UP_MOVE(46, MOVE_SOAK), + LEVEL_UP_MOVE(54, MOVE_MEGAHORN), LEVEL_UP_END }; -static const u16 sStaryuLevelUpLearnset[] = { +static const struct LevelUpMove sStaryuLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), - LEVEL_UP_MOVE( 6, MOVE_WATER_GUN), - LEVEL_UP_MOVE(10, MOVE_RAPID_SPIN), - LEVEL_UP_MOVE(15, MOVE_RECOVER), - LEVEL_UP_MOVE(19, MOVE_CAMOUFLAGE), - LEVEL_UP_MOVE(24, MOVE_SWIFT), - LEVEL_UP_MOVE(28, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE(33, MOVE_MINIMIZE), - LEVEL_UP_MOVE(37, MOVE_LIGHT_SCREEN), - LEVEL_UP_MOVE(42, MOVE_COSMIC_POWER), - LEVEL_UP_MOVE(46, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 4, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 7, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(10, MOVE_RECOVER), + LEVEL_UP_MOVE(13, MOVE_PSYWAVE), + LEVEL_UP_MOVE(16, MOVE_SWIFT), + LEVEL_UP_MOVE(18, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(22, MOVE_CAMOUFLAGE), + LEVEL_UP_MOVE(24, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(28, MOVE_BRINE), + LEVEL_UP_MOVE(31, MOVE_MINIMIZE), + LEVEL_UP_MOVE(35, MOVE_REFLECT_TYPE), + LEVEL_UP_MOVE(37, MOVE_POWER_GEM), + LEVEL_UP_MOVE(40, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(42, MOVE_PSYCHIC), + LEVEL_UP_MOVE(46, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(49, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(53, MOVE_HYDRO_PUMP), LEVEL_UP_END }; -static const u16 sStarmieLevelUpLearnset[] = { +static const struct LevelUpMove sStarmieLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 1, MOVE_SPOTLIGHT), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), LEVEL_UP_MOVE( 1, MOVE_RECOVER), LEVEL_UP_MOVE( 1, MOVE_SWIFT), - LEVEL_UP_MOVE(33, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(40, MOVE_CONFUSE_RAY), LEVEL_UP_END }; -static const u16 sMrmimeLevelUpLearnset[] = { +static const struct LevelUpMove sMrmimeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MISTY_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), + 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_BARRIER), - LEVEL_UP_MOVE( 5, MOVE_CONFUSION), - LEVEL_UP_MOVE( 9, MOVE_SUBSTITUTE), - LEVEL_UP_MOVE(13, MOVE_MEDITATE), - LEVEL_UP_MOVE(17, MOVE_DOUBLE_SLAP), - LEVEL_UP_MOVE(21, MOVE_LIGHT_SCREEN), - LEVEL_UP_MOVE(21, MOVE_REFLECT), - LEVEL_UP_MOVE(25, MOVE_ENCORE), - LEVEL_UP_MOVE(29, MOVE_PSYBEAM), - LEVEL_UP_MOVE(33, MOVE_RECYCLE), - LEVEL_UP_MOVE(37, MOVE_TRICK), - LEVEL_UP_MOVE(41, MOVE_ROLE_PLAY), - LEVEL_UP_MOVE(45, MOVE_PSYCHIC), - LEVEL_UP_MOVE(49, MOVE_BATON_PASS), - LEVEL_UP_MOVE(53, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 4, MOVE_COPYCAT), + LEVEL_UP_MOVE( 8, MOVE_MEDITATE), + LEVEL_UP_MOVE(11, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(15, MOVE_MIMIC), + LEVEL_UP_MOVE(15, MOVE_PSYWAVE), + LEVEL_UP_MOVE(18, MOVE_ENCORE), + LEVEL_UP_MOVE(22, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(22, MOVE_REFLECT), + LEVEL_UP_MOVE(25, MOVE_PSYBEAM), + LEVEL_UP_MOVE(29, MOVE_SUBSTITUTE), + LEVEL_UP_MOVE(32, MOVE_RECYCLE), + LEVEL_UP_MOVE(36, MOVE_TRICK), + LEVEL_UP_MOVE(39, MOVE_PSYCHIC), + LEVEL_UP_MOVE(43, MOVE_ROLE_PLAY), + LEVEL_UP_MOVE(46, MOVE_BATON_PASS), + LEVEL_UP_MOVE(50, MOVE_SAFEGUARD), LEVEL_UP_END }; -static const u16 sScytherLevelUpLearnset[] = { +static const struct LevelUpMove sScytherLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_VACUUM_WAVE), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 6, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(11, MOVE_PURSUIT), - LEVEL_UP_MOVE(16, MOVE_FALSE_SWIPE), - LEVEL_UP_MOVE(21, MOVE_AGILITY), - LEVEL_UP_MOVE(26, MOVE_WING_ATTACK), - LEVEL_UP_MOVE(31, MOVE_SLASH), - LEVEL_UP_MOVE(36, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE(41, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE(46, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 5, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 9, MOVE_PURSUIT), + LEVEL_UP_MOVE(13, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(17, MOVE_AGILITY), + LEVEL_UP_MOVE(21, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(25, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(29, MOVE_SLASH), + LEVEL_UP_MOVE(33, MOVE_RAZOR_WIND), + LEVEL_UP_MOVE(37, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(41, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(45, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(49, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(50, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(57, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(61, MOVE_FEINT), LEVEL_UP_END }; -static const u16 sJynxLevelUpLearnset[] = { +static const struct LevelUpMove sJynxLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE( 1, MOVE_PERISH_SONG), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LICK), LEVEL_UP_MOVE( 1, MOVE_LOVELY_KISS), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), - LEVEL_UP_MOVE( 9, MOVE_LOVELY_KISS), - LEVEL_UP_MOVE(13, MOVE_POWDER_SNOW), - LEVEL_UP_MOVE(21, MOVE_DOUBLE_SLAP), - LEVEL_UP_MOVE(25, MOVE_ICE_PUNCH), - LEVEL_UP_MOVE(35, MOVE_MEAN_LOOK), - LEVEL_UP_MOVE(41, MOVE_FAKE_TEARS), - LEVEL_UP_MOVE(51, MOVE_BODY_SLAM), - LEVEL_UP_MOVE(57, MOVE_PERISH_SONG), - LEVEL_UP_MOVE(67, MOVE_BLIZZARD), + LEVEL_UP_MOVE( 5, MOVE_LICK), + LEVEL_UP_MOVE( 8, MOVE_LOVELY_KISS), + LEVEL_UP_MOVE(11, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(15, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(18, MOVE_ICE_PUNCH), + LEVEL_UP_MOVE(21, MOVE_HEART_STAMP), + LEVEL_UP_MOVE(25, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(28, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(33, MOVE_WAKE_UP_SLAP), + LEVEL_UP_MOVE(39, MOVE_AVALANCHE), + LEVEL_UP_MOVE(44, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(49, MOVE_WRING_OUT), + LEVEL_UP_MOVE(55, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(60, MOVE_BLIZZARD), LEVEL_UP_END }; -static const u16 sElectabuzzLevelUpLearnset[] = { +static const struct LevelUpMove sElectabuzzLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), - LEVEL_UP_MOVE( 9, MOVE_THUNDER_PUNCH), - LEVEL_UP_MOVE(17, MOVE_LIGHT_SCREEN), - LEVEL_UP_MOVE(25, MOVE_SWIFT), - LEVEL_UP_MOVE(36, MOVE_SCREECH), - LEVEL_UP_MOVE(47, MOVE_THUNDERBOLT), - LEVEL_UP_MOVE(58, MOVE_THUNDER), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 5, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 8, MOVE_LOW_KICK), + LEVEL_UP_MOVE(12, MOVE_SWIFT), + LEVEL_UP_MOVE(15, MOVE_SHOCK_WAVE), + LEVEL_UP_MOVE(19, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(22, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(26, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(29, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE(36, MOVE_DISCHARGE), + LEVEL_UP_MOVE(42, MOVE_SCREECH), + LEVEL_UP_MOVE(49, MOVE_THUNDERBOLT), + LEVEL_UP_MOVE(55, MOVE_THUNDER), LEVEL_UP_END }; -static const u16 sMagmarLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE( 1, MOVE_LEER), +static const struct LevelUpMove sMagmarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SMOG), - LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), - LEVEL_UP_MOVE( 7, MOVE_LEER), - LEVEL_UP_MOVE(13, MOVE_SMOG), - LEVEL_UP_MOVE(19, MOVE_FIRE_PUNCH), - LEVEL_UP_MOVE(25, MOVE_SMOKESCREEN), - LEVEL_UP_MOVE(33, MOVE_SUNNY_DAY), - LEVEL_UP_MOVE(41, MOVE_FLAMETHROWER), - LEVEL_UP_MOVE(49, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE(57, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 5, MOVE_EMBER), + LEVEL_UP_MOVE( 8, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(12, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(15, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(19, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(22, MOVE_FLAME_BURST), + LEVEL_UP_MOVE(26, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(29, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE(36, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(42, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(49, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(55, MOVE_FIRE_BLAST), LEVEL_UP_END }; -static const u16 sPinsirLevelUpLearnset[] = { +static const struct LevelUpMove sPinsirLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_VICE_GRIP), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE( 7, MOVE_BIND), - LEVEL_UP_MOVE(13, MOVE_SEISMIC_TOSS), - LEVEL_UP_MOVE(19, MOVE_HARDEN), - LEVEL_UP_MOVE(25, MOVE_REVENGE), - LEVEL_UP_MOVE(31, MOVE_BRICK_BREAK), - LEVEL_UP_MOVE(37, MOVE_GUILLOTINE), - LEVEL_UP_MOVE(43, MOVE_SUBMISSION), - LEVEL_UP_MOVE(49, MOVE_SWORDS_DANCE), - LEVEL_UP_END -}; - -static const u16 sTaurosLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 8, MOVE_RAGE), - LEVEL_UP_MOVE(13, MOVE_HORN_ATTACK), - LEVEL_UP_MOVE(19, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(26, MOVE_PURSUIT), - LEVEL_UP_MOVE(34, MOVE_REST), + LEVEL_UP_MOVE( 4, MOVE_BIND), + LEVEL_UP_MOVE( 8, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(11, MOVE_HARDEN), + LEVEL_UP_MOVE(15, MOVE_REVENGE), + LEVEL_UP_MOVE(18, MOVE_VITAL_THROW), + LEVEL_UP_MOVE(22, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(26, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(29, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(33, MOVE_SUBMISSION), + LEVEL_UP_MOVE(36, MOVE_STORM_THROW), + LEVEL_UP_MOVE(40, MOVE_SWORDS_DANCE), LEVEL_UP_MOVE(43, MOVE_THRASH), - LEVEL_UP_MOVE(53, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(47, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(50, MOVE_GUILLOTINE), LEVEL_UP_END }; -static const u16 sMagikarpLevelUpLearnset[] = { +static const struct LevelUpMove sTaurosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 3, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 5, MOVE_RAGE), + LEVEL_UP_MOVE( 8, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE(11, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(15, MOVE_PURSUIT), + LEVEL_UP_MOVE(19, MOVE_REST), + LEVEL_UP_MOVE(24, MOVE_PAYBACK), + LEVEL_UP_MOVE(29, MOVE_WORK_UP), + LEVEL_UP_MOVE(35, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(41, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(48, MOVE_SWAGGER), + LEVEL_UP_MOVE(55, MOVE_THRASH), + LEVEL_UP_MOVE(63, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(71, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMagikarpLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE(15, MOVE_TACKLE), LEVEL_UP_MOVE(30, MOVE_FLAIL), LEVEL_UP_END }; -static const u16 sGyaradosLevelUpLearnset[] = { +static const struct LevelUpMove sGyaradosLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_THRASH), - LEVEL_UP_MOVE(20, MOVE_BITE), - LEVEL_UP_MOVE(25, MOVE_DRAGON_RAGE), - LEVEL_UP_MOVE(30, MOVE_LEER), - LEVEL_UP_MOVE(35, MOVE_TWISTER), - LEVEL_UP_MOVE(40, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE(45, MOVE_RAIN_DANCE), - LEVEL_UP_MOVE(50, MOVE_DRAGON_DANCE), - LEVEL_UP_MOVE(55, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(21, MOVE_LEER), + LEVEL_UP_MOVE(24, MOVE_TWISTER), + LEVEL_UP_MOVE(27, MOVE_ICE_FANG), + LEVEL_UP_MOVE(30, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(33, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(36, MOVE_DRAGON_RAGE), + LEVEL_UP_MOVE(39, MOVE_CRUNCH), + LEVEL_UP_MOVE(42, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(45, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(48, MOVE_HURRICANE), + LEVEL_UP_MOVE(51, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(54, MOVE_HYPER_BEAM), LEVEL_UP_END }; -static const u16 sLaprasLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 1, MOVE_GROWL), +static const struct LevelUpMove sLaprasLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SING), - LEVEL_UP_MOVE( 7, MOVE_MIST), - LEVEL_UP_MOVE(13, MOVE_BODY_SLAM), - LEVEL_UP_MOVE(19, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE(25, MOVE_PERISH_SONG), - LEVEL_UP_MOVE(31, MOVE_ICE_BEAM), - LEVEL_UP_MOVE(37, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 4, MOVE_MIST), + LEVEL_UP_MOVE( 7, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(10, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(14, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(18, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(22, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(27, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(32, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(37, MOVE_BRINE), LEVEL_UP_MOVE(43, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(49, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE(55, MOVE_SHEER_COLD), + LEVEL_UP_MOVE(47, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(50, MOVE_SHEER_COLD), LEVEL_UP_END }; -static const u16 sDittoLevelUpLearnset[] = { +static const struct LevelUpMove sDittoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TRANSFORM), LEVEL_UP_END }; -static const u16 sEeveeLevelUpLearnset[] = { +static const struct LevelUpMove sEeveeLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_COVET), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), - LEVEL_UP_MOVE( 8, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(16, MOVE_GROWL), - LEVEL_UP_MOVE(23, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(30, MOVE_BITE), - LEVEL_UP_MOVE(36, MOVE_BATON_PASS), - LEVEL_UP_MOVE(42, MOVE_TAKE_DOWN), - LEVEL_UP_END -}; - -static const u16 sVaporeonLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), - LEVEL_UP_MOVE( 8, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(16, MOVE_WATER_GUN), - LEVEL_UP_MOVE(23, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(30, MOVE_BITE), - LEVEL_UP_MOVE(36, MOVE_AURORA_BEAM), - LEVEL_UP_MOVE(42, MOVE_HAZE), - LEVEL_UP_MOVE(47, MOVE_ACID_ARMOR), - LEVEL_UP_MOVE(52, MOVE_HYDRO_PUMP), - LEVEL_UP_END -}; - -static const u16 sJolteonLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), - LEVEL_UP_MOVE( 8, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(16, MOVE_THUNDER_SHOCK), - LEVEL_UP_MOVE(23, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(30, MOVE_DOUBLE_KICK), - LEVEL_UP_MOVE(36, MOVE_PIN_MISSILE), - LEVEL_UP_MOVE(42, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE(47, MOVE_AGILITY), - LEVEL_UP_MOVE(52, MOVE_THUNDER), - LEVEL_UP_END -}; - -static const u16 sFlareonLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), - LEVEL_UP_MOVE( 8, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(16, MOVE_EMBER), - LEVEL_UP_MOVE(23, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(30, MOVE_BITE), - LEVEL_UP_MOVE(36, MOVE_FIRE_SPIN), - LEVEL_UP_MOVE(42, MOVE_SMOG), - LEVEL_UP_MOVE(47, MOVE_LEER), - LEVEL_UP_MOVE(52, MOVE_FLAMETHROWER), - LEVEL_UP_END -}; - -static const u16 sPorygonLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_CONVERSION_2), - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_CONVERSION), - LEVEL_UP_MOVE( 9, MOVE_AGILITY), - LEVEL_UP_MOVE(12, MOVE_PSYBEAM), - LEVEL_UP_MOVE(20, MOVE_RECOVER), - LEVEL_UP_MOVE(24, MOVE_SHARPEN), - LEVEL_UP_MOVE(32, MOVE_LOCK_ON), - LEVEL_UP_MOVE(36, MOVE_TRI_ATTACK), - LEVEL_UP_MOVE(44, MOVE_RECYCLE), - LEVEL_UP_MOVE(48, MOVE_ZAP_CANNON), - LEVEL_UP_END -}; - -static const u16 sOmanyteLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), - LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), - LEVEL_UP_MOVE(13, MOVE_BITE), - LEVEL_UP_MOVE(19, MOVE_WATER_GUN), - LEVEL_UP_MOVE(25, MOVE_MUD_SHOT), - LEVEL_UP_MOVE(31, MOVE_LEER), - LEVEL_UP_MOVE(37, MOVE_PROTECT), - LEVEL_UP_MOVE(43, MOVE_TICKLE), - LEVEL_UP_MOVE(49, MOVE_ANCIENT_POWER), - LEVEL_UP_MOVE(55, MOVE_HYDRO_PUMP), - LEVEL_UP_END -}; - -static const u16 sOmastarLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), - LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), - LEVEL_UP_MOVE( 1, MOVE_BITE), - LEVEL_UP_MOVE(13, MOVE_BITE), - LEVEL_UP_MOVE(19, MOVE_WATER_GUN), - LEVEL_UP_MOVE(25, MOVE_MUD_SHOT), - LEVEL_UP_MOVE(31, MOVE_LEER), - LEVEL_UP_MOVE(37, MOVE_PROTECT), - LEVEL_UP_MOVE(40, MOVE_SPIKE_CANNON), - LEVEL_UP_MOVE(46, MOVE_TICKLE), - LEVEL_UP_MOVE(55, MOVE_ANCIENT_POWER), - LEVEL_UP_MOVE(65, MOVE_HYDRO_PUMP), - LEVEL_UP_END -}; - -static const u16 sKabutoLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 1, MOVE_HARDEN), - LEVEL_UP_MOVE(13, MOVE_ABSORB), - LEVEL_UP_MOVE(19, MOVE_LEER), - LEVEL_UP_MOVE(25, MOVE_MUD_SHOT), - LEVEL_UP_MOVE(31, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(37, MOVE_ENDURE), - LEVEL_UP_MOVE(43, MOVE_METAL_SOUND), - LEVEL_UP_MOVE(49, MOVE_MEGA_DRAIN), - LEVEL_UP_MOVE(55, MOVE_ANCIENT_POWER), - LEVEL_UP_END -}; - -static const u16 sKabutopsLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 1, MOVE_HARDEN), - LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE(13, MOVE_ABSORB), - LEVEL_UP_MOVE(19, MOVE_LEER), - LEVEL_UP_MOVE(25, MOVE_MUD_SHOT), - LEVEL_UP_MOVE(31, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(37, MOVE_ENDURE), - LEVEL_UP_MOVE(40, MOVE_SLASH), - LEVEL_UP_MOVE(46, MOVE_METAL_SOUND), - LEVEL_UP_MOVE(55, MOVE_MEGA_DRAIN), - LEVEL_UP_MOVE(65, MOVE_ANCIENT_POWER), - LEVEL_UP_END -}; - -static const u16 sAerodactylLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), - LEVEL_UP_MOVE( 8, MOVE_AGILITY), - LEVEL_UP_MOVE(15, MOVE_BITE), - LEVEL_UP_MOVE(22, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(29, MOVE_ANCIENT_POWER), - LEVEL_UP_MOVE(36, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(43, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(50, MOVE_HYPER_BEAM), - LEVEL_UP_END -}; - -static const u16 sSnorlaxLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 6, MOVE_AMNESIA), - LEVEL_UP_MOVE(10, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE(15, MOVE_BELLY_DRUM), - LEVEL_UP_MOVE(19, MOVE_HEADBUTT), - LEVEL_UP_MOVE(24, MOVE_YAWN), - LEVEL_UP_MOVE(28, MOVE_REST), - LEVEL_UP_MOVE(28, MOVE_SNORE), - LEVEL_UP_MOVE(33, MOVE_BODY_SLAM), - LEVEL_UP_MOVE(37, MOVE_BLOCK), - LEVEL_UP_MOVE(42, MOVE_COVET), - LEVEL_UP_MOVE(46, MOVE_ROLLOUT), - LEVEL_UP_MOVE(51, MOVE_HYPER_BEAM), - LEVEL_UP_END -}; - -static const u16 sArticunoLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_GUST), - LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), - LEVEL_UP_MOVE(13, MOVE_MIST), - LEVEL_UP_MOVE(25, MOVE_AGILITY), - LEVEL_UP_MOVE(37, MOVE_MIND_READER), - LEVEL_UP_MOVE(49, MOVE_ICE_BEAM), - LEVEL_UP_MOVE(61, MOVE_REFLECT), - LEVEL_UP_MOVE(73, MOVE_BLIZZARD), - LEVEL_UP_MOVE(85, MOVE_SHEER_COLD), - LEVEL_UP_END -}; - -static const u16 sZapdosLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_PECK), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), - LEVEL_UP_MOVE(13, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE(25, MOVE_AGILITY), - LEVEL_UP_MOVE(37, MOVE_DETECT), - LEVEL_UP_MOVE(49, MOVE_DRILL_PECK), - LEVEL_UP_MOVE(61, MOVE_CHARGE), - LEVEL_UP_MOVE(73, MOVE_LIGHT_SCREEN), - LEVEL_UP_MOVE(85, MOVE_THUNDER), - LEVEL_UP_END -}; - -static const u16 sMoltresLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), - LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE(13, MOVE_FIRE_SPIN), - LEVEL_UP_MOVE(25, MOVE_AGILITY), - LEVEL_UP_MOVE(37, MOVE_ENDURE), - LEVEL_UP_MOVE(49, MOVE_FLAMETHROWER), - LEVEL_UP_MOVE(61, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(73, MOVE_HEAT_WAVE), - LEVEL_UP_MOVE(85, MOVE_SKY_ATTACK), - LEVEL_UP_END -}; - -static const u16 sDratiniLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_WRAP), - LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 8, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE(15, MOVE_TWISTER), - LEVEL_UP_MOVE(22, MOVE_DRAGON_RAGE), - LEVEL_UP_MOVE(29, MOVE_SLAM), - LEVEL_UP_MOVE(36, MOVE_AGILITY), - LEVEL_UP_MOVE(43, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(50, MOVE_OUTRAGE), - LEVEL_UP_MOVE(57, MOVE_HYPER_BEAM), - LEVEL_UP_END -}; - -static const u16 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( 8, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE(15, MOVE_TWISTER), - LEVEL_UP_MOVE(22, MOVE_DRAGON_RAGE), - LEVEL_UP_MOVE(29, MOVE_SLAM), - LEVEL_UP_MOVE(38, MOVE_AGILITY), - LEVEL_UP_MOVE(47, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(56, MOVE_OUTRAGE), - LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), - LEVEL_UP_END -}; - -static const u16 sDragoniteLevelUpLearnset[] = { - 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( 8, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE(15, MOVE_TWISTER), - LEVEL_UP_MOVE(22, MOVE_DRAGON_RAGE), - LEVEL_UP_MOVE(29, MOVE_SLAM), - LEVEL_UP_MOVE(38, MOVE_AGILITY), - LEVEL_UP_MOVE(47, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(55, MOVE_WING_ATTACK), - LEVEL_UP_MOVE(61, MOVE_OUTRAGE), - LEVEL_UP_MOVE(75, MOVE_HYPER_BEAM), - LEVEL_UP_END -}; - -static const u16 sMewtwoLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_CONFUSION), - LEVEL_UP_MOVE( 1, MOVE_DISABLE), - LEVEL_UP_MOVE(11, MOVE_BARRIER), - LEVEL_UP_MOVE(22, MOVE_SWIFT), - LEVEL_UP_MOVE(33, MOVE_PSYCH_UP), - LEVEL_UP_MOVE(44, MOVE_FUTURE_SIGHT), - LEVEL_UP_MOVE(55, MOVE_MIST), - LEVEL_UP_MOVE(66, MOVE_PSYCHIC), - LEVEL_UP_MOVE(77, MOVE_AMNESIA), - LEVEL_UP_MOVE(88, MOVE_RECOVER), - LEVEL_UP_MOVE(99, MOVE_SAFEGUARD), - LEVEL_UP_END -}; - -static const u16 sMewLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_POUND), - LEVEL_UP_MOVE(10, MOVE_TRANSFORM), - LEVEL_UP_MOVE(20, MOVE_MEGA_PUNCH), - LEVEL_UP_MOVE(30, MOVE_METRONOME), - LEVEL_UP_MOVE(40, MOVE_PSYCHIC), - LEVEL_UP_MOVE(50, MOVE_ANCIENT_POWER), - LEVEL_UP_END -}; - -static const u16 sChikoritaLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 8, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE(12, MOVE_REFLECT), - LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), - LEVEL_UP_MOVE(22, MOVE_SYNTHESIS), - LEVEL_UP_MOVE(29, MOVE_BODY_SLAM), - LEVEL_UP_MOVE(36, MOVE_LIGHT_SCREEN), - LEVEL_UP_MOVE(43, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(50, MOVE_SOLAR_BEAM), - LEVEL_UP_END -}; - -static const u16 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_REFLECT), - LEVEL_UP_MOVE( 8, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE(12, MOVE_REFLECT), - LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), - LEVEL_UP_MOVE(23, MOVE_SYNTHESIS), - LEVEL_UP_MOVE(31, MOVE_BODY_SLAM), - LEVEL_UP_MOVE(39, MOVE_LIGHT_SCREEN), - LEVEL_UP_MOVE(47, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(55, MOVE_SOLAR_BEAM), - LEVEL_UP_END -}; - -static const u16 sMeganiumLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE( 1, MOVE_REFLECT), - LEVEL_UP_MOVE( 8, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE(12, MOVE_REFLECT), - LEVEL_UP_MOVE(15, MOVE_POISON_POWDER), - LEVEL_UP_MOVE(23, MOVE_SYNTHESIS), - LEVEL_UP_MOVE(31, MOVE_BODY_SLAM), - LEVEL_UP_MOVE(41, MOVE_LIGHT_SCREEN), - LEVEL_UP_MOVE(51, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(61, MOVE_SOLAR_BEAM), - LEVEL_UP_END -}; - -static const u16 sCyndaquilLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 6, MOVE_SMOKESCREEN), - LEVEL_UP_MOVE(12, MOVE_EMBER), - LEVEL_UP_MOVE(19, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(27, MOVE_FLAME_WHEEL), - LEVEL_UP_MOVE(36, MOVE_SWIFT), - LEVEL_UP_MOVE(46, MOVE_FLAMETHROWER), - LEVEL_UP_END -}; - -static const u16 sQuilavaLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), - LEVEL_UP_MOVE( 6, MOVE_SMOKESCREEN), - LEVEL_UP_MOVE(12, MOVE_EMBER), - LEVEL_UP_MOVE(21, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(31, MOVE_FLAME_WHEEL), - LEVEL_UP_MOVE(42, MOVE_SWIFT), - LEVEL_UP_MOVE(54, MOVE_FLAMETHROWER), - LEVEL_UP_END -}; - -static const u16 sTyphlosionLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), - LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE( 6, MOVE_SMOKESCREEN), - LEVEL_UP_MOVE(12, MOVE_EMBER), - LEVEL_UP_MOVE(21, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(31, MOVE_FLAME_WHEEL), - LEVEL_UP_MOVE(45, MOVE_SWIFT), - LEVEL_UP_MOVE(60, MOVE_FLAMETHROWER), - LEVEL_UP_END -}; - -static const u16 sTotodileLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 7, MOVE_RAGE), - LEVEL_UP_MOVE(13, MOVE_WATER_GUN), - LEVEL_UP_MOVE(20, MOVE_BITE), - LEVEL_UP_MOVE(27, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(35, MOVE_SLASH), - LEVEL_UP_MOVE(43, MOVE_SCREECH), - LEVEL_UP_MOVE(52, MOVE_HYDRO_PUMP), - LEVEL_UP_END -}; - -static const u16 sCroconawLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 1, MOVE_RAGE), - LEVEL_UP_MOVE( 7, MOVE_RAGE), - LEVEL_UP_MOVE(13, MOVE_WATER_GUN), - LEVEL_UP_MOVE(21, MOVE_BITE), - LEVEL_UP_MOVE(28, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(37, MOVE_SLASH), - LEVEL_UP_MOVE(45, MOVE_SCREECH), - LEVEL_UP_MOVE(55, MOVE_HYDRO_PUMP), - LEVEL_UP_END -}; - -static const u16 sFeraligatrLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 1, MOVE_RAGE), - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 7, MOVE_RAGE), - LEVEL_UP_MOVE(13, MOVE_WATER_GUN), - LEVEL_UP_MOVE(21, MOVE_BITE), - LEVEL_UP_MOVE(28, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(38, MOVE_SLASH), - LEVEL_UP_MOVE(47, MOVE_SCREECH), - LEVEL_UP_MOVE(58, MOVE_HYDRO_PUMP), - LEVEL_UP_END -}; - -static const u16 sSentretLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(17, MOVE_HELPING_HAND), - LEVEL_UP_MOVE(24, MOVE_SLAM), - LEVEL_UP_MOVE(31, MOVE_FOLLOW_ME), - LEVEL_UP_MOVE(40, MOVE_REST), - LEVEL_UP_MOVE(49, MOVE_AMNESIA), - LEVEL_UP_END -}; - -static const u16 sFurretLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(19, MOVE_HELPING_HAND), - LEVEL_UP_MOVE(28, MOVE_SLAM), - LEVEL_UP_MOVE(37, MOVE_FOLLOW_ME), - LEVEL_UP_MOVE(48, MOVE_REST), - LEVEL_UP_MOVE(59, MOVE_AMNESIA), - LEVEL_UP_END -}; - -static const u16 sHoothootLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 6, MOVE_FORESIGHT), - LEVEL_UP_MOVE(11, MOVE_PECK), - LEVEL_UP_MOVE(16, MOVE_HYPNOSIS), - LEVEL_UP_MOVE(22, MOVE_REFLECT), - LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(34, MOVE_CONFUSION), - LEVEL_UP_MOVE(48, MOVE_DREAM_EATER), - LEVEL_UP_END -}; - -static const u16 sNoctowlLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), - LEVEL_UP_MOVE( 1, MOVE_PECK), - LEVEL_UP_MOVE( 6, MOVE_FORESIGHT), - LEVEL_UP_MOVE(11, MOVE_PECK), - LEVEL_UP_MOVE(16, MOVE_HYPNOSIS), - LEVEL_UP_MOVE(25, MOVE_REFLECT), - LEVEL_UP_MOVE(33, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(41, MOVE_CONFUSION), - LEVEL_UP_MOVE(57, MOVE_DREAM_EATER), - LEVEL_UP_END -}; - -static const u16 sLedybaLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 8, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(15, MOVE_COMET_PUNCH), - LEVEL_UP_MOVE(22, MOVE_LIGHT_SCREEN), - LEVEL_UP_MOVE(22, MOVE_REFLECT), - LEVEL_UP_MOVE(22, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(29, MOVE_BATON_PASS), - LEVEL_UP_MOVE(36, MOVE_SWIFT), - LEVEL_UP_MOVE(43, MOVE_AGILITY), - LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), - LEVEL_UP_END -}; - -static const u16 sLedianLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), - LEVEL_UP_MOVE( 8, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(15, MOVE_COMET_PUNCH), - LEVEL_UP_MOVE(24, MOVE_LIGHT_SCREEN), - LEVEL_UP_MOVE(24, MOVE_REFLECT), - LEVEL_UP_MOVE(24, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(17, MOVE_BITE), + LEVEL_UP_MOVE(17, MOVE_SWIFT), + LEVEL_UP_MOVE(20, MOVE_REFRESH), + LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(29, MOVE_CHARM), LEVEL_UP_MOVE(33, MOVE_BATON_PASS), - LEVEL_UP_MOVE(42, MOVE_SWIFT), - LEVEL_UP_MOVE(51, MOVE_AGILITY), - LEVEL_UP_MOVE(60, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(37, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(41, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(45, MOVE_TRUMP_CARD), LEVEL_UP_END }; -static const u16 sSpinarakLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_POISON_STING), - LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), - LEVEL_UP_MOVE( 6, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(11, MOVE_CONSTRICT), - LEVEL_UP_MOVE(17, MOVE_NIGHT_SHADE), - LEVEL_UP_MOVE(23, MOVE_LEECH_LIFE), - LEVEL_UP_MOVE(30, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(37, MOVE_SPIDER_WEB), - LEVEL_UP_MOVE(45, MOVE_AGILITY), - LEVEL_UP_MOVE(53, MOVE_PSYCHIC), - LEVEL_UP_END -}; - -static const u16 sAriadosLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_POISON_STING), - LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), - LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), - LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), - LEVEL_UP_MOVE( 6, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(11, MOVE_CONSTRICT), - LEVEL_UP_MOVE(17, MOVE_NIGHT_SHADE), - LEVEL_UP_MOVE(25, MOVE_LEECH_LIFE), - LEVEL_UP_MOVE(34, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(43, MOVE_SPIDER_WEB), - LEVEL_UP_MOVE(53, MOVE_AGILITY), - LEVEL_UP_MOVE(63, MOVE_PSYCHIC), - LEVEL_UP_END -}; - -static const u16 sCrobatLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SCREECH), - LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), - LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), - LEVEL_UP_MOVE( 6, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(11, MOVE_ASTONISH), - LEVEL_UP_MOVE(16, MOVE_BITE), - LEVEL_UP_MOVE(21, MOVE_WING_ATTACK), - LEVEL_UP_MOVE(28, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE(35, MOVE_AIR_CUTTER), - LEVEL_UP_MOVE(42, MOVE_MEAN_LOOK), - LEVEL_UP_MOVE(49, MOVE_POISON_FANG), - LEVEL_UP_MOVE(56, MOVE_HAZE), - LEVEL_UP_END -}; - -static const u16 sChinchouLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_BUBBLE), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE( 5, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(13, MOVE_FLAIL), - LEVEL_UP_MOVE(17, MOVE_WATER_GUN), - LEVEL_UP_MOVE(25, MOVE_SPARK), - LEVEL_UP_MOVE(29, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE(37, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(41, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE(49, MOVE_CHARGE), - LEVEL_UP_END -}; - -static const u16 sLanturnLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_BUBBLE), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), - LEVEL_UP_MOVE( 5, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(13, MOVE_FLAIL), - LEVEL_UP_MOVE(17, MOVE_WATER_GUN), - LEVEL_UP_MOVE(25, MOVE_SPARK), - LEVEL_UP_MOVE(32, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE(43, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE(61, MOVE_CHARGE), - LEVEL_UP_END -}; - -static const u16 sPichuLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), - LEVEL_UP_MOVE( 1, MOVE_CHARM), - LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 8, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE(11, MOVE_SWEET_KISS), - LEVEL_UP_END -}; - -static const u16 sCleffaLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_POUND), - LEVEL_UP_MOVE( 1, MOVE_CHARM), - LEVEL_UP_MOVE( 4, MOVE_ENCORE), - LEVEL_UP_MOVE( 8, MOVE_SING), - LEVEL_UP_MOVE(13, MOVE_SWEET_KISS), - LEVEL_UP_END -}; - -static const u16 sIgglybuffLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_SING), - LEVEL_UP_MOVE( 1, MOVE_CHARM), - LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE( 9, MOVE_POUND), - LEVEL_UP_MOVE(14, MOVE_SWEET_KISS), - LEVEL_UP_END -}; - -static const u16 sTogepiLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_CHARM), - LEVEL_UP_MOVE( 6, MOVE_METRONOME), - LEVEL_UP_MOVE(11, MOVE_SWEET_KISS), - LEVEL_UP_MOVE(16, MOVE_YAWN), - LEVEL_UP_MOVE(21, MOVE_ENCORE), - LEVEL_UP_MOVE(26, MOVE_FOLLOW_ME), - LEVEL_UP_MOVE(31, MOVE_WISH), - LEVEL_UP_MOVE(36, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(41, MOVE_DOUBLE_EDGE), - LEVEL_UP_END -}; - -static const u16 sTogeticLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_CHARM), - LEVEL_UP_MOVE( 6, MOVE_METRONOME), - LEVEL_UP_MOVE(11, MOVE_SWEET_KISS), - LEVEL_UP_MOVE(16, MOVE_YAWN), - LEVEL_UP_MOVE(21, MOVE_ENCORE), - LEVEL_UP_MOVE(26, MOVE_FOLLOW_ME), - LEVEL_UP_MOVE(31, MOVE_WISH), - LEVEL_UP_MOVE(36, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(41, MOVE_DOUBLE_EDGE), - LEVEL_UP_END -}; - -static const u16 sNatuLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_PECK), - LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE(10, MOVE_NIGHT_SHADE), - LEVEL_UP_MOVE(20, MOVE_TELEPORT), - LEVEL_UP_MOVE(30, MOVE_WISH), - LEVEL_UP_MOVE(30, MOVE_FUTURE_SIGHT), - LEVEL_UP_MOVE(40, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE(50, MOVE_PSYCHIC), - LEVEL_UP_END -}; - -static const u16 sXatuLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_PECK), - LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE(10, MOVE_NIGHT_SHADE), - LEVEL_UP_MOVE(20, MOVE_TELEPORT), - LEVEL_UP_MOVE(35, MOVE_WISH), - LEVEL_UP_MOVE(35, MOVE_FUTURE_SIGHT), - LEVEL_UP_MOVE(50, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE(65, MOVE_PSYCHIC), - LEVEL_UP_END -}; - -static const u16 sMareepLevelUpLearnset[] = { +static const struct LevelUpMove sVaporeonLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 9, MOVE_THUNDER_SHOCK), - LEVEL_UP_MOVE(16, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE(23, MOVE_COTTON_SPORE), - LEVEL_UP_MOVE(30, MOVE_LIGHT_SCREEN), - LEVEL_UP_MOVE(37, MOVE_THUNDER), - LEVEL_UP_END -}; - -static const u16 sFlaaffyLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), - LEVEL_UP_MOVE( 9, MOVE_THUNDER_SHOCK), - LEVEL_UP_MOVE(18, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE(27, MOVE_COTTON_SPORE), - LEVEL_UP_MOVE(36, MOVE_LIGHT_SCREEN), - LEVEL_UP_MOVE(45, MOVE_THUNDER), - LEVEL_UP_END -}; - -static const u16 sAmpharosLevelUpLearnset[] = { - 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( 9, MOVE_THUNDER_SHOCK), - LEVEL_UP_MOVE(18, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE(27, MOVE_COTTON_SPORE), - LEVEL_UP_MOVE(30, MOVE_THUNDER_PUNCH), - LEVEL_UP_MOVE(42, MOVE_LIGHT_SCREEN), - LEVEL_UP_MOVE(57, MOVE_THUNDER), - LEVEL_UP_END -}; - -static const u16 sBellossomLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), - LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), - LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), - LEVEL_UP_MOVE(44, MOVE_PETAL_DANCE), - LEVEL_UP_MOVE(55, MOVE_SOLAR_BEAM), - LEVEL_UP_END -}; - -static const u16 sMarillLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 3, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE(10, MOVE_WATER_GUN), - LEVEL_UP_MOVE(15, MOVE_ROLLOUT), - LEVEL_UP_MOVE(21, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE(28, MOVE_DOUBLE_EDGE), - LEVEL_UP_MOVE(36, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(17, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(20, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(25, MOVE_AQUA_RING), + LEVEL_UP_MOVE(29, MOVE_ACID_ARMOR), + LEVEL_UP_MOVE(33, MOVE_HAZE), + LEVEL_UP_MOVE(37, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(41, MOVE_LAST_RESORT), LEVEL_UP_MOVE(45, MOVE_HYDRO_PUMP), LEVEL_UP_END }; -static const u16 sAzumarillLevelUpLearnset[] = { +static const struct LevelUpMove sJolteonLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 3, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(17, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE(20, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE(25, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(29, MOVE_AGILITY), + LEVEL_UP_MOVE(33, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(37, MOVE_DISCHARGE), + LEVEL_UP_MOVE(41, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(45, MOVE_THUNDER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sFlareonLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(17, MOVE_BITE), + LEVEL_UP_MOVE(20, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(25, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(29, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(33, MOVE_SMOG), + LEVEL_UP_MOVE(37, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(41, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(45, MOVE_FLARE_BLITZ), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPorygon2LevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONVERSION_2), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_CONVERSION), + LEVEL_UP_MOVE( 1, MOVE_SHARPEN), + LEVEL_UP_MOVE( 7, MOVE_PSYBEAM), + LEVEL_UP_MOVE(12, MOVE_AGILITY), + LEVEL_UP_MOVE(18, MOVE_RECOVER), + LEVEL_UP_MOVE(23, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE(29, MOVE_SIGNAL_BEAM), + LEVEL_UP_MOVE(34, MOVE_RECYCLE), + LEVEL_UP_MOVE(40, MOVE_DISCHARGE), + LEVEL_UP_MOVE(45, MOVE_LOCK_ON), + LEVEL_UP_MOVE(50, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE(56, MOVE_MAGIC_COAT), + LEVEL_UP_MOVE(62, MOVE_ZAP_CANNON), + LEVEL_UP_END +}; + +static const struct LevelUpMove sOmanyteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 7, MOVE_BITE), LEVEL_UP_MOVE(10, MOVE_WATER_GUN), - LEVEL_UP_MOVE(15, MOVE_ROLLOUT), - LEVEL_UP_MOVE(24, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE(34, MOVE_DOUBLE_EDGE), - LEVEL_UP_MOVE(45, MOVE_RAIN_DANCE), - LEVEL_UP_MOVE(57, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(16, MOVE_ROLLOUT), + LEVEL_UP_MOVE(19, MOVE_LEER), + LEVEL_UP_MOVE(25, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(28, MOVE_BRINE), + LEVEL_UP_MOVE(34, MOVE_PROTECT), + LEVEL_UP_MOVE(37, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(43, MOVE_TICKLE), + LEVEL_UP_MOVE(46, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(50, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE(55, MOVE_HYDRO_PUMP), LEVEL_UP_END }; -static const u16 sSudowoodoLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), - LEVEL_UP_MOVE( 1, MOVE_MIMIC), - LEVEL_UP_MOVE( 9, MOVE_FLAIL), - LEVEL_UP_MOVE(17, MOVE_LOW_KICK), - LEVEL_UP_MOVE(25, MOVE_ROCK_SLIDE), - LEVEL_UP_MOVE(33, MOVE_BLOCK), - LEVEL_UP_MOVE(41, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(49, MOVE_SLAM), - LEVEL_UP_MOVE(57, MOVE_DOUBLE_EDGE), +static const struct LevelUpMove sOmastarLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_SPIKE_CANNON), + LEVEL_UP_MOVE( 1, MOVE_SPIKE_CANNON), + LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), + LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 7, MOVE_BITE), + LEVEL_UP_MOVE(10, MOVE_WATER_GUN), + LEVEL_UP_MOVE(16, MOVE_ROLLOUT), + LEVEL_UP_MOVE(19, MOVE_LEER), + LEVEL_UP_MOVE(25, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(28, MOVE_BRINE), + LEVEL_UP_MOVE(34, MOVE_PROTECT), + LEVEL_UP_MOVE(37, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(48, MOVE_TICKLE), + LEVEL_UP_MOVE(56, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(67, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE(75, MOVE_HYDRO_PUMP), LEVEL_UP_END }; -static const u16 sPolitoedLevelUpLearnset[] = { +static const struct LevelUpMove sKabutoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 6, MOVE_ABSORB), + LEVEL_UP_MOVE(11, MOVE_LEER), + LEVEL_UP_MOVE(16, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(21, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(26, MOVE_ENDURE), + LEVEL_UP_MOVE(31, MOVE_AQUA_JET), + LEVEL_UP_MOVE(36, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(41, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(46, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(50, MOVE_WRING_OUT), + 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_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 6, MOVE_ABSORB), + LEVEL_UP_MOVE(11, MOVE_LEER), + LEVEL_UP_MOVE(16, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(21, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(26, MOVE_ENDURE), + LEVEL_UP_MOVE(31, MOVE_AQUA_JET), + LEVEL_UP_MOVE(36, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(45, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(54, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(63, MOVE_WRING_OUT), + LEVEL_UP_MOVE(72, MOVE_NIGHT_SLASH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sAerodactylLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_IRON_HEAD), + 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_WING_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 9, MOVE_ROAR), + LEVEL_UP_MOVE(17, MOVE_AGILITY), + LEVEL_UP_MOVE(25, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(33, MOVE_CRUNCH), + LEVEL_UP_MOVE(41, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(49, MOVE_SKY_DROP), + LEVEL_UP_MOVE(57, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(73, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(81, MOVE_GIGA_IMPACT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSnorlaxLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 9, MOVE_AMNESIA), + LEVEL_UP_MOVE(12, MOVE_LICK), + LEVEL_UP_MOVE(17, MOVE_CHIP_AWAY), + LEVEL_UP_MOVE(20, MOVE_YAWN), + LEVEL_UP_MOVE(25, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(28, MOVE_REST), + LEVEL_UP_MOVE(28, MOVE_SNORE), + LEVEL_UP_MOVE(33, MOVE_SLEEP_TALK), + LEVEL_UP_MOVE(35, MOVE_GIGA_IMPACT), + LEVEL_UP_MOVE(36, MOVE_ROLLOUT), + LEVEL_UP_MOVE(41, MOVE_BLOCK), + LEVEL_UP_MOVE(44, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(49, MOVE_CRUNCH), + LEVEL_UP_MOVE(50, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(57, MOVE_HIGH_HORSEPOWER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sArticunoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 8, MOVE_MIST), + LEVEL_UP_MOVE(15, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(22, MOVE_MIND_READER), + LEVEL_UP_MOVE(29, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(36, MOVE_AGILITY), + LEVEL_UP_MOVE(43, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE(50, MOVE_REFLECT), + LEVEL_UP_MOVE(57, MOVE_HAIL), + LEVEL_UP_MOVE(64, MOVE_TAILWIND), + LEVEL_UP_MOVE(71, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(78, MOVE_BLIZZARD), + LEVEL_UP_MOVE(85, MOVE_ROOST), + LEVEL_UP_MOVE(92, MOVE_HURRICANE), + LEVEL_UP_MOVE(99, MOVE_SHEER_COLD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sZapdosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 8, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(15, MOVE_DETECT), + LEVEL_UP_MOVE(22, MOVE_PLUCK), + LEVEL_UP_MOVE(29, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(36, MOVE_CHARGE), + LEVEL_UP_MOVE(43, MOVE_AGILITY), + LEVEL_UP_MOVE(50, MOVE_DISCHARGE), + LEVEL_UP_MOVE(57, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(64, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(71, MOVE_DRILL_PECK), + LEVEL_UP_MOVE(78, MOVE_THUNDER), + LEVEL_UP_MOVE(85, MOVE_ROOST), + LEVEL_UP_MOVE(92, MOVE_MAGNETIC_FLUX), + LEVEL_UP_MOVE(99, MOVE_ZAP_CANNON), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMoltresLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 8, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(15, MOVE_AGILITY), + LEVEL_UP_MOVE(22, MOVE_ENDURE), + LEVEL_UP_MOVE(29, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(36, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(43, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(50, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(57, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(64, MOVE_HEAT_WAVE), + LEVEL_UP_MOVE(71, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(78, MOVE_SKY_ATTACK), + LEVEL_UP_MOVE(85, MOVE_ROOST), + LEVEL_UP_MOVE(92, MOVE_HURRICANE), + LEVEL_UP_MOVE(99, MOVE_BURN_UP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDratiniLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 5, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(11, MOVE_TWISTER), + LEVEL_UP_MOVE(15, MOVE_DRAGON_RAGE), + LEVEL_UP_MOVE(21, MOVE_SLAM), + LEVEL_UP_MOVE(25, MOVE_AGILITY), + LEVEL_UP_MOVE(31, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE(35, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(41, MOVE_DRAGON_RUSH), + LEVEL_UP_MOVE(45, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(51, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(55, MOVE_OUTRAGE), + LEVEL_UP_MOVE(61, 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( 5, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(11, MOVE_TWISTER), + LEVEL_UP_MOVE(15, MOVE_DRAGON_RAGE), + LEVEL_UP_MOVE(21, MOVE_SLAM), + LEVEL_UP_MOVE(25, MOVE_AGILITY), + LEVEL_UP_MOVE(33, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE(39, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(47, MOVE_DRAGON_RUSH), + LEVEL_UP_MOVE(53, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(61, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(67, MOVE_OUTRAGE), + LEVEL_UP_MOVE(75, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sDragoniteLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_HURRICANE), + LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_ROOST), + 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( 5, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(11, MOVE_TWISTER), + LEVEL_UP_MOVE(15, MOVE_DRAGON_RAGE), + LEVEL_UP_MOVE(21, MOVE_SLAM), + LEVEL_UP_MOVE(25, MOVE_AGILITY), + LEVEL_UP_MOVE(33, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE(39, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(47, MOVE_DRAGON_RUSH), + LEVEL_UP_MOVE(53, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(61, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(67, MOVE_OUTRAGE), + LEVEL_UP_MOVE(75, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(81, MOVE_HURRICANE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMewtwoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LASER_FOCUS), + LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_DISABLE), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 8, MOVE_SWIFT), + LEVEL_UP_MOVE(15, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(22, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(29, MOVE_MIRACLE_EYE), + LEVEL_UP_MOVE(36, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE(43, MOVE_POWER_SWAP), + LEVEL_UP_MOVE(43, MOVE_GUARD_SWAP), + LEVEL_UP_MOVE(50, MOVE_RECOVER), + LEVEL_UP_MOVE(57, MOVE_PSYCHIC), + LEVEL_UP_MOVE(64, MOVE_BARRIER), + LEVEL_UP_MOVE(70, MOVE_AURA_SPHERE), + LEVEL_UP_MOVE(79, MOVE_AMNESIA), + LEVEL_UP_MOVE(86, MOVE_MIST), + LEVEL_UP_MOVE(93, MOVE_ME_FIRST), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMewLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_REFLECT_TYPE), + LEVEL_UP_MOVE( 1, MOVE_TRANSFORM), + LEVEL_UP_MOVE(10, MOVE_MEGA_PUNCH), + LEVEL_UP_MOVE(20, MOVE_METRONOME), + LEVEL_UP_MOVE(30, MOVE_PSYCHIC), + LEVEL_UP_MOVE(40, MOVE_BARRIER), + LEVEL_UP_MOVE(50, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(60, MOVE_AMNESIA), + LEVEL_UP_MOVE(70, MOVE_ME_FIRST), + LEVEL_UP_MOVE(80, MOVE_BATON_PASS), + LEVEL_UP_MOVE(90, MOVE_NASTY_PLOT), + LEVEL_UP_END +}; + +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_NATURAL_GIFT), + 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_AROMATHERAPY), + 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( 6, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 9, 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_NATURAL_GIFT), + 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_AROMATHERAPY), + 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_PETAL_DANCE), + LEVEL_UP_MOVE( 1, MOVE_PETAL_BLIZZARD), + 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( 6, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 9, 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_NATURAL_GIFT), + 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_AROMATHERAPY), + LEVEL_UP_MOVE(66, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(70, MOVE_PETAL_BLIZZARD), + LEVEL_UP_END +}; + +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_BURN_UP), + 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( 6, 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_BURN_UP), + LEVEL_UP_MOVE(75, MOVE_ERUPTION), + LEVEL_UP_END +}; + +static const struct LevelUpMove sTyphlosionLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ERUPTION), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_GYRO_BALL), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 6, 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(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(69, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(74, MOVE_BURN_UP), + LEVEL_UP_MOVE(82, MOVE_ERUPTION), + LEVEL_UP_END +}; + +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( 8, MOVE_RAGE), + LEVEL_UP_MOVE(13, MOVE_BITE), + LEVEL_UP_MOVE(15, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(20, MOVE_ICE_FANG), + LEVEL_UP_MOVE(22, MOVE_FLAIL), + LEVEL_UP_MOVE(27, MOVE_CRUNCH), + LEVEL_UP_MOVE(29, MOVE_CHIP_AWAY), + LEVEL_UP_MOVE(34, MOVE_SLASH), + LEVEL_UP_MOVE(36, MOVE_SCREECH), + LEVEL_UP_MOVE(41, MOVE_THRASH), + LEVEL_UP_MOVE(43, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(48, 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( 6, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 8, MOVE_RAGE), + 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(33, MOVE_CHIP_AWAY), + LEVEL_UP_MOVE(39, MOVE_SLASH), + LEVEL_UP_MOVE(42, MOVE_SCREECH), + LEVEL_UP_MOVE(48, MOVE_THRASH), + LEVEL_UP_MOVE(51, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(57, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(60, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sFeraligatrLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_AGILITY), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_RAGE), + LEVEL_UP_MOVE( 6, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 8, MOVE_RAGE), + 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_CHIP_AWAY), + LEVEL_UP_MOVE(45, MOVE_SLASH), + LEVEL_UP_MOVE(50, MOVE_SCREECH), + LEVEL_UP_MOVE(58, MOVE_THRASH), + LEVEL_UP_MOVE(63, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(71, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(76, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSentretLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), + 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_ME_FIRST), + 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_AGILITY), + LEVEL_UP_MOVE( 1, MOVE_COIL), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + 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_ME_FIRST), + LEVEL_UP_MOVE(56, MOVE_HYPER_VOICE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sHoothootLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), + LEVEL_UP_MOVE( 4, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 7, MOVE_PECK), + LEVEL_UP_MOVE(10, MOVE_CONFUSION), + LEVEL_UP_MOVE(13, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE(16, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(19, MOVE_PSYCHO_SHIFT), + LEVEL_UP_MOVE(22, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(28, MOVE_REFLECT), + LEVEL_UP_MOVE(31, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(34, MOVE_UPROAR), + LEVEL_UP_MOVE(37, MOVE_ROOST), + LEVEL_UP_MOVE(40, MOVE_MOONBLAST), + LEVEL_UP_MOVE(43, MOVE_SYNCHRONOISE), + LEVEL_UP_MOVE(46, MOVE_DREAM_EATER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sNoctowlLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DREAM_EATER), + LEVEL_UP_MOVE( 1, MOVE_SKY_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), + LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 4, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 7, MOVE_PECK), + LEVEL_UP_MOVE(10, MOVE_CONFUSION), + LEVEL_UP_MOVE(13, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE(16, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(19, MOVE_PSYCHO_SHIFT), + LEVEL_UP_MOVE(23, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(27, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(31, MOVE_REFLECT), + LEVEL_UP_MOVE(35, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(39, MOVE_UPROAR), + LEVEL_UP_MOVE(43, MOVE_ROOST), + LEVEL_UP_MOVE(47, MOVE_MOONBLAST), + LEVEL_UP_MOVE(51, MOVE_SYNCHRONOISE), + LEVEL_UP_MOVE(55, MOVE_DREAM_EATER), + LEVEL_UP_END +}; + +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_SILVER_WIND), + LEVEL_UP_MOVE(22, MOVE_COMET_PUNCH), + 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_SILVER_WIND), + LEVEL_UP_MOVE(24, MOVE_COMET_PUNCH), + 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 +}; + +static const struct LevelUpMove sSpinarakLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), + 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_SPIDER_WEB), + LEVEL_UP_MOVE(33, MOVE_AGILITY), + LEVEL_UP_MOVE(36, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(40, MOVE_PSYCHIC), + LEVEL_UP_MOVE(43, MOVE_POISON_JAB), + LEVEL_UP_MOVE(47, MOVE_CROSS_POISON), + LEVEL_UP_MOVE(50, MOVE_STICKY_WEB), + LEVEL_UP_MOVE(54, MOVE_TOXIC_THREAD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sAriadosLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE( 1, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), + LEVEL_UP_MOVE( 1, MOVE_FELL_STINGER), + LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + LEVEL_UP_MOVE( 1, MOVE_POISON_STING), + LEVEL_UP_MOVE( 1, MOVE_STRING_SHOT), + LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + 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(23, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(28, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(32, MOVE_SPIDER_WEB), + LEVEL_UP_MOVE(37, MOVE_AGILITY), + LEVEL_UP_MOVE(41, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(46, MOVE_PSYCHIC), + LEVEL_UP_MOVE(50, MOVE_POISON_JAB), + LEVEL_UP_MOVE(55, MOVE_CROSS_POISON), + LEVEL_UP_MOVE(58, MOVE_STICKY_WEB), + LEVEL_UP_MOVE(63, MOVE_TOXIC_THREAD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCrobatLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_CROSS_POISON), + LEVEL_UP_MOVE( 1, MOVE_CROSS_POISON), + 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_BITE), + LEVEL_UP_MOVE( 5, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 7, MOVE_ASTONISH), + LEVEL_UP_MOVE(11, MOVE_BITE), + LEVEL_UP_MOVE(13, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(17, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(19, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(24, MOVE_SWIFT), + LEVEL_UP_MOVE(27, MOVE_POISON_FANG), + LEVEL_UP_MOVE(32, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(35, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE(40, MOVE_HAZE), + LEVEL_UP_MOVE(43, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(48, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(51, MOVE_QUICK_GUARD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sChinchouLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 6, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 9, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(12, MOVE_WATER_GUN), + LEVEL_UP_MOVE(17, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(20, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(23, MOVE_SPARK), + LEVEL_UP_MOVE(28, MOVE_SIGNAL_BEAM), + LEVEL_UP_MOVE(31, MOVE_FLAIL), + LEVEL_UP_MOVE(34, MOVE_DISCHARGE), + LEVEL_UP_MOVE(39, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(42, MOVE_AQUA_RING), + LEVEL_UP_MOVE(45, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(47, MOVE_ION_DELUGE), + LEVEL_UP_MOVE(50, MOVE_CHARGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLanturnLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_STOCKPILE), + // LEVEL_UP_MOVE( 0, MOVE_SWALLOW), + // LEVEL_UP_MOVE( 0, MOVE_SPIT_UP), + LEVEL_UP_MOVE( 1, MOVE_STOCKPILE), + LEVEL_UP_MOVE( 1, MOVE_SWALLOW), + LEVEL_UP_MOVE( 1, MOVE_SPIT_UP), + LEVEL_UP_MOVE( 1, MOVE_EERIE_IMPULSE), + LEVEL_UP_MOVE( 1, MOVE_SPOTLIGHT), + LEVEL_UP_MOVE( 1, MOVE_BUBBLE), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE( 6, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 9, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(12, MOVE_WATER_GUN), + LEVEL_UP_MOVE(17, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(20, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(23, MOVE_SPARK), + LEVEL_UP_MOVE(29, MOVE_SIGNAL_BEAM), + LEVEL_UP_MOVE(33, MOVE_FLAIL), + LEVEL_UP_MOVE(37, MOVE_DISCHARGE), + LEVEL_UP_MOVE(43, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(47, MOVE_AQUA_RING), + LEVEL_UP_MOVE(51, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(54, MOVE_ION_DELUGE), + LEVEL_UP_MOVE(58, MOVE_CHARGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPichuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE(10, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(13, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(18, MOVE_THUNDER_WAVE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sCleffaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POUND), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 4, MOVE_ENCORE), + LEVEL_UP_MOVE( 7, MOVE_SING), + LEVEL_UP_MOVE(10, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(13, MOVE_COPYCAT), + LEVEL_UP_MOVE(16, MOVE_MAGICAL_LEAF), + LEVEL_UP_END +}; + +static const struct LevelUpMove sIgglybuffLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SING), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 3, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 5, MOVE_POUND), + LEVEL_UP_MOVE( 9, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(11, MOVE_COPYCAT), + LEVEL_UP_END +}; + +static const struct LevelUpMove sTogepiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 5, MOVE_METRONOME), + LEVEL_UP_MOVE( 9, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(13, MOVE_YAWN), + LEVEL_UP_MOVE(17, MOVE_ENCORE), + LEVEL_UP_MOVE(21, MOVE_FOLLOW_ME), + LEVEL_UP_MOVE(25, MOVE_BESTOW), + LEVEL_UP_MOVE(29, MOVE_WISH), + LEVEL_UP_MOVE(33, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(37, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(41, MOVE_BATON_PASS), + LEVEL_UP_MOVE(45, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(49, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(53, MOVE_AFTER_YOU), + LEVEL_UP_END +}; + +static const struct LevelUpMove sTogeticLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 1, MOVE_METRONOME), + LEVEL_UP_MOVE( 1, MOVE_SWEET_KISS), + LEVEL_UP_MOVE( 5, MOVE_METRONOME), + LEVEL_UP_MOVE( 9, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(13, MOVE_YAWN), + LEVEL_UP_MOVE(14, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE(17, MOVE_ENCORE), + LEVEL_UP_MOVE(21, MOVE_FOLLOW_ME), + LEVEL_UP_MOVE(25, MOVE_BESTOW), + LEVEL_UP_MOVE(29, MOVE_WISH), + LEVEL_UP_MOVE(33, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(37, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(41, MOVE_BATON_PASS), + LEVEL_UP_MOVE(45, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(49, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(53, MOVE_AFTER_YOU), + LEVEL_UP_END +}; + +static const struct LevelUpMove sNatuLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 6, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE( 9, MOVE_TELEPORT), + LEVEL_UP_MOVE(12, MOVE_LUCKY_CHANT), + LEVEL_UP_MOVE(17, MOVE_STORED_POWER), + LEVEL_UP_MOVE(20, MOVE_OMINOUS_WIND), + LEVEL_UP_MOVE(23, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(28, MOVE_WISH), + LEVEL_UP_MOVE(33, MOVE_PSYCHIC), + LEVEL_UP_MOVE(36, MOVE_MIRACLE_EYE), + LEVEL_UP_MOVE(39, MOVE_PSYCHO_SHIFT), + LEVEL_UP_MOVE(44, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(47, MOVE_POWER_SWAP), + LEVEL_UP_MOVE(47, MOVE_GUARD_SWAP), + LEVEL_UP_MOVE(50, MOVE_ME_FIRST), + 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_NIGHT_SHADE), + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_MOVE( 6, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE( 9, MOVE_TELEPORT), + LEVEL_UP_MOVE(12, MOVE_LUCKY_CHANT), + LEVEL_UP_MOVE(17, MOVE_STORED_POWER), + LEVEL_UP_MOVE(20, MOVE_OMINOUS_WIND), + LEVEL_UP_MOVE(23, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(29, MOVE_WISH), + LEVEL_UP_MOVE(35, MOVE_PSYCHIC), + LEVEL_UP_MOVE(39, MOVE_MIRACLE_EYE), + LEVEL_UP_MOVE(43, MOVE_PSYCHO_SHIFT), + LEVEL_UP_MOVE(49, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(53, MOVE_POWER_SWAP), + LEVEL_UP_MOVE(53, MOVE_GUARD_SWAP), + LEVEL_UP_MOVE(57, MOVE_ME_FIRST), + LEVEL_UP_END +}; + +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_SIGNAL_BEAM), + 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( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 8, MOVE_THUNDER_SHOCK), + 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_SIGNAL_BEAM), + 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_THUNDER_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE( 1, MOVE_MAGNETIC_FLUX), + LEVEL_UP_MOVE( 1, MOVE_ION_DELUGE), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_PULSE), + 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_WAVE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 8, MOVE_THUNDER_SHOCK), + 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_SIGNAL_BEAM), + LEVEL_UP_MOVE(57, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(62, MOVE_THUNDER), + LEVEL_UP_MOVE(65, MOVE_DRAGON_PULSE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBellossomLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE( 1, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE( 1, MOVE_LEAF_STORM), + LEVEL_UP_MOVE( 1, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), + LEVEL_UP_MOVE( 1, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(39, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE(49, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE(59, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE(69, MOVE_LEAF_STORM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMarillLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 2, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 5, MOVE_WATER_SPORT), + LEVEL_UP_MOVE( 7, MOVE_BUBBLE), + LEVEL_UP_MOVE(10, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(10, MOVE_ROLLOUT), + LEVEL_UP_MOVE(13, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(16, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(20, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(23, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(28, MOVE_AQUA_RING), + LEVEL_UP_MOVE(31, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(37, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(40, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(47, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sAzumarillLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), + LEVEL_UP_MOVE( 2, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 5, MOVE_WATER_SPORT), + LEVEL_UP_MOVE( 7, MOVE_BUBBLE), + LEVEL_UP_MOVE(10, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE(10, MOVE_ROLLOUT), + LEVEL_UP_MOVE(13, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(16, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(21, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(25, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(31, MOVE_AQUA_RING), + LEVEL_UP_MOVE(35, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(42, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(46, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(55, MOVE_HYDRO_PUMP), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSudowoodoLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_SLAM), + LEVEL_UP_MOVE( 1, MOVE_SLAM), + LEVEL_UP_MOVE( 1, MOVE_WOOD_HAMMER), + LEVEL_UP_MOVE( 1, MOVE_COPYCAT), + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_LOW_KICK), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 5, MOVE_FLAIL), + LEVEL_UP_MOVE( 8, MOVE_LOW_KICK), + LEVEL_UP_MOVE(12, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(15, MOVE_MIMIC), + LEVEL_UP_MOVE(19, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(22, MOVE_TEARFUL_LOOK), + LEVEL_UP_MOVE(26, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(29, MOVE_BLOCK), + LEVEL_UP_MOVE(33, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(36, MOVE_COUNTER), + LEVEL_UP_MOVE(40, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(43, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(47, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(50, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(54, MOVE_HEAD_SMASH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPolitoedLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), LEVEL_UP_MOVE( 1, MOVE_HYPNOSIS), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_SLAP), LEVEL_UP_MOVE( 1, MOVE_PERISH_SONG), - LEVEL_UP_MOVE(35, MOVE_PERISH_SONG), - LEVEL_UP_MOVE(51, MOVE_SWAGGER), + LEVEL_UP_MOVE(27, MOVE_SWAGGER), + LEVEL_UP_MOVE(37, MOVE_BOUNCE), + LEVEL_UP_MOVE(48, MOVE_HYPER_VOICE), LEVEL_UP_END }; -static const u16 sHoppipLevelUpLearnset[] = { +static const struct LevelUpMove sHoppipLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), - LEVEL_UP_MOVE( 5, MOVE_SYNTHESIS), - LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE(10, MOVE_TACKLE), - LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), - LEVEL_UP_MOVE(15, MOVE_STUN_SPORE), - LEVEL_UP_MOVE(17, MOVE_SLEEP_POWDER), - LEVEL_UP_MOVE(20, MOVE_LEECH_SEED), - LEVEL_UP_MOVE(25, MOVE_COTTON_SPORE), - LEVEL_UP_MOVE(30, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 4, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 8, MOVE_TACKLE), + LEVEL_UP_MOVE(10, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE(12, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(14, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(16, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(19, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(22, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(25, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(28, MOVE_ACROBATICS), + LEVEL_UP_MOVE(31, MOVE_RAGE_POWDER), + LEVEL_UP_MOVE(34, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(37, MOVE_U_TURN), + LEVEL_UP_MOVE(40, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(43, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(46, MOVE_BOUNCE), + LEVEL_UP_MOVE(49, MOVE_MEMENTO), LEVEL_UP_END }; -static const u16 sSkiploomLevelUpLearnset[] = { +static const struct LevelUpMove sSkiploomLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 5, MOVE_SYNTHESIS), - LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE(10, MOVE_TACKLE), - LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), - LEVEL_UP_MOVE(15, MOVE_STUN_SPORE), - LEVEL_UP_MOVE(17, MOVE_SLEEP_POWDER), - LEVEL_UP_MOVE(22, MOVE_LEECH_SEED), - LEVEL_UP_MOVE(29, MOVE_COTTON_SPORE), - LEVEL_UP_MOVE(36, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 4, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 8, MOVE_TACKLE), + LEVEL_UP_MOVE(10, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE(12, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(14, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(16, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(20, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(24, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(28, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(32, MOVE_ACROBATICS), + LEVEL_UP_MOVE(36, MOVE_RAGE_POWDER), + LEVEL_UP_MOVE(40, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(44, MOVE_U_TURN), + LEVEL_UP_MOVE(48, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(52, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(56, MOVE_BOUNCE), + LEVEL_UP_MOVE(60, MOVE_MEMENTO), LEVEL_UP_END }; -static const u16 sJumpluffLevelUpLearnset[] = { +static const struct LevelUpMove sJumpluffLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_SYNTHESIS), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 5, MOVE_SYNTHESIS), - LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE(10, MOVE_TACKLE), - LEVEL_UP_MOVE(13, MOVE_POISON_POWDER), - LEVEL_UP_MOVE(15, MOVE_STUN_SPORE), - LEVEL_UP_MOVE(17, MOVE_SLEEP_POWDER), - LEVEL_UP_MOVE(22, MOVE_LEECH_SEED), - LEVEL_UP_MOVE(33, MOVE_COTTON_SPORE), - LEVEL_UP_MOVE(44, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 4, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 8, MOVE_TACKLE), + LEVEL_UP_MOVE(10, MOVE_FAIRY_WIND), + LEVEL_UP_MOVE(12, MOVE_POISON_POWDER), + LEVEL_UP_MOVE(14, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(16, MOVE_SLEEP_POWDER), + LEVEL_UP_MOVE(20, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(24, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(29, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(34, MOVE_ACROBATICS), + LEVEL_UP_MOVE(39, MOVE_RAGE_POWDER), + LEVEL_UP_MOVE(44, MOVE_COTTON_SPORE), + LEVEL_UP_MOVE(49, MOVE_U_TURN), + LEVEL_UP_MOVE(54, MOVE_WORRY_SEED), + LEVEL_UP_MOVE(59, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(64, MOVE_BOUNCE), + LEVEL_UP_MOVE(69, MOVE_MEMENTO), LEVEL_UP_END }; -static const u16 sAipomLevelUpLearnset[] = { +static const struct LevelUpMove sAipomLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 6, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(13, MOVE_ASTONISH), - LEVEL_UP_MOVE(18, MOVE_BATON_PASS), - LEVEL_UP_MOVE(25, MOVE_TICKLE), - LEVEL_UP_MOVE(31, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(38, MOVE_SWIFT), - LEVEL_UP_MOVE(43, MOVE_SCREECH), - LEVEL_UP_MOVE(50, MOVE_AGILITY), + 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 }; -static const u16 sSunkernLevelUpLearnset[] = { +static const struct LevelUpMove sSunkernLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 6, MOVE_GROWTH), - LEVEL_UP_MOVE(13, MOVE_MEGA_DRAIN), - LEVEL_UP_MOVE(18, MOVE_INGRAIN), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 4, MOVE_INGRAIN), + LEVEL_UP_MOVE( 7, MOVE_GRASS_WHISTLE), + 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_ENDEAVOR), - LEVEL_UP_MOVE(30, MOVE_SUNNY_DAY), - LEVEL_UP_MOVE(37, MOVE_SYNTHESIS), - LEVEL_UP_MOVE(42, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(28, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(31, MOVE_NATURAL_GIFT), + LEVEL_UP_MOVE(34, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(37, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(40, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(43, MOVE_SEED_BOMB), LEVEL_UP_END }; -static const u16 sSunfloraLevelUpLearnset[] = { +static const struct LevelUpMove sSunfloraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FLOWER_SHIELD), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_POUND), - LEVEL_UP_MOVE( 6, MOVE_GROWTH), - LEVEL_UP_MOVE(13, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE(18, MOVE_INGRAIN), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 4, MOVE_INGRAIN), + LEVEL_UP_MOVE( 7, MOVE_GRASS_WHISTLE), + 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(30, MOVE_SUNNY_DAY), - LEVEL_UP_MOVE(37, MOVE_PETAL_DANCE), - LEVEL_UP_MOVE(42, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(28, MOVE_PETAL_DANCE), + LEVEL_UP_MOVE(31, MOVE_NATURAL_GIFT), + LEVEL_UP_MOVE(34, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(37, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(40, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(43, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(50, MOVE_PETAL_BLIZZARD), LEVEL_UP_END }; -static const u16 sYanmaLevelUpLearnset[] = { +static const struct LevelUpMove sYanmaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FORESIGHT), - LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(13, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE(19, MOVE_SONIC_BOOM), - LEVEL_UP_MOVE(25, MOVE_DETECT), - LEVEL_UP_MOVE(31, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(37, MOVE_UPROAR), + LEVEL_UP_MOVE( 6, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(11, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(14, MOVE_SONIC_BOOM), + LEVEL_UP_MOVE(17, MOVE_DETECT), + LEVEL_UP_MOVE(22, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(27, MOVE_UPROAR), + LEVEL_UP_MOVE(30, MOVE_PURSUIT), + LEVEL_UP_MOVE(33, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(38, MOVE_HYPNOSIS), LEVEL_UP_MOVE(43, MOVE_WING_ATTACK), - LEVEL_UP_MOVE(49, MOVE_SCREECH), + 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 }; -static const u16 sWooperLevelUpLearnset[] = { +static const struct LevelUpMove sWooperLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE(11, MOVE_SLAM), - LEVEL_UP_MOVE(16, MOVE_MUD_SHOT), - LEVEL_UP_MOVE(21, MOVE_AMNESIA), + LEVEL_UP_MOVE( 5, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 9, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(15, MOVE_SLAM), + LEVEL_UP_MOVE(19, MOVE_MUD_BOMB), + LEVEL_UP_MOVE(23, MOVE_AMNESIA), + LEVEL_UP_MOVE(29, MOVE_YAWN), + LEVEL_UP_MOVE(33, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(37, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(43, MOVE_MIST), + LEVEL_UP_MOVE(43, MOVE_HAZE), + LEVEL_UP_MOVE(47, MOVE_MUDDY_WATER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sQuagsireLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 5, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 9, MOVE_MUD_SHOT), + LEVEL_UP_MOVE(15, MOVE_SLAM), + LEVEL_UP_MOVE(19, MOVE_MUD_BOMB), + LEVEL_UP_MOVE(24, MOVE_AMNESIA), LEVEL_UP_MOVE(31, MOVE_YAWN), LEVEL_UP_MOVE(36, MOVE_EARTHQUAKE), LEVEL_UP_MOVE(41, MOVE_RAIN_DANCE), - LEVEL_UP_MOVE(51, MOVE_MIST), - LEVEL_UP_MOVE(51, MOVE_HAZE), + LEVEL_UP_MOVE(48, MOVE_MIST), + LEVEL_UP_MOVE(48, MOVE_HAZE), + LEVEL_UP_MOVE(53, MOVE_MUDDY_WATER), LEVEL_UP_END }; -static const u16 sQuagsireLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE(11, MOVE_SLAM), - LEVEL_UP_MOVE(16, MOVE_MUD_SHOT), - LEVEL_UP_MOVE(23, MOVE_AMNESIA), - LEVEL_UP_MOVE(35, MOVE_YAWN), - LEVEL_UP_MOVE(42, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE(49, MOVE_RAIN_DANCE), - LEVEL_UP_MOVE(61, MOVE_MIST), - LEVEL_UP_MOVE(61, MOVE_HAZE), - LEVEL_UP_END -}; - -static const u16 sEspeonLevelUpLearnset[] = { +static const struct LevelUpMove sEspeonLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), - LEVEL_UP_MOVE( 8, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(16, MOVE_CONFUSION), - LEVEL_UP_MOVE(23, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(30, MOVE_SWIFT), - LEVEL_UP_MOVE(36, MOVE_PSYBEAM), - LEVEL_UP_MOVE(42, MOVE_PSYCH_UP), - LEVEL_UP_MOVE(47, MOVE_PSYCHIC), - LEVEL_UP_MOVE(52, MOVE_MORNING_SUN), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(17, MOVE_SWIFT), + LEVEL_UP_MOVE(20, MOVE_PSYBEAM), + LEVEL_UP_MOVE(25, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(29, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(33, MOVE_MORNING_SUN), + LEVEL_UP_MOVE(37, MOVE_PSYCHIC), + LEVEL_UP_MOVE(41, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(45, MOVE_POWER_SWAP), LEVEL_UP_END }; -static const u16 sUmbreonLevelUpLearnset[] = { +static const struct LevelUpMove sUmbreonLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_PURSUIT), + LEVEL_UP_MOVE( 1, MOVE_PURSUIT), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), - LEVEL_UP_MOVE( 8, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(16, MOVE_PURSUIT), - LEVEL_UP_MOVE(23, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(30, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE(36, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(42, MOVE_MEAN_LOOK), - LEVEL_UP_MOVE(47, MOVE_SCREECH), - LEVEL_UP_MOVE(52, MOVE_MOONLIGHT), + LEVEL_UP_MOVE( 5, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(17, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(20, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(25, MOVE_ASSURANCE), + LEVEL_UP_MOVE(29, MOVE_SCREECH), + LEVEL_UP_MOVE(33, MOVE_MOONLIGHT), + LEVEL_UP_MOVE(37, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(41, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(45, MOVE_GUARD_SWAP), LEVEL_UP_END }; -static const u16 sMurkrowLevelUpLearnset[] = { +static const struct LevelUpMove sMurkrowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), - LEVEL_UP_MOVE( 9, MOVE_ASTONISH), - LEVEL_UP_MOVE(14, MOVE_PURSUIT), - LEVEL_UP_MOVE(22, MOVE_HAZE), - LEVEL_UP_MOVE(27, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 5, MOVE_PURSUIT), + 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_FAINT_ATTACK), - LEVEL_UP_MOVE(40, MOVE_TAUNT), - LEVEL_UP_MOVE(48, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(41, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(45, MOVE_FOUL_PLAY), + LEVEL_UP_MOVE(50, MOVE_TAILWIND), + LEVEL_UP_MOVE(55, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(61, MOVE_TORMENT), + LEVEL_UP_MOVE(65, MOVE_QUASH), LEVEL_UP_END }; -static const u16 sSlowkingLevelUpLearnset[] = { +static const struct LevelUpMove sSlowkingLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), + LEVEL_UP_MOVE( 1, MOVE_HIDDEN_POWER), LEVEL_UP_MOVE( 1, MOVE_CURSE), LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 6, MOVE_GROWL), - LEVEL_UP_MOVE(15, MOVE_WATER_GUN), - LEVEL_UP_MOVE(20, MOVE_CONFUSION), - LEVEL_UP_MOVE(29, MOVE_DISABLE), - LEVEL_UP_MOVE(34, MOVE_HEADBUTT), - LEVEL_UP_MOVE(43, MOVE_SWAGGER), - LEVEL_UP_MOVE(48, MOVE_PSYCHIC), + LEVEL_UP_MOVE( 5, MOVE_GROWL), + LEVEL_UP_MOVE( 9, MOVE_WATER_GUN), + LEVEL_UP_MOVE(14, MOVE_CONFUSION), + LEVEL_UP_MOVE(19, MOVE_DISABLE), + LEVEL_UP_MOVE(23, MOVE_HEADBUTT), + LEVEL_UP_MOVE(28, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(32, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(36, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(41, MOVE_SWAGGER), + LEVEL_UP_MOVE(45, MOVE_PSYCHIC), + LEVEL_UP_MOVE(49, MOVE_TRUMP_CARD), + LEVEL_UP_MOVE(54, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(58, MOVE_HEAL_PULSE), LEVEL_UP_END }; -static const u16 sMisdreavusLevelUpLearnset[] = { +static const struct LevelUpMove sMisdreavusLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), - LEVEL_UP_MOVE( 6, MOVE_SPITE), - LEVEL_UP_MOVE(11, MOVE_ASTONISH), - LEVEL_UP_MOVE(17, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE(23, MOVE_MEAN_LOOK), - LEVEL_UP_MOVE(30, MOVE_PSYBEAM), - LEVEL_UP_MOVE(37, MOVE_PAIN_SPLIT), - LEVEL_UP_MOVE(45, MOVE_PERISH_SONG), - LEVEL_UP_MOVE(53, MOVE_GRUDGE), + LEVEL_UP_MOVE( 5, MOVE_SPITE), + 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_GRUDGE), + LEVEL_UP_MOVE(55, MOVE_POWER_GEM), LEVEL_UP_END }; -static const u16 sUnownLevelUpLearnset[] = { +static const struct LevelUpMove sUnownLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HIDDEN_POWER), LEVEL_UP_END }; -static const u16 sWobbuffetLevelUpLearnset[] = { +static const struct LevelUpMove sWobbuffetLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_COUNTER), LEVEL_UP_MOVE( 1, MOVE_MIRROR_COAT), LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), @@ -2784,439 +4007,695 @@ static const u16 sWobbuffetLevelUpLearnset[] = { LEVEL_UP_END }; -static const u16 sGirafarigLevelUpLearnset[] = { +static const struct LevelUpMove sGirafarigLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POWER_SWAP), + LEVEL_UP_MOVE( 1, MOVE_GUARD_SWAP), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 7, MOVE_ASTONISH), - LEVEL_UP_MOVE(13, MOVE_CONFUSION), - LEVEL_UP_MOVE(19, MOVE_STOMP), - LEVEL_UP_MOVE(25, MOVE_ODOR_SLEUTH), - LEVEL_UP_MOVE(31, MOVE_AGILITY), - LEVEL_UP_MOVE(37, MOVE_BATON_PASS), - LEVEL_UP_MOVE(43, MOVE_PSYBEAM), - LEVEL_UP_MOVE(49, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 5, MOVE_ODOR_SLEUTH), + 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_ZEN_HEADBUTT), + 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 }; -static const u16 sPinecoLevelUpLearnset[] = { +static const struct LevelUpMove sPinecoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_PROTECT), - LEVEL_UP_MOVE( 8, MOVE_SELF_DESTRUCT), - LEVEL_UP_MOVE(15, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(22, MOVE_RAPID_SPIN), - LEVEL_UP_MOVE(29, MOVE_BIDE), - LEVEL_UP_MOVE(36, MOVE_EXPLOSION), - LEVEL_UP_MOVE(43, MOVE_SPIKES), - LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), + 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_BIDE), + LEVEL_UP_MOVE(23, MOVE_NATURAL_GIFT), + 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 u16 sForretressLevelUpLearnset[] = { +static const struct LevelUpMove sForretressLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_MIRROR_SHOT), + // LEVEL_UP_MOVE( 0, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE( 1, MOVE_MIRROR_SHOT), + LEVEL_UP_MOVE( 1, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE( 1, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE( 1, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE( 1, MOVE_TOXIC_SPIKES), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_SELF_DESTRUCT), - LEVEL_UP_MOVE( 8, MOVE_SELF_DESTRUCT), - LEVEL_UP_MOVE(15, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(22, MOVE_RAPID_SPIN), - LEVEL_UP_MOVE(29, MOVE_BIDE), - LEVEL_UP_MOVE(39, MOVE_EXPLOSION), - LEVEL_UP_MOVE(49, MOVE_SPIKES), - LEVEL_UP_MOVE(59, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_BUG_BITE), + 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_BIDE), + LEVEL_UP_MOVE(23, MOVE_NATURAL_GIFT), + 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_MOVE(56, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE(60, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(64, MOVE_HEAVY_SLAM), LEVEL_UP_END }; -static const u16 sDunsparceLevelUpLearnset[] = { +static const struct LevelUpMove sDunsparceLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_RAGE), - LEVEL_UP_MOVE( 4, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE(11, MOVE_YAWN), - LEVEL_UP_MOVE(14, MOVE_GLARE), - LEVEL_UP_MOVE(21, MOVE_SPITE), - LEVEL_UP_MOVE(24, MOVE_PURSUIT), - LEVEL_UP_MOVE(31, MOVE_SCREECH), - LEVEL_UP_MOVE(34, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 3, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 6, MOVE_SPITE), + LEVEL_UP_MOVE( 8, MOVE_PURSUIT), + LEVEL_UP_MOVE(11, MOVE_SCREECH), + LEVEL_UP_MOVE(13, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(16, MOVE_YAWN), + LEVEL_UP_MOVE(18, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(21, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(23, MOVE_DRILL_RUN), + LEVEL_UP_MOVE(26, MOVE_ROOST), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(31, MOVE_COIL), + LEVEL_UP_MOVE(33, MOVE_DIG), + LEVEL_UP_MOVE(36, MOVE_GLARE), + LEVEL_UP_MOVE(38, MOVE_DOUBLE_EDGE), LEVEL_UP_MOVE(41, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(43, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(46, MOVE_DRAGON_RUSH), + LEVEL_UP_MOVE(48, MOVE_ENDURE), + LEVEL_UP_MOVE(51, MOVE_FLAIL), LEVEL_UP_END }; -static const u16 sGligarLevelUpLearnset[] = { +static const struct LevelUpMove sGligarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), - LEVEL_UP_MOVE( 6, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(13, MOVE_HARDEN), - LEVEL_UP_MOVE(20, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(28, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(36, MOVE_SLASH), - LEVEL_UP_MOVE(44, MOVE_SCREECH), - LEVEL_UP_MOVE(52, MOVE_GUILLOTINE), + 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_FAINT_ATTACK), + 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_SKY_UPPERCUT), + LEVEL_UP_MOVE(50, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(55, MOVE_GUILLOTINE), LEVEL_UP_END }; -static const u16 sSteelixLevelUpLearnset[] = { +static const struct LevelUpMove sSteelixLevelUpLearnset[] = { + 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_MUD_SPORT), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_SCREECH), - LEVEL_UP_MOVE( 9, MOVE_BIND), - LEVEL_UP_MOVE(13, MOVE_ROCK_THROW), - LEVEL_UP_MOVE(21, MOVE_HARDEN), - LEVEL_UP_MOVE(25, MOVE_RAGE), - LEVEL_UP_MOVE(33, MOVE_SANDSTORM), - LEVEL_UP_MOVE(37, MOVE_SLAM), - LEVEL_UP_MOVE(45, MOVE_IRON_TAIL), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 1, MOVE_BIND), + LEVEL_UP_MOVE( 4, MOVE_CURSE), + LEVEL_UP_MOVE( 7, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(10, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(13, MOVE_RAGE), + LEVEL_UP_MOVE(16, MOVE_STEALTH_ROCK), + LEVEL_UP_MOVE(19, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE(20, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(22, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(25, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(28, MOVE_SLAM), + LEVEL_UP_MOVE(31, MOVE_SCREECH), + LEVEL_UP_MOVE(34, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(37, MOVE_CRUNCH), + LEVEL_UP_MOVE(40, MOVE_IRON_TAIL), + LEVEL_UP_MOVE(43, MOVE_DIG), + LEVEL_UP_MOVE(46, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(49, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(52, MOVE_SANDSTORM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSnubbullLevelUpLearnset[] = { + 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_SCARY_FACE), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + 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_RAGE), + LEVEL_UP_MOVE(37, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(43, MOVE_PAYBACK), LEVEL_UP_MOVE(49, MOVE_CRUNCH), - LEVEL_UP_MOVE(57, MOVE_DOUBLE_EDGE), LEVEL_UP_END }; -static const u16 sSnubbullLevelUpLearnset[] = { +static const struct LevelUpMove sGranbullLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_OUTRAGE), + 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_SCARY_FACE), - LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 8, MOVE_CHARM), - LEVEL_UP_MOVE(13, MOVE_BITE), - LEVEL_UP_MOVE(19, MOVE_LICK), - LEVEL_UP_MOVE(26, MOVE_ROAR), - LEVEL_UP_MOVE(34, MOVE_RAGE), - LEVEL_UP_MOVE(43, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(53, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + 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_RAGE), + LEVEL_UP_MOVE(43, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE(51, MOVE_PAYBACK), + LEVEL_UP_MOVE(59, MOVE_CRUNCH), + LEVEL_UP_MOVE(67, MOVE_OUTRAGE), LEVEL_UP_END }; -static const u16 sGranbullLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), - LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 8, MOVE_CHARM), - LEVEL_UP_MOVE(13, MOVE_BITE), - LEVEL_UP_MOVE(19, MOVE_LICK), - LEVEL_UP_MOVE(28, MOVE_ROAR), - LEVEL_UP_MOVE(38, MOVE_RAGE), - LEVEL_UP_MOVE(49, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(61, MOVE_CRUNCH), - LEVEL_UP_END -}; - -static const u16 sQwilfishLevelUpLearnset[] = { +static const struct LevelUpMove sQwilfishLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FELL_STINGER), + LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 1, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_SPIKES), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_POISON_STING), - LEVEL_UP_MOVE(10, MOVE_HARDEN), - LEVEL_UP_MOVE(10, MOVE_MINIMIZE), - LEVEL_UP_MOVE(19, MOVE_WATER_GUN), - LEVEL_UP_MOVE(28, MOVE_PIN_MISSILE), - LEVEL_UP_MOVE(37, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(46, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 9, MOVE_HARDEN), + LEVEL_UP_MOVE( 9, MOVE_MINIMIZE), + LEVEL_UP_MOVE(13, MOVE_BUBBLE), + LEVEL_UP_MOVE(17, MOVE_ROLLOUT), + LEVEL_UP_MOVE(21, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(25, MOVE_STOCKPILE), + LEVEL_UP_MOVE(25, MOVE_SPIT_UP), + LEVEL_UP_MOVE(29, MOVE_REVENGE), + LEVEL_UP_MOVE(33, MOVE_BRINE), + LEVEL_UP_MOVE(37, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(41, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(45, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(49, MOVE_POISON_JAB), + LEVEL_UP_MOVE(53, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE(57, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(60, MOVE_FELL_STINGER), LEVEL_UP_END }; -static const u16 sScizorLevelUpLearnset[] = { +static const struct LevelUpMove sScizorLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE( 1, MOVE_BULLET_PUNCH), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 6, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(11, MOVE_PURSUIT), - LEVEL_UP_MOVE(16, MOVE_FALSE_SWIPE), - LEVEL_UP_MOVE(21, MOVE_AGILITY), - LEVEL_UP_MOVE(26, MOVE_METAL_CLAW), - LEVEL_UP_MOVE(31, MOVE_SLASH), - LEVEL_UP_MOVE(36, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE(41, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE(46, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 5, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 9, MOVE_PURSUIT), + LEVEL_UP_MOVE(13, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(17, MOVE_AGILITY), + LEVEL_UP_MOVE(21, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(25, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(29, MOVE_SLASH), + LEVEL_UP_MOVE(33, MOVE_RAZOR_WIND), + LEVEL_UP_MOVE(37, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(41, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(45, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(49, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(50, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(57, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(61, MOVE_FEINT), LEVEL_UP_END }; -static const u16 sShuckleLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), +static const struct LevelUpMove sShuckleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_STICKY_WEB), LEVEL_UP_MOVE( 1, MOVE_WITHDRAW), + LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), + LEVEL_UP_MOVE( 1, MOVE_BIDE), + LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 5, MOVE_ENCORE), LEVEL_UP_MOVE( 9, MOVE_WRAP), - LEVEL_UP_MOVE(14, MOVE_ENCORE), - LEVEL_UP_MOVE(23, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(28, MOVE_BIDE), - LEVEL_UP_MOVE(37, MOVE_REST), + LEVEL_UP_MOVE(12, MOVE_STRUGGLE_BUG), + LEVEL_UP_MOVE(16, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(20, MOVE_REST), + LEVEL_UP_MOVE(23, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(27, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(31, MOVE_POWER_TRICK), + LEVEL_UP_MOVE(34, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE(38, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(42, MOVE_BUG_BITE), + LEVEL_UP_MOVE(45, MOVE_POWER_SPLIT), + LEVEL_UP_MOVE(45, MOVE_GUARD_SPLIT), + LEVEL_UP_MOVE(49, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(53, MOVE_STICKY_WEB), LEVEL_UP_END }; -static const u16 sHeracrossLevelUpLearnset[] = { +static const struct LevelUpMove sHeracrossLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ARM_THRUST), + LEVEL_UP_MOVE( 1, MOVE_BULLET_SEED), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 6, MOVE_HORN_ATTACK), - LEVEL_UP_MOVE(11, MOVE_ENDURE), - LEVEL_UP_MOVE(17, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE(23, MOVE_BRICK_BREAK), - LEVEL_UP_MOVE(30, MOVE_COUNTER), - LEVEL_UP_MOVE(37, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(45, MOVE_REVERSAL), - LEVEL_UP_MOVE(53, MOVE_MEGAHORN), + LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_ENDURE), + LEVEL_UP_MOVE( 7, MOVE_FEINT), + LEVEL_UP_MOVE(10, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(16, MOVE_CHIP_AWAY), + LEVEL_UP_MOVE(19, MOVE_COUNTER), + LEVEL_UP_MOVE(25, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(28, MOVE_BRICK_BREAK), + LEVEL_UP_MOVE(31, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(34, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(37, MOVE_MEGAHORN), + LEVEL_UP_MOVE(43, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(46, MOVE_REVERSAL), LEVEL_UP_END }; -static const u16 sSneaselLevelUpLearnset[] = { +static const struct LevelUpMove sSneaselLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_TAUNT), LEVEL_UP_MOVE( 8, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(15, MOVE_SCREECH), - LEVEL_UP_MOVE(22, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(29, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(36, MOVE_AGILITY), - LEVEL_UP_MOVE(43, MOVE_ICY_WIND), - LEVEL_UP_MOVE(50, MOVE_SLASH), - LEVEL_UP_MOVE(57, MOVE_BEAT_UP), - LEVEL_UP_MOVE(64, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(10, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(14, MOVE_ICY_WIND), + LEVEL_UP_MOVE(16, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(20, MOVE_AGILITY), + LEVEL_UP_MOVE(22, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(25, MOVE_HONE_CLAWS), + LEVEL_UP_MOVE(28, MOVE_BEAT_UP), + LEVEL_UP_MOVE(32, MOVE_SCREECH), + LEVEL_UP_MOVE(35, MOVE_SLASH), + LEVEL_UP_MOVE(40, MOVE_SNATCH), + LEVEL_UP_MOVE(44, MOVE_PUNISHMENT), + LEVEL_UP_MOVE(47, MOVE_ICE_SHARD), LEVEL_UP_END }; -static const u16 sTeddiursaLevelUpLearnset[] = { +static const struct LevelUpMove sTeddiursaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FLING), + LEVEL_UP_MOVE( 1, MOVE_COVET), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 7, MOVE_LICK), - LEVEL_UP_MOVE(13, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(19, MOVE_FAKE_TEARS), - LEVEL_UP_MOVE(25, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(31, MOVE_REST), - LEVEL_UP_MOVE(37, MOVE_SLASH), + LEVEL_UP_MOVE( 1, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE( 1, MOVE_LICK), + LEVEL_UP_MOVE( 1, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE( 8, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(15, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(22, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(25, MOVE_PLAY_NICE), + LEVEL_UP_MOVE(29, MOVE_SLASH), + LEVEL_UP_MOVE(36, MOVE_CHARM), + LEVEL_UP_MOVE(43, MOVE_REST), LEVEL_UP_MOVE(43, MOVE_SNORE), - LEVEL_UP_MOVE(49, MOVE_THRASH), + LEVEL_UP_MOVE(50, MOVE_THRASH), + LEVEL_UP_MOVE(57, MOVE_FLING), LEVEL_UP_END }; -static const u16 sUrsaringLevelUpLearnset[] = { +static const struct LevelUpMove sUrsaringLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), + 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( 1, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE( 7, MOVE_LICK), - LEVEL_UP_MOVE(13, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(19, MOVE_FAKE_TEARS), - LEVEL_UP_MOVE(25, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(31, MOVE_REST), - LEVEL_UP_MOVE(37, MOVE_SLASH), - LEVEL_UP_MOVE(43, MOVE_SNORE), - LEVEL_UP_MOVE(49, MOVE_THRASH), + LEVEL_UP_MOVE( 1, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE( 8, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(15, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(22, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(25, MOVE_PLAY_NICE), + LEVEL_UP_MOVE(29, MOVE_SLASH), + LEVEL_UP_MOVE(38, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(47, MOVE_REST), + LEVEL_UP_MOVE(49, MOVE_SNORE), + LEVEL_UP_MOVE(58, MOVE_THRASH), + LEVEL_UP_MOVE(67, MOVE_HAMMER_ARM), LEVEL_UP_END }; -static const u16 sSlugmaLevelUpLearnset[] = { +static const struct LevelUpMove sSlugmaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_SMOG), - LEVEL_UP_MOVE( 8, MOVE_EMBER), - LEVEL_UP_MOVE(15, MOVE_ROCK_THROW), - LEVEL_UP_MOVE(22, MOVE_HARDEN), - LEVEL_UP_MOVE(29, MOVE_AMNESIA), - LEVEL_UP_MOVE(36, MOVE_FLAMETHROWER), - LEVEL_UP_MOVE(43, MOVE_ROCK_SLIDE), - LEVEL_UP_MOVE(50, MOVE_BODY_SLAM), + LEVEL_UP_MOVE( 6, MOVE_EMBER), + LEVEL_UP_MOVE( 8, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(13, MOVE_HARDEN), + LEVEL_UP_MOVE(15, MOVE_INCINERATE), + LEVEL_UP_MOVE(20, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(22, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(27, MOVE_FLAME_BURST), + 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 u16 sMagcargoLevelUpLearnset[] = { +static const struct LevelUpMove sMagcargoLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE( 1, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE( 1, MOVE_EARTH_POWER), LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_SMOG), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), - LEVEL_UP_MOVE( 8, MOVE_EMBER), - LEVEL_UP_MOVE(15, MOVE_ROCK_THROW), - LEVEL_UP_MOVE(22, MOVE_HARDEN), - LEVEL_UP_MOVE(29, MOVE_AMNESIA), - LEVEL_UP_MOVE(36, MOVE_FLAMETHROWER), - LEVEL_UP_MOVE(48, MOVE_ROCK_SLIDE), - LEVEL_UP_MOVE(60, MOVE_BODY_SLAM), + LEVEL_UP_MOVE( 6, MOVE_EMBER), + LEVEL_UP_MOVE( 8, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(13, MOVE_HARDEN), + LEVEL_UP_MOVE(15, MOVE_INCINERATE), + LEVEL_UP_MOVE(20, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(22, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(27, MOVE_FLAME_BURST), + 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_MOVE(58, MOVE_EARTH_POWER), LEVEL_UP_END }; -static const u16 sSwinubLevelUpLearnset[] = { +static const struct LevelUpMove sSwinubLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), - LEVEL_UP_MOVE(10, MOVE_POWDER_SNOW), - LEVEL_UP_MOVE(19, MOVE_ENDURE), + LEVEL_UP_MOVE( 5, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 8, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(11, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(14, MOVE_ENDURE), + LEVEL_UP_MOVE(18, MOVE_MUD_BOMB), + LEVEL_UP_MOVE(21, MOVE_ICY_WIND), + LEVEL_UP_MOVE(24, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(35, MOVE_MIST), + LEVEL_UP_MOVE(37, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(40, MOVE_FLAIL), + LEVEL_UP_MOVE(44, MOVE_BLIZZARD), + LEVEL_UP_MOVE(48, MOVE_AMNESIA), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPiloswineLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_PECK), + LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE( 5, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 8, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(11, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(14, MOVE_ENDURE), + LEVEL_UP_MOVE(18, MOVE_MUD_BOMB), + LEVEL_UP_MOVE(21, MOVE_ICY_WIND), + LEVEL_UP_MOVE(24, MOVE_ICE_FANG), LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), LEVEL_UP_MOVE(37, MOVE_MIST), - LEVEL_UP_MOVE(46, MOVE_BLIZZARD), - LEVEL_UP_MOVE(55, MOVE_AMNESIA), + LEVEL_UP_MOVE(41, MOVE_THRASH), + LEVEL_UP_MOVE(46, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(52, MOVE_BLIZZARD), + LEVEL_UP_MOVE(58, MOVE_AMNESIA), LEVEL_UP_END }; -static const u16 sPiloswineLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), - LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), - LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), - LEVEL_UP_MOVE( 1, MOVE_ENDURE), - LEVEL_UP_MOVE(10, MOVE_POWDER_SNOW), - LEVEL_UP_MOVE(19, MOVE_ENDURE), - LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(33, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE(42, MOVE_MIST), - LEVEL_UP_MOVE(56, MOVE_BLIZZARD), - LEVEL_UP_MOVE(70, MOVE_AMNESIA), - LEVEL_UP_END -}; - -static const u16 sCorsolaLevelUpLearnset[] = { +static const struct LevelUpMove sCorsolaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 6, MOVE_HARDEN), - LEVEL_UP_MOVE(12, MOVE_BUBBLE), - LEVEL_UP_MOVE(17, MOVE_RECOVER), - LEVEL_UP_MOVE(17, MOVE_REFRESH), - LEVEL_UP_MOVE(23, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE(28, MOVE_SPIKE_CANNON), - LEVEL_UP_MOVE(34, MOVE_ROCK_BLAST), - LEVEL_UP_MOVE(39, MOVE_MIRROR_COAT), - LEVEL_UP_MOVE(45, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 4, MOVE_BUBBLE), + LEVEL_UP_MOVE( 8, MOVE_RECOVER), + LEVEL_UP_MOVE(10, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(13, MOVE_REFRESH), + LEVEL_UP_MOVE(17, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(20, MOVE_SPIKE_CANNON), + LEVEL_UP_MOVE(23, MOVE_LUCKY_CHANT), + LEVEL_UP_MOVE(27, MOVE_BRINE), + LEVEL_UP_MOVE(29, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(31, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE(35, MOVE_ENDURE), + LEVEL_UP_MOVE(38, MOVE_AQUA_RING), + LEVEL_UP_MOVE(41, MOVE_POWER_GEM), + LEVEL_UP_MOVE(45, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE(47, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(50, MOVE_FLAIL), LEVEL_UP_END }; -static const u16 sRemoraidLevelUpLearnset[] = { +static const struct LevelUpMove sRemoraidLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE(11, MOVE_LOCK_ON), - LEVEL_UP_MOVE(22, MOVE_PSYBEAM), - LEVEL_UP_MOVE(22, MOVE_AURORA_BEAM), - LEVEL_UP_MOVE(22, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE(33, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(44, MOVE_ICE_BEAM), - LEVEL_UP_MOVE(55, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE( 6, MOVE_LOCK_ON), + LEVEL_UP_MOVE(10, MOVE_PSYBEAM), + LEVEL_UP_MOVE(14, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(18, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(22, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(26, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(30, MOVE_SIGNAL_BEAM), + LEVEL_UP_MOVE(34, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(38, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(42, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(46, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(50, MOVE_SOAK), LEVEL_UP_END }; -static const u16 sOctilleryLevelUpLearnset[] = { +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_WATER_GUN), - LEVEL_UP_MOVE(11, MOVE_CONSTRICT), - LEVEL_UP_MOVE(22, MOVE_PSYBEAM), - LEVEL_UP_MOVE(22, MOVE_AURORA_BEAM), - LEVEL_UP_MOVE(22, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE(25, MOVE_OCTAZOOKA), - LEVEL_UP_MOVE(38, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(54, MOVE_ICE_BEAM), - LEVEL_UP_MOVE(70, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), + LEVEL_UP_MOVE( 1, MOVE_PSYBEAM), + LEVEL_UP_MOVE( 1, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE( 6, MOVE_CONSTRICT), + LEVEL_UP_MOVE(10, MOVE_PSYBEAM), + LEVEL_UP_MOVE(14, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(18, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(22, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(28, MOVE_WRING_OUT), + LEVEL_UP_MOVE(34, MOVE_SIGNAL_BEAM), + LEVEL_UP_MOVE(40, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(46, MOVE_BULLET_SEED), + LEVEL_UP_MOVE(52, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(58, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(64, MOVE_SOAK), LEVEL_UP_END }; -static const u16 sDelibirdLevelUpLearnset[] = { +static const struct LevelUpMove sDelibirdLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PRESENT), + LEVEL_UP_MOVE(25, MOVE_DRILL_PECK), LEVEL_UP_END }; -static const u16 sMantineLevelUpLearnset[] = { +static const struct LevelUpMove sMantineLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PSYBEAM), + LEVEL_UP_MOVE( 1, MOVE_BULLET_SEED), + LEVEL_UP_MOVE( 1, MOVE_SIGNAL_BEAM), + LEVEL_UP_MOVE( 1, MOVE_ROOST), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), - LEVEL_UP_MOVE( 8, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(15, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE(22, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(29, MOVE_AGILITY), - LEVEL_UP_MOVE(36, MOVE_WING_ATTACK), - LEVEL_UP_MOVE(43, MOVE_WATER_PULSE), - LEVEL_UP_MOVE(50, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE( 3, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 7, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(11, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(14, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(16, MOVE_HEADBUTT), + LEVEL_UP_MOVE(19, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(23, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(27, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(32, MOVE_AGILITY), + LEVEL_UP_MOVE(36, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(39, MOVE_AQUA_RING), + LEVEL_UP_MOVE(46, MOVE_BOUNCE), + LEVEL_UP_MOVE(49, MOVE_HYDRO_PUMP), LEVEL_UP_END }; -static const u16 sSkarmoryLevelUpLearnset[] = { +static const struct LevelUpMove sSkarmoryLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_PECK), - LEVEL_UP_MOVE(10, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(13, MOVE_SWIFT), - LEVEL_UP_MOVE(16, MOVE_AGILITY), - LEVEL_UP_MOVE(26, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE(29, MOVE_AIR_CUTTER), - LEVEL_UP_MOVE(32, MOVE_STEEL_WING), - LEVEL_UP_MOVE(42, MOVE_SPIKES), - LEVEL_UP_MOVE(45, MOVE_METAL_SOUND), + LEVEL_UP_MOVE( 6, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(12, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(17, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE(20, MOVE_FEINT), + LEVEL_UP_MOVE(23, MOVE_SWIFT), + LEVEL_UP_MOVE(28, MOVE_SPIKES), + LEVEL_UP_MOVE(31, MOVE_AGILITY), + LEVEL_UP_MOVE(34, MOVE_STEEL_WING), + LEVEL_UP_MOVE(39, MOVE_SLASH), + LEVEL_UP_MOVE(42, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(45, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(50, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE(53, MOVE_NIGHT_SLASH), LEVEL_UP_END }; -static const u16 sHoundourLevelUpLearnset[] = { +static const struct LevelUpMove sHoundourLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE( 7, MOVE_HOWL), - LEVEL_UP_MOVE(13, MOVE_SMOG), - LEVEL_UP_MOVE(19, MOVE_ROAR), - LEVEL_UP_MOVE(25, MOVE_BITE), - LEVEL_UP_MOVE(31, MOVE_ODOR_SLEUTH), - LEVEL_UP_MOVE(37, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(43, MOVE_FLAMETHROWER), + 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_ODOR_SLEUTH), + LEVEL_UP_MOVE(25, MOVE_BEAT_UP), + LEVEL_UP_MOVE(28, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(32, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(37, MOVE_EMBARGO), + 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 u16 sHoundoomLevelUpLearnset[] = { +static const struct LevelUpMove sHoundoomLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_INFERNO), + LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_HOWL), - LEVEL_UP_MOVE( 7, MOVE_HOWL), - LEVEL_UP_MOVE(13, MOVE_SMOG), - LEVEL_UP_MOVE(19, MOVE_ROAR), - LEVEL_UP_MOVE(27, MOVE_BITE), - LEVEL_UP_MOVE(35, MOVE_ODOR_SLEUTH), - LEVEL_UP_MOVE(43, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(51, MOVE_FLAMETHROWER), - LEVEL_UP_MOVE(59, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_SMOG), + 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_ODOR_SLEUTH), + LEVEL_UP_MOVE(26, MOVE_BEAT_UP), + LEVEL_UP_MOVE(30, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(35, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(41, MOVE_EMBARGO), + LEVEL_UP_MOVE(45, MOVE_FOUL_PLAY), + LEVEL_UP_MOVE(50, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(56, MOVE_CRUNCH), + LEVEL_UP_MOVE(60, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(65, MOVE_INFERNO), LEVEL_UP_END }; -static const u16 sKingdraLevelUpLearnset[] = { +static const struct LevelUpMove sKingdraLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_SMOKESCREEN), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 8, MOVE_SMOKESCREEN), - LEVEL_UP_MOVE(15, MOVE_LEER), - LEVEL_UP_MOVE(22, MOVE_WATER_GUN), - LEVEL_UP_MOVE(29, MOVE_TWISTER), - LEVEL_UP_MOVE(40, MOVE_AGILITY), - LEVEL_UP_MOVE(51, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE(62, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE( 5, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE( 9, MOVE_LEER), + LEVEL_UP_MOVE(13, MOVE_WATER_GUN), + LEVEL_UP_MOVE(17, MOVE_TWISTER), + LEVEL_UP_MOVE(21, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(26, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(31, MOVE_BRINE), + LEVEL_UP_MOVE(38, MOVE_AGILITY), + LEVEL_UP_MOVE(45, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(52, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(60, MOVE_HYDRO_PUMP), LEVEL_UP_END }; -static const u16 sPhanpyLevelUpLearnset[] = { +static const struct LevelUpMove sPhanpyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 9, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE(17, MOVE_FLAIL), - LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(33, MOVE_ROLLOUT), - LEVEL_UP_MOVE(41, MOVE_ENDURE), - LEVEL_UP_MOVE(49, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 6, MOVE_FLAIL), + LEVEL_UP_MOVE(10, MOVE_ROLLOUT), + LEVEL_UP_MOVE(15, MOVE_NATURAL_GIFT), + 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 u16 sDonphanLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), +static const struct LevelUpMove sDonphanLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), LEVEL_UP_MOVE( 1, MOVE_HORN_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_BULLDOZE), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 9, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE(17, MOVE_FLAIL), - LEVEL_UP_MOVE(25, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE(33, MOVE_ROLLOUT), - LEVEL_UP_MOVE(41, MOVE_RAPID_SPIN), - LEVEL_UP_MOVE(49, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + 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_MAGNITUDE), + LEVEL_UP_MOVE(37, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(43, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(50, MOVE_GIGA_IMPACT), LEVEL_UP_END }; -static const u16 sPorygon2LevelUpLearnset[] = { +static const struct LevelUpMove sPorygonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE( 1, MOVE_MAGIC_COAT), LEVEL_UP_MOVE( 1, MOVE_CONVERSION_2), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_CONVERSION), - LEVEL_UP_MOVE( 9, MOVE_AGILITY), - LEVEL_UP_MOVE(12, MOVE_PSYBEAM), - LEVEL_UP_MOVE(20, MOVE_RECOVER), - LEVEL_UP_MOVE(24, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE(32, MOVE_LOCK_ON), - LEVEL_UP_MOVE(36, MOVE_TRI_ATTACK), - LEVEL_UP_MOVE(44, MOVE_RECYCLE), - LEVEL_UP_MOVE(48, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 7, MOVE_PSYBEAM), + LEVEL_UP_MOVE(12, MOVE_AGILITY), + LEVEL_UP_MOVE(18, MOVE_RECOVER), + LEVEL_UP_MOVE(23, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE(29, MOVE_SIGNAL_BEAM), + LEVEL_UP_MOVE(34, MOVE_RECYCLE), + LEVEL_UP_MOVE(40, MOVE_DISCHARGE), + LEVEL_UP_MOVE(45, MOVE_LOCK_ON), + LEVEL_UP_MOVE(50, MOVE_TRI_ATTACK), + LEVEL_UP_MOVE(56, MOVE_MAGIC_COAT), + LEVEL_UP_MOVE(62, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(67, MOVE_HYPER_BEAM), LEVEL_UP_END }; -static const u16 sStantlerLevelUpLearnset[] = { +static const struct LevelUpMove sStantlerLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ME_FIRST), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 7, MOVE_LEER), - LEVEL_UP_MOVE(13, MOVE_ASTONISH), - LEVEL_UP_MOVE(19, MOVE_HYPNOSIS), - LEVEL_UP_MOVE(25, MOVE_STOMP), - LEVEL_UP_MOVE(31, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(37, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(43, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE(49, MOVE_CALM_MIND), + 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(33, MOVE_ROLE_PLAY), + LEVEL_UP_MOVE(38, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(43, MOVE_JUMP_KICK), + LEVEL_UP_MOVE(49, MOVE_IMPRISON), + LEVEL_UP_MOVE(50, MOVE_CAPTIVATE), + LEVEL_UP_MOVE(55, MOVE_ME_FIRST), LEVEL_UP_END }; -static const u16 sSmeargleLevelUpLearnset[] = { +static const struct LevelUpMove sSmeargleLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SKETCH), LEVEL_UP_MOVE(11, MOVE_SKETCH), LEVEL_UP_MOVE(21, MOVE_SKETCH), @@ -3230,1554 +4709,2048 @@ static const u16 sSmeargleLevelUpLearnset[] = { LEVEL_UP_END }; -static const u16 sTyrogueLevelUpLearnset[] = { +static const struct LevelUpMove sTyrogueLevelUpLearnset[] = { 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_FORESIGHT), LEVEL_UP_END }; -static const u16 sHitmontopLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_REVENGE), +static const struct LevelUpMove sHitmontopLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_ROLLING_KICK), LEVEL_UP_MOVE( 1, MOVE_ROLLING_KICK), - LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(13, MOVE_PURSUIT), - LEVEL_UP_MOVE(19, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(20, MOVE_TRIPLE_KICK), - LEVEL_UP_MOVE(25, MOVE_RAPID_SPIN), - LEVEL_UP_MOVE(31, MOVE_COUNTER), + LEVEL_UP_MOVE( 1, MOVE_ENDEAVOR), + LEVEL_UP_MOVE( 1, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE( 1, MOVE_DETECT), + LEVEL_UP_MOVE( 1, MOVE_REVENGE), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 1, MOVE_PURSUIT), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 6, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(10, MOVE_PURSUIT), + LEVEL_UP_MOVE(15, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(19, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(24, MOVE_FEINT), + LEVEL_UP_MOVE(28, MOVE_COUNTER), + LEVEL_UP_MOVE(33, MOVE_TRIPLE_KICK), LEVEL_UP_MOVE(37, MOVE_AGILITY), - LEVEL_UP_MOVE(43, MOVE_DETECT), - LEVEL_UP_MOVE(49, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(42, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(46, MOVE_WIDE_GUARD), + LEVEL_UP_MOVE(46, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(50, MOVE_DETECT), + LEVEL_UP_MOVE(55, MOVE_CLOSE_COMBAT), + LEVEL_UP_MOVE(60, MOVE_ENDEAVOR), LEVEL_UP_END }; -static const u16 sSmoochumLevelUpLearnset[] = { +static const struct LevelUpMove sSmoochumLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), - LEVEL_UP_MOVE( 1, MOVE_LICK), - LEVEL_UP_MOVE( 9, MOVE_SWEET_KISS), - LEVEL_UP_MOVE(13, MOVE_POWDER_SNOW), - LEVEL_UP_MOVE(21, MOVE_CONFUSION), - LEVEL_UP_MOVE(25, MOVE_SING), - LEVEL_UP_MOVE(33, MOVE_MEAN_LOOK), - LEVEL_UP_MOVE(37, MOVE_FAKE_TEARS), - LEVEL_UP_MOVE(45, MOVE_PSYCHIC), - LEVEL_UP_MOVE(49, MOVE_PERISH_SONG), - LEVEL_UP_MOVE(57, MOVE_BLIZZARD), + LEVEL_UP_MOVE( 5, MOVE_LICK), + LEVEL_UP_MOVE( 8, MOVE_SWEET_KISS), + LEVEL_UP_MOVE(11, MOVE_POWDER_SNOW), + LEVEL_UP_MOVE(15, MOVE_CONFUSION), + LEVEL_UP_MOVE(18, MOVE_SING), + LEVEL_UP_MOVE(21, MOVE_HEART_STAMP), + LEVEL_UP_MOVE(25, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(28, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(31, MOVE_LUCKY_CHANT), + LEVEL_UP_MOVE(35, MOVE_AVALANCHE), + LEVEL_UP_MOVE(38, MOVE_PSYCHIC), + LEVEL_UP_MOVE(41, MOVE_COPYCAT), + LEVEL_UP_MOVE(45, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(48, MOVE_BLIZZARD), LEVEL_UP_END }; -static const u16 sElekidLevelUpLearnset[] = { +static const struct LevelUpMove sElekidLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 9, MOVE_THUNDER_PUNCH), - LEVEL_UP_MOVE(17, MOVE_LIGHT_SCREEN), - LEVEL_UP_MOVE(25, MOVE_SWIFT), - LEVEL_UP_MOVE(33, MOVE_SCREECH), - LEVEL_UP_MOVE(41, MOVE_THUNDERBOLT), - LEVEL_UP_MOVE(49, MOVE_THUNDER), + LEVEL_UP_MOVE( 5, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE( 8, MOVE_LOW_KICK), + LEVEL_UP_MOVE(12, MOVE_SWIFT), + LEVEL_UP_MOVE(15, MOVE_SHOCK_WAVE), + LEVEL_UP_MOVE(19, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE(22, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(26, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(29, MOVE_THUNDER_PUNCH), + LEVEL_UP_MOVE(33, MOVE_DISCHARGE), + LEVEL_UP_MOVE(36, MOVE_SCREECH), + LEVEL_UP_MOVE(40, MOVE_THUNDERBOLT), + LEVEL_UP_MOVE(43, MOVE_THUNDER), LEVEL_UP_END }; -static const u16 sMagbyLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE( 7, MOVE_LEER), - LEVEL_UP_MOVE(13, MOVE_SMOG), - LEVEL_UP_MOVE(19, MOVE_FIRE_PUNCH), - LEVEL_UP_MOVE(25, MOVE_SMOKESCREEN), - LEVEL_UP_MOVE(31, MOVE_SUNNY_DAY), - LEVEL_UP_MOVE(37, MOVE_FLAMETHROWER), - LEVEL_UP_MOVE(43, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE(49, MOVE_FIRE_BLAST), +static const struct LevelUpMove sMagbyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SMOG), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 5, MOVE_EMBER), + LEVEL_UP_MOVE( 8, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(12, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(15, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(19, MOVE_CLEAR_SMOG), + LEVEL_UP_MOVE(22, MOVE_FLAME_BURST), + LEVEL_UP_MOVE(26, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(29, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE(33, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(36, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(40, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(43, MOVE_FIRE_BLAST), LEVEL_UP_END }; -static const u16 sMiltankLevelUpLearnset[] = { +static const struct LevelUpMove sMiltankLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 4, MOVE_GROWL), - LEVEL_UP_MOVE( 8, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE(13, MOVE_STOMP), - LEVEL_UP_MOVE(19, MOVE_MILK_DRINK), - LEVEL_UP_MOVE(26, MOVE_BIDE), - LEVEL_UP_MOVE(34, MOVE_ROLLOUT), - LEVEL_UP_MOVE(43, MOVE_BODY_SLAM), - LEVEL_UP_MOVE(53, MOVE_HEAL_BELL), + LEVEL_UP_MOVE( 3, MOVE_GROWL), + LEVEL_UP_MOVE( 5, MOVE_DEFENSE_CURL), + LEVEL_UP_MOVE( 8, MOVE_STOMP), + LEVEL_UP_MOVE(11, MOVE_MILK_DRINK), + LEVEL_UP_MOVE(15, MOVE_BIDE), + LEVEL_UP_MOVE(19, MOVE_ROLLOUT), + LEVEL_UP_MOVE(24, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(29, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(35, MOVE_CAPTIVATE), + LEVEL_UP_MOVE(41, MOVE_GYRO_BALL), + LEVEL_UP_MOVE(48, MOVE_HEAL_BELL), + LEVEL_UP_MOVE(50, MOVE_WAKE_UP_SLAP), LEVEL_UP_END }; -static const u16 sBlisseyLevelUpLearnset[] = { +static const struct LevelUpMove sBlisseyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 4, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 7, MOVE_REFRESH), - LEVEL_UP_MOVE(10, MOVE_SOFT_BOILED), - LEVEL_UP_MOVE(13, MOVE_DOUBLE_SLAP), - LEVEL_UP_MOVE(18, MOVE_MINIMIZE), - LEVEL_UP_MOVE(23, MOVE_SING), - LEVEL_UP_MOVE(28, MOVE_EGG_BOMB), - LEVEL_UP_MOVE(33, MOVE_DEFENSE_CURL), - LEVEL_UP_MOVE(40, MOVE_LIGHT_SCREEN), - LEVEL_UP_MOVE(47, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 9, MOVE_REFRESH), + LEVEL_UP_MOVE(12, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(16, MOVE_SOFT_BOILED), + LEVEL_UP_MOVE(20, MOVE_BESTOW), + LEVEL_UP_MOVE(23, MOVE_MINIMIZE), + LEVEL_UP_MOVE(27, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(31, MOVE_SING), + LEVEL_UP_MOVE(34, MOVE_FLING), + LEVEL_UP_MOVE(39, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(44, MOVE_EGG_BOMB), + LEVEL_UP_MOVE(50, MOVE_LIGHT_SCREEN), + LEVEL_UP_MOVE(57, MOVE_HEALING_WISH), + LEVEL_UP_MOVE(65, MOVE_DOUBLE_EDGE), LEVEL_UP_END }; -static const u16 sRaikouLevelUpLearnset[] = { +static const struct LevelUpMove sRaikouLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE( 1, MOVE_DISCHARGE), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE(11, MOVE_THUNDER_SHOCK), - LEVEL_UP_MOVE(21, MOVE_ROAR), - LEVEL_UP_MOVE(31, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(41, MOVE_SPARK), - LEVEL_UP_MOVE(51, MOVE_REFLECT), - LEVEL_UP_MOVE(61, MOVE_CRUNCH), - LEVEL_UP_MOVE(71, MOVE_THUNDER), - LEVEL_UP_MOVE(81, MOVE_CALM_MIND), - LEVEL_UP_END -}; - -static const u16 sEnteiLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_BITE), - LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE(11, MOVE_EMBER), - LEVEL_UP_MOVE(21, MOVE_ROAR), - LEVEL_UP_MOVE(31, MOVE_FIRE_SPIN), - LEVEL_UP_MOVE(41, MOVE_STOMP), - LEVEL_UP_MOVE(51, MOVE_FLAMETHROWER), - LEVEL_UP_MOVE(61, MOVE_SWAGGER), - LEVEL_UP_MOVE(71, MOVE_FIRE_BLAST), - LEVEL_UP_MOVE(81, MOVE_CALM_MIND), - LEVEL_UP_END -}; - -static const u16 sSuicuneLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_BITE), - LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE(11, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE(21, MOVE_RAIN_DANCE), - LEVEL_UP_MOVE(31, MOVE_GUST), - LEVEL_UP_MOVE(41, MOVE_AURORA_BEAM), - LEVEL_UP_MOVE(51, MOVE_MIST), - LEVEL_UP_MOVE(61, MOVE_MIRROR_COAT), - LEVEL_UP_MOVE(71, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE(81, MOVE_CALM_MIND), - LEVEL_UP_END -}; - -static const u16 sLarvitarLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_BITE), - LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 8, MOVE_SANDSTORM), - LEVEL_UP_MOVE(15, MOVE_SCREECH), - LEVEL_UP_MOVE(22, MOVE_ROCK_SLIDE), - LEVEL_UP_MOVE(29, MOVE_THRASH), - LEVEL_UP_MOVE(36, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 8, MOVE_THUNDER_SHOCK), + LEVEL_UP_MOVE(15, MOVE_ROAR), + LEVEL_UP_MOVE(22, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(29, MOVE_SPARK), + LEVEL_UP_MOVE(36, MOVE_REFLECT), LEVEL_UP_MOVE(43, MOVE_CRUNCH), - LEVEL_UP_MOVE(50, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE(57, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(50, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE(57, MOVE_DISCHARGE), + LEVEL_UP_MOVE(64, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(71, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(78, MOVE_CALM_MIND), + LEVEL_UP_MOVE(85, MOVE_THUNDER), LEVEL_UP_END }; -static const u16 sPupitarLevelUpLearnset[] = { +static const struct LevelUpMove sEnteiLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SACRED_FIRE), + LEVEL_UP_MOVE( 1, MOVE_ERUPTION), + LEVEL_UP_MOVE( 1, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE( 1, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 8, MOVE_EMBER), + LEVEL_UP_MOVE(15, MOVE_ROAR), + LEVEL_UP_MOVE(22, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(29, MOVE_STOMP), + LEVEL_UP_MOVE(36, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(43, MOVE_SWAGGER), + LEVEL_UP_MOVE(50, MOVE_FIRE_FANG), + LEVEL_UP_MOVE(57, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(64, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(71, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(78, MOVE_CALM_MIND), + LEVEL_UP_MOVE(85, MOVE_ERUPTION), + LEVEL_UP_END +}; + +static const struct LevelUpMove sSuicuneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SHEER_COLD), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE( 1, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE( 8, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(15, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(22, MOVE_GUST), + LEVEL_UP_MOVE(29, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(36, MOVE_MIST), + LEVEL_UP_MOVE(43, MOVE_MIRROR_COAT), + LEVEL_UP_MOVE(50, MOVE_ICE_FANG), + LEVEL_UP_MOVE(57, MOVE_TAILWIND), + LEVEL_UP_MOVE(64, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(71, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(78, MOVE_CALM_MIND), + LEVEL_UP_MOVE(85, MOVE_BLIZZARD), + LEVEL_UP_END +}; + +static const struct LevelUpMove sLarvitarLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 5, MOVE_SANDSTORM), + LEVEL_UP_MOVE(10, MOVE_SCREECH), + LEVEL_UP_MOVE(14, MOVE_CHIP_AWAY), + LEVEL_UP_MOVE(19, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(23, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(28, MOVE_THRASH), + LEVEL_UP_MOVE(32, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(37, MOVE_PAYBACK), + LEVEL_UP_MOVE(41, MOVE_CRUNCH), + LEVEL_UP_MOVE(46, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(50, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(55, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sPupitarLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_SANDSTORM), LEVEL_UP_MOVE( 1, MOVE_SCREECH), - LEVEL_UP_MOVE( 8, MOVE_SANDSTORM), - LEVEL_UP_MOVE(15, MOVE_SCREECH), - LEVEL_UP_MOVE(22, MOVE_ROCK_SLIDE), - LEVEL_UP_MOVE(29, MOVE_THRASH), - LEVEL_UP_MOVE(38, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 5, MOVE_SANDSTORM), + LEVEL_UP_MOVE(10, MOVE_SCREECH), + LEVEL_UP_MOVE(14, MOVE_CHIP_AWAY), + LEVEL_UP_MOVE(19, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(23, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(28, MOVE_THRASH), + LEVEL_UP_MOVE(34, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(41, MOVE_PAYBACK), LEVEL_UP_MOVE(47, MOVE_CRUNCH), - LEVEL_UP_MOVE(56, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(54, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(60, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(67, MOVE_HYPER_BEAM), LEVEL_UP_END }; -static const u16 sTyranitarLevelUpLearnset[] = { +static const struct LevelUpMove sTyranitarLevelUpLearnset[] = { + 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_BITE), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_SANDSTORM), LEVEL_UP_MOVE( 1, MOVE_SCREECH), - LEVEL_UP_MOVE( 8, MOVE_SANDSTORM), - LEVEL_UP_MOVE(15, MOVE_SCREECH), - LEVEL_UP_MOVE(22, MOVE_ROCK_SLIDE), - LEVEL_UP_MOVE(29, MOVE_THRASH), - LEVEL_UP_MOVE(38, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 5, MOVE_SANDSTORM), + LEVEL_UP_MOVE(10, MOVE_SCREECH), + LEVEL_UP_MOVE(14, MOVE_CHIP_AWAY), + LEVEL_UP_MOVE(19, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(23, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(28, MOVE_THRASH), + LEVEL_UP_MOVE(34, MOVE_DARK_PULSE), + LEVEL_UP_MOVE(41, MOVE_PAYBACK), LEVEL_UP_MOVE(47, MOVE_CRUNCH), - LEVEL_UP_MOVE(61, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE(75, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(54, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(63, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(73, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(82, MOVE_GIGA_IMPACT), LEVEL_UP_END }; -static const u16 sLugiaLevelUpLearnset[] = { +static const struct LevelUpMove sLugiaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), - LEVEL_UP_MOVE(11, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(22, MOVE_GUST), - LEVEL_UP_MOVE(33, MOVE_RECOVER), - LEVEL_UP_MOVE(44, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE(55, MOVE_RAIN_DANCE), - LEVEL_UP_MOVE(66, MOVE_SWIFT), - LEVEL_UP_MOVE(77, MOVE_AEROBLAST), - LEVEL_UP_MOVE(88, MOVE_ANCIENT_POWER), - LEVEL_UP_MOVE(99, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE( 1, MOVE_WEATHER_BALL), + LEVEL_UP_MOVE( 9, MOVE_GUST), + LEVEL_UP_MOVE(15, MOVE_DRAGON_RUSH), + LEVEL_UP_MOVE(23, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(29, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(37, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(43, MOVE_AEROBLAST), + LEVEL_UP_MOVE(50, MOVE_PUNISHMENT), + LEVEL_UP_MOVE(57, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(65, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(71, MOVE_RECOVER), + LEVEL_UP_MOVE(79, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(85, MOVE_NATURAL_GIFT), + LEVEL_UP_MOVE(93, MOVE_CALM_MIND), + LEVEL_UP_MOVE(99, MOVE_SKY_ATTACK), LEVEL_UP_END }; -static const u16 sHoOhLevelUpLearnset[] = { +static const struct LevelUpMove sHoOhLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), - LEVEL_UP_MOVE(11, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(22, MOVE_GUST), - LEVEL_UP_MOVE(33, MOVE_RECOVER), - LEVEL_UP_MOVE(44, MOVE_FIRE_BLAST), - LEVEL_UP_MOVE(55, MOVE_SUNNY_DAY), - LEVEL_UP_MOVE(66, MOVE_SWIFT), - LEVEL_UP_MOVE(77, MOVE_SACRED_FIRE), - LEVEL_UP_MOVE(88, MOVE_ANCIENT_POWER), - LEVEL_UP_MOVE(99, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE( 1, MOVE_WEATHER_BALL), + LEVEL_UP_MOVE( 9, MOVE_GUST), + LEVEL_UP_MOVE(15, MOVE_BRAVE_BIRD), + LEVEL_UP_MOVE(23, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(29, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(37, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(43, MOVE_SACRED_FIRE), + LEVEL_UP_MOVE(50, MOVE_PUNISHMENT), + LEVEL_UP_MOVE(57, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(65, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(71, MOVE_RECOVER), + LEVEL_UP_MOVE(79, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(85, MOVE_NATURAL_GIFT), + LEVEL_UP_MOVE(93, MOVE_CALM_MIND), + LEVEL_UP_MOVE(99, MOVE_SKY_ATTACK), LEVEL_UP_END }; -static const u16 sCelebiLevelUpLearnset[] = { +static const struct LevelUpMove sCelebiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_RECOVER), LEVEL_UP_MOVE( 1, MOVE_HEAL_BELL), LEVEL_UP_MOVE(10, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(20, MOVE_ANCIENT_POWER), - LEVEL_UP_MOVE(30, MOVE_FUTURE_SIGHT), - LEVEL_UP_MOVE(40, MOVE_BATON_PASS), - LEVEL_UP_MOVE(50, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(19, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(28, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(37, MOVE_BATON_PASS), + LEVEL_UP_MOVE(46, MOVE_NATURAL_GIFT), + LEVEL_UP_MOVE(55, MOVE_HEAL_BLOCK), + LEVEL_UP_MOVE(64, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(73, MOVE_HEALING_WISH), + LEVEL_UP_MOVE(82, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(91, MOVE_PERISH_SONG), LEVEL_UP_END }; -static const u16 sSpecies252LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies252LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies253LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies253LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies254LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies254LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies255LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies255LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies256LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies256LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies257LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies257LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies258LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies258LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies259LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies259LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies260LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies260LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies261LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies261LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies262LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies262LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies263LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies263LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies264LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies264LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies265LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies265LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies266LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies266LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies267LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies267LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies268LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies268LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies269LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies269LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies270LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies270LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies271LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies271LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies272LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies272LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies273LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies273LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies274LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies274LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies275LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies275LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sSpecies276LevelUpLearnset[] = { +static const struct LevelUpMove sSpecies276LevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_END }; -static const u16 sTreeckoLevelUpLearnset[] = { +static const struct LevelUpMove sTreeckoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 6, MOVE_ABSORB), - LEVEL_UP_MOVE(11, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(16, MOVE_PURSUIT), - LEVEL_UP_MOVE(21, MOVE_SCREECH), - LEVEL_UP_MOVE(26, MOVE_MEGA_DRAIN), - LEVEL_UP_MOVE(31, MOVE_AGILITY), - LEVEL_UP_MOVE(36, MOVE_SLAM), - LEVEL_UP_MOVE(41, MOVE_DETECT), - LEVEL_UP_MOVE(46, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE( 5, MOVE_ABSORB), + LEVEL_UP_MOVE( 9, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(17, MOVE_PURSUIT), + LEVEL_UP_MOVE(21, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(25, MOVE_AGILITY), + LEVEL_UP_MOVE(29, MOVE_SLAM), + LEVEL_UP_MOVE(33, MOVE_DETECT), + LEVEL_UP_MOVE(37, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(41, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(45, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(49, MOVE_SCREECH), LEVEL_UP_END }; -static const u16 sGrovyleLevelUpLearnset[] = { +static const struct LevelUpMove sGrovyleLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE( 6, MOVE_ABSORB), - LEVEL_UP_MOVE(11, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(16, MOVE_FURY_CUTTER), - LEVEL_UP_MOVE(17, MOVE_PURSUIT), - LEVEL_UP_MOVE(23, MOVE_SCREECH), - LEVEL_UP_MOVE(29, MOVE_LEAF_BLADE), - LEVEL_UP_MOVE(35, MOVE_AGILITY), - LEVEL_UP_MOVE(41, MOVE_SLAM), - LEVEL_UP_MOVE(47, MOVE_DETECT), - LEVEL_UP_MOVE(53, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE( 5, MOVE_ABSORB), + LEVEL_UP_MOVE( 9, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(18, MOVE_PURSUIT), + LEVEL_UP_MOVE(23, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(28, MOVE_AGILITY), + LEVEL_UP_MOVE(33, MOVE_SLAM), + LEVEL_UP_MOVE(38, MOVE_DETECT), + LEVEL_UP_MOVE(43, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(48, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(53, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(58, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(63, MOVE_SCREECH), LEVEL_UP_END }; -static const u16 sSceptileLevelUpLearnset[] = { +static const struct LevelUpMove sSceptileLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_DUAL_CHOP), + LEVEL_UP_MOVE( 1, MOVE_DUAL_CHOP), + LEVEL_UP_MOVE( 1, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE( 1, MOVE_LEAF_STORM), + LEVEL_UP_MOVE( 1, MOVE_NIGHT_SLASH), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE( 6, MOVE_ABSORB), - LEVEL_UP_MOVE(11, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(16, MOVE_FURY_CUTTER), - LEVEL_UP_MOVE(17, MOVE_PURSUIT), - LEVEL_UP_MOVE(23, MOVE_SCREECH), - LEVEL_UP_MOVE(29, MOVE_LEAF_BLADE), - LEVEL_UP_MOVE(35, MOVE_AGILITY), - LEVEL_UP_MOVE(43, MOVE_SLAM), - LEVEL_UP_MOVE(51, MOVE_DETECT), - LEVEL_UP_MOVE(59, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE( 5, MOVE_ABSORB), + LEVEL_UP_MOVE( 9, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(18, MOVE_PURSUIT), + LEVEL_UP_MOVE(23, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(28, MOVE_AGILITY), + LEVEL_UP_MOVE(33, MOVE_SLAM), + LEVEL_UP_MOVE(39, MOVE_DETECT), + LEVEL_UP_MOVE(45, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(51, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(57, MOVE_QUICK_GUARD), + LEVEL_UP_MOVE(63, MOVE_LEAF_STORM), + LEVEL_UP_MOVE(69, MOVE_SCREECH), LEVEL_UP_END }; -static const u16 sTorchicLevelUpLearnset[] = { +static const struct LevelUpMove sTorchicLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(10, MOVE_EMBER), - LEVEL_UP_MOVE(16, MOVE_PECK), - LEVEL_UP_MOVE(19, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(25, MOVE_FIRE_SPIN), - LEVEL_UP_MOVE(28, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(34, MOVE_SLASH), - LEVEL_UP_MOVE(37, MOVE_MIRROR_MOVE), - LEVEL_UP_MOVE(43, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE( 5, MOVE_EMBER), + LEVEL_UP_MOVE(10, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(14, MOVE_PECK), + LEVEL_UP_MOVE(19, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(23, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(28, MOVE_FLAME_BURST), + LEVEL_UP_MOVE(32, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(37, MOVE_SLASH), + LEVEL_UP_MOVE(41, MOVE_MIRROR_MOVE), + LEVEL_UP_MOVE(46, MOVE_FLAMETHROWER), LEVEL_UP_END }; -static const u16 sCombuskenLevelUpLearnset[] = { +static const struct LevelUpMove sCombuskenLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(13, MOVE_EMBER), - LEVEL_UP_MOVE(16, MOVE_DOUBLE_KICK), - LEVEL_UP_MOVE(17, MOVE_PECK), - LEVEL_UP_MOVE(21, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(28, MOVE_BULK_UP), - LEVEL_UP_MOVE(32, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(39, MOVE_SLASH), - LEVEL_UP_MOVE(43, MOVE_MIRROR_MOVE), - LEVEL_UP_MOVE(50, MOVE_SKY_UPPERCUT), - LEVEL_UP_END -}; - -static const u16 sBlazikenLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), - LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE( 7, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(13, MOVE_EMBER), - LEVEL_UP_MOVE(16, MOVE_DOUBLE_KICK), - LEVEL_UP_MOVE(17, MOVE_PECK), - LEVEL_UP_MOVE(21, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(28, MOVE_BULK_UP), - LEVEL_UP_MOVE(32, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(36, MOVE_BLAZE_KICK), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 5, MOVE_EMBER), + LEVEL_UP_MOVE(10, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(14, MOVE_PECK), + LEVEL_UP_MOVE(20, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(25, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(31, MOVE_BULK_UP), + LEVEL_UP_MOVE(36, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE(42, MOVE_SLASH), - LEVEL_UP_MOVE(49, MOVE_MIRROR_MOVE), - LEVEL_UP_MOVE(59, MOVE_SKY_UPPERCUT), + LEVEL_UP_MOVE(47, MOVE_MIRROR_MOVE), + LEVEL_UP_MOVE(53, MOVE_SKY_UPPERCUT), + LEVEL_UP_MOVE(58, MOVE_FLARE_BLITZ), LEVEL_UP_END }; -static const u16 sMudkipLevelUpLearnset[] = { +static const struct LevelUpMove sBlazikenLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_BLAZE_KICK), + LEVEL_UP_MOVE( 1, MOVE_BLAZE_KICK), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_KICK), + LEVEL_UP_MOVE( 1, MOVE_FLARE_BLITZ), + LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_HI_JUMP_KICK), + LEVEL_UP_MOVE( 1, MOVE_SCRATCH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 5, MOVE_EMBER), + LEVEL_UP_MOVE(10, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(14, MOVE_PECK), + LEVEL_UP_MOVE(20, MOVE_FLAME_CHARGE), + LEVEL_UP_MOVE(25, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(31, MOVE_BULK_UP), + LEVEL_UP_MOVE(37, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(44, MOVE_SLASH), + LEVEL_UP_MOVE(50, MOVE_BRAVE_BIRD), + LEVEL_UP_MOVE(57, MOVE_SKY_UPPERCUT), + LEVEL_UP_MOVE(63, MOVE_FLARE_BLITZ), + LEVEL_UP_END +}; + +static const struct LevelUpMove sMudkipLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 6, MOVE_MUD_SLAP), - LEVEL_UP_MOVE(10, MOVE_WATER_GUN), - LEVEL_UP_MOVE(15, MOVE_BIDE), - LEVEL_UP_MOVE(19, MOVE_FORESIGHT), - LEVEL_UP_MOVE(24, MOVE_MUD_SPORT), - LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 4, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 9, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(12, MOVE_FORESIGHT), + LEVEL_UP_MOVE(17, MOVE_BIDE), + LEVEL_UP_MOVE(20, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(25, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(28, MOVE_PROTECT), LEVEL_UP_MOVE(33, MOVE_WHIRLPOOL), - LEVEL_UP_MOVE(37, MOVE_PROTECT), - LEVEL_UP_MOVE(42, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE(46, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(36, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(41, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(44, MOVE_ENDEAVOR), LEVEL_UP_END }; -static const u16 sMarshtompLevelUpLearnset[] = { +static const struct LevelUpMove sMarshtompLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_MUD_SHOT), + LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 6, MOVE_MUD_SLAP), - LEVEL_UP_MOVE(10, MOVE_WATER_GUN), - LEVEL_UP_MOVE(15, MOVE_BIDE), - LEVEL_UP_MOVE(16, MOVE_MUD_SHOT), - LEVEL_UP_MOVE(20, MOVE_FORESIGHT), - LEVEL_UP_MOVE(25, MOVE_MUD_SPORT), - LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(37, MOVE_MUDDY_WATER), - LEVEL_UP_MOVE(42, MOVE_PROTECT), - LEVEL_UP_MOVE(46, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE(53, MOVE_ENDEAVOR), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 4, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 9, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(12, MOVE_FORESIGHT), + LEVEL_UP_MOVE(18, MOVE_BIDE), + LEVEL_UP_MOVE(22, MOVE_MUD_BOMB), + LEVEL_UP_MOVE(28, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(32, MOVE_PROTECT), + LEVEL_UP_MOVE(38, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(42, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(48, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(52, MOVE_ENDEAVOR), LEVEL_UP_END }; -static const u16 sSwampertLevelUpLearnset[] = { +static const struct LevelUpMove sSwampertLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), + LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 6, MOVE_MUD_SLAP), - LEVEL_UP_MOVE(10, MOVE_WATER_GUN), - LEVEL_UP_MOVE(15, MOVE_BIDE), - LEVEL_UP_MOVE(16, MOVE_MUD_SHOT), - LEVEL_UP_MOVE(20, MOVE_FORESIGHT), - LEVEL_UP_MOVE(25, MOVE_MUD_SPORT), - LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 4, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 9, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(12, MOVE_FORESIGHT), + LEVEL_UP_MOVE(18, MOVE_BIDE), + LEVEL_UP_MOVE(22, MOVE_MUD_BOMB), + LEVEL_UP_MOVE(28, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(32, MOVE_PROTECT), LEVEL_UP_MOVE(39, MOVE_MUDDY_WATER), - LEVEL_UP_MOVE(46, MOVE_PROTECT), - LEVEL_UP_MOVE(52, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE(61, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(44, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(51, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(56, MOVE_ENDEAVOR), + LEVEL_UP_MOVE(63, MOVE_HAMMER_ARM), LEVEL_UP_END }; -static const u16 sPoochyenaLevelUpLearnset[] = { +static const struct LevelUpMove sPoochyenaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 5, MOVE_HOWL), - LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(13, MOVE_BITE), - LEVEL_UP_MOVE(17, MOVE_ODOR_SLEUTH), - LEVEL_UP_MOVE(21, MOVE_ROAR), - LEVEL_UP_MOVE(25, MOVE_SWAGGER), - LEVEL_UP_MOVE(29, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(33, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(37, MOVE_TAUNT), - LEVEL_UP_MOVE(41, MOVE_CRUNCH), - LEVEL_UP_MOVE(45, MOVE_THIEF), + LEVEL_UP_MOVE( 4, MOVE_HOWL), + LEVEL_UP_MOVE( 7, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(10, MOVE_BITE), + LEVEL_UP_MOVE(13, MOVE_ODOR_SLEUTH), + 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_EMBARGO), + LEVEL_UP_MOVE(31, MOVE_TAUNT), + LEVEL_UP_MOVE(34, MOVE_CRUNCH), + LEVEL_UP_MOVE(37, MOVE_YAWN), + LEVEL_UP_MOVE(40, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(43, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(46, MOVE_PLAY_ROUGH), LEVEL_UP_END }; -static const u16 sMightyenaLevelUpLearnset[] = { +static const struct LevelUpMove sMightyenaLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_SNARL), + LEVEL_UP_MOVE( 1, MOVE_SNARL), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_THIEF), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HOWL), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_BITE), - LEVEL_UP_MOVE( 5, MOVE_HOWL), - LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(13, MOVE_BITE), - LEVEL_UP_MOVE(17, MOVE_ODOR_SLEUTH), - LEVEL_UP_MOVE(22, MOVE_ROAR), - LEVEL_UP_MOVE(27, MOVE_SWAGGER), - LEVEL_UP_MOVE(32, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(37, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(42, MOVE_TAUNT), - LEVEL_UP_MOVE(47, MOVE_CRUNCH), - LEVEL_UP_MOVE(52, MOVE_THIEF), + LEVEL_UP_MOVE( 4, MOVE_HOWL), + LEVEL_UP_MOVE( 7, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(10, MOVE_BITE), + LEVEL_UP_MOVE(13, MOVE_ODOR_SLEUTH), + 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(32, MOVE_EMBARGO), + LEVEL_UP_MOVE(36, MOVE_TAUNT), + LEVEL_UP_MOVE(40, MOVE_CRUNCH), + 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 }; -static const u16 sZigzagoonLevelUpLearnset[] = { +static const struct LevelUpMove sZigzagoonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 9, MOVE_HEADBUTT), - LEVEL_UP_MOVE(13, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(17, MOVE_ODOR_SLEUTH), - LEVEL_UP_MOVE(21, MOVE_MUD_SPORT), - LEVEL_UP_MOVE(25, MOVE_PIN_MISSILE), - LEVEL_UP_MOVE(29, MOVE_COVET), - LEVEL_UP_MOVE(33, MOVE_FLAIL), - LEVEL_UP_MOVE(37, MOVE_REST), - LEVEL_UP_MOVE(41, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE( 7, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(11, MOVE_HEADBUTT), + LEVEL_UP_MOVE(12, MOVE_BABY_DOLL_EYES), + LEVEL_UP_MOVE(13, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(17, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(19, MOVE_PIN_MISSILE), + LEVEL_UP_MOVE(23, MOVE_COVET), + LEVEL_UP_MOVE(25, MOVE_BESTOW), + LEVEL_UP_MOVE(29, MOVE_FLAIL), + LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(35, MOVE_REST), + LEVEL_UP_MOVE(37, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(41, MOVE_FLING), LEVEL_UP_END }; -static const u16 sLinooneLevelUpLearnset[] = { +static const struct LevelUpMove sLinooneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE( 1, MOVE_ROTOTILLER), + LEVEL_UP_MOVE( 1, MOVE_SWITCHEROO), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 5, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 9, MOVE_HEADBUTT), - LEVEL_UP_MOVE(13, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(17, MOVE_ODOR_SLEUTH), - LEVEL_UP_MOVE(23, MOVE_MUD_SPORT), - LEVEL_UP_MOVE(29, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(35, MOVE_COVET), - LEVEL_UP_MOVE(41, MOVE_SLASH), - LEVEL_UP_MOVE(47, MOVE_REST), - LEVEL_UP_MOVE(53, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE( 7, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE(11, MOVE_HEADBUTT), + LEVEL_UP_MOVE(13, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(17, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(19, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(24, MOVE_COVET), + LEVEL_UP_MOVE(27, MOVE_BESTOW), + LEVEL_UP_MOVE(32, MOVE_SLASH), + LEVEL_UP_MOVE(35, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(40, MOVE_REST), + LEVEL_UP_MOVE(43, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(48, MOVE_FLING), LEVEL_UP_END }; -static const u16 sWurmpleLevelUpLearnset[] = { +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 u16 sSilcoonLevelUpLearnset[] = { +static const struct LevelUpMove sSilcoonLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_HARDEN), - LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_END }; -static const u16 sBeautiflyLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE(10, MOVE_ABSORB), - LEVEL_UP_MOVE(13, MOVE_GUST), - LEVEL_UP_MOVE(17, MOVE_STUN_SPORE), - LEVEL_UP_MOVE(20, MOVE_MORNING_SUN), - LEVEL_UP_MOVE(24, MOVE_MEGA_DRAIN), - LEVEL_UP_MOVE(27, MOVE_WHIRLWIND), - LEVEL_UP_MOVE(31, MOVE_ATTRACT), - LEVEL_UP_MOVE(34, MOVE_SILVER_WIND), - LEVEL_UP_MOVE(38, MOVE_GIGA_DRAIN), +static const struct LevelUpMove sBeautiflyLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_GUST), + 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_SILVER_WIND), + 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_RAGE), + LEVEL_UP_MOVE(40, MOVE_QUIVER_DANCE), LEVEL_UP_END }; -static const u16 sCascoonLevelUpLearnset[] = { +static const struct LevelUpMove sCascoonLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_HARDEN), - LEVEL_UP_MOVE( 7, MOVE_HARDEN), LEVEL_UP_END }; -static const u16 sDustoxLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_CONFUSION), - LEVEL_UP_MOVE(10, MOVE_CONFUSION), - LEVEL_UP_MOVE(13, MOVE_GUST), - LEVEL_UP_MOVE(17, MOVE_PROTECT), - LEVEL_UP_MOVE(20, MOVE_MOONLIGHT), - LEVEL_UP_MOVE(24, MOVE_PSYBEAM), - LEVEL_UP_MOVE(27, MOVE_WHIRLWIND), - LEVEL_UP_MOVE(31, MOVE_LIGHT_SCREEN), - LEVEL_UP_MOVE(34, MOVE_SILVER_WIND), - LEVEL_UP_MOVE(38, MOVE_TOXIC), +static const struct LevelUpMove sDustoxLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_GUST), + LEVEL_UP_MOVE( 1, MOVE_GUST), + 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_SILVER_WIND), + 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 }; -static const u16 sLotadLevelUpLearnset[] = { +static const struct LevelUpMove sLotadLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 3, MOVE_GROWL), - LEVEL_UP_MOVE( 7, MOVE_ABSORB), - LEVEL_UP_MOVE(13, MOVE_NATURE_POWER), - LEVEL_UP_MOVE(21, MOVE_MIST), - LEVEL_UP_MOVE(31, MOVE_RAIN_DANCE), - LEVEL_UP_MOVE(43, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE( 6, MOVE_ABSORB), + LEVEL_UP_MOVE( 9, MOVE_BUBBLE), + LEVEL_UP_MOVE(12, MOVE_NATURAL_GIFT), + LEVEL_UP_MOVE(15, MOVE_MIST), + LEVEL_UP_MOVE(18, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(21, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(24, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(27, MOVE_RAIN_DANCE), + LEVEL_UP_MOVE(30, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(33, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(36, MOVE_ENERGY_BALL), LEVEL_UP_END }; -static const u16 sLombreLevelUpLearnset[] = { +static const struct LevelUpMove sLombreLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 3, MOVE_GROWL), - LEVEL_UP_MOVE( 7, MOVE_ABSORB), - LEVEL_UP_MOVE(13, MOVE_NATURE_POWER), - LEVEL_UP_MOVE(19, MOVE_FAKE_OUT), - LEVEL_UP_MOVE(25, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(31, MOVE_WATER_SPORT), - LEVEL_UP_MOVE(37, MOVE_THIEF), - LEVEL_UP_MOVE(43, MOVE_UPROAR), - LEVEL_UP_MOVE(49, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 6, MOVE_ABSORB), + LEVEL_UP_MOVE( 9, MOVE_BUBBLE), + LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(16, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(20, MOVE_WATER_SPORT), + LEVEL_UP_MOVE(24, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(28, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(32, MOVE_UPROAR), + LEVEL_UP_MOVE(36, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(40, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(44, MOVE_HYDRO_PUMP), LEVEL_UP_END }; -static const u16 sLudicoloLevelUpLearnset[] = { +static const struct LevelUpMove sLudicoloLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_MEGA_DRAIN), LEVEL_UP_MOVE( 1, MOVE_NATURE_POWER), LEVEL_UP_END }; -static const u16 sSeedotLevelUpLearnset[] = { +static const struct LevelUpMove sSeedotLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BIDE), LEVEL_UP_MOVE( 3, MOVE_HARDEN), - LEVEL_UP_MOVE( 7, MOVE_GROWTH), - LEVEL_UP_MOVE(13, MOVE_NATURE_POWER), + LEVEL_UP_MOVE( 9, MOVE_GROWTH), + LEVEL_UP_MOVE(15, MOVE_NATURE_POWER), LEVEL_UP_MOVE(21, MOVE_SYNTHESIS), - LEVEL_UP_MOVE(31, MOVE_SUNNY_DAY), - LEVEL_UP_MOVE(43, MOVE_EXPLOSION), + LEVEL_UP_MOVE(27, MOVE_SUNNY_DAY), + LEVEL_UP_MOVE(33, MOVE_EXPLOSION), LEVEL_UP_END }; -static const u16 sNuzleafLevelUpLearnset[] = { +static const struct LevelUpMove sNuzleafLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 3, MOVE_HARDEN), - LEVEL_UP_MOVE( 7, MOVE_GROWTH), - LEVEL_UP_MOVE(13, MOVE_NATURE_POWER), - LEVEL_UP_MOVE(19, MOVE_FAKE_OUT), - LEVEL_UP_MOVE(25, MOVE_TORMENT), - LEVEL_UP_MOVE(31, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(37, MOVE_RAZOR_WIND), - LEVEL_UP_MOVE(43, MOVE_SWAGGER), - LEVEL_UP_MOVE(49, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE( 6, MOVE_GROWTH), + LEVEL_UP_MOVE( 9, MOVE_TORMENT), + LEVEL_UP_MOVE(12, MOVE_FAKE_OUT), + LEVEL_UP_MOVE(16, MOVE_NATURE_POWER), + LEVEL_UP_MOVE(20, MOVE_RAZOR_WIND), + LEVEL_UP_MOVE(24, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(28, MOVE_LEAF_BLADE), + LEVEL_UP_MOVE(32, MOVE_SWAGGER), + LEVEL_UP_MOVE(36, MOVE_EXTRASENSORY), LEVEL_UP_END }; -static const u16 sShiftryLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_POUND), - LEVEL_UP_MOVE( 1, MOVE_HARDEN), - LEVEL_UP_MOVE( 1, MOVE_GROWTH), - LEVEL_UP_MOVE( 1, MOVE_NATURE_POWER), +static const struct LevelUpMove sShiftryLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + LEVEL_UP_MOVE( 1, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), + LEVEL_UP_MOVE( 1, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(20, MOVE_LEAF_TORNADO), + LEVEL_UP_MOVE(32, MOVE_HURRICANE), + LEVEL_UP_MOVE(44, MOVE_LEAF_STORM), LEVEL_UP_END }; -static const u16 sNincadaLevelUpLearnset[] = { +static const struct LevelUpMove sNincadaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HARDEN), - LEVEL_UP_MOVE( 5, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE( 5, MOVE_ABSORB), LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(14, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(19, MOVE_MIND_READER), - LEVEL_UP_MOVE(25, MOVE_FALSE_SWIPE), - LEVEL_UP_MOVE(31, MOVE_MUD_SLAP), - LEVEL_UP_MOVE(38, MOVE_METAL_CLAW), - LEVEL_UP_MOVE(45, MOVE_DIG), + LEVEL_UP_MOVE(13, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(17, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(21, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(25, MOVE_MIND_READER), + LEVEL_UP_MOVE(29, MOVE_BIDE), + LEVEL_UP_MOVE(33, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(37, MOVE_DIG), LEVEL_UP_END }; -static const u16 sNinjaskLevelUpLearnset[] = { +static const struct LevelUpMove sNinjaskLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_DOUBLE_TEAM), + // LEVEL_UP_MOVE( 0, MOVE_SCREECH), + // LEVEL_UP_MOVE( 0, MOVE_FURY_CUTTER), + 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_BUG_BITE), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HARDEN), - LEVEL_UP_MOVE( 1, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE( 5, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE( 5, MOVE_ABSORB), LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(14, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(19, MOVE_MIND_READER), - LEVEL_UP_MOVE(20, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE(20, MOVE_FURY_CUTTER), - LEVEL_UP_MOVE(20, MOVE_SCREECH), - LEVEL_UP_MOVE(25, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE(31, MOVE_SLASH), - LEVEL_UP_MOVE(38, MOVE_AGILITY), - LEVEL_UP_MOVE(45, MOVE_BATON_PASS), + LEVEL_UP_MOVE(13, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(17, MOVE_AGILITY), + LEVEL_UP_MOVE(23, MOVE_SLASH), + LEVEL_UP_MOVE(29, MOVE_MIND_READER), + LEVEL_UP_MOVE(35, MOVE_BATON_PASS), + LEVEL_UP_MOVE(41, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(47, MOVE_X_SCISSOR), LEVEL_UP_END }; -static const u16 sShedinjaLevelUpLearnset[] = { +static const struct LevelUpMove sShedinjaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HARDEN), - LEVEL_UP_MOVE( 5, MOVE_LEECH_LIFE), + LEVEL_UP_MOVE( 1, MOVE_ABSORB), + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 5, MOVE_ABSORB), LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(14, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(19, MOVE_MIND_READER), - LEVEL_UP_MOVE(25, MOVE_SPITE), - LEVEL_UP_MOVE(31, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE(38, MOVE_SHADOW_BALL), - LEVEL_UP_MOVE(45, MOVE_GRUDGE), + LEVEL_UP_MOVE(13, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(17, MOVE_SPITE), + LEVEL_UP_MOVE(21, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE(25, MOVE_MIND_READER), + LEVEL_UP_MOVE(29, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(33, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(37, MOVE_GRUDGE), + LEVEL_UP_MOVE(41, MOVE_HEAL_BLOCK), + LEVEL_UP_MOVE(45, MOVE_PHANTOM_FORCE), LEVEL_UP_END }; -static const u16 sTaillowLevelUpLearnset[] = { +static const struct LevelUpMove sTaillowLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 4, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE( 8, 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(19, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE(26, MOVE_ENDEAVOR), - LEVEL_UP_MOVE(34, MOVE_AERIAL_ACE), - LEVEL_UP_MOVE(43, MOVE_AGILITY), + 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 u16 sSwellowLevelUpLearnset[] = { +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( 4, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE( 8, 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(19, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE(28, MOVE_ENDEAVOR), - LEVEL_UP_MOVE(38, MOVE_AERIAL_ACE), - LEVEL_UP_MOVE(49, MOVE_AGILITY), + 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 }; -static const u16 sShroomishLevelUpLearnset[] = { +static const struct LevelUpMove sShroomishLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 4, MOVE_TACKLE), - LEVEL_UP_MOVE( 7, MOVE_STUN_SPORE), - LEVEL_UP_MOVE(10, MOVE_LEECH_SEED), - LEVEL_UP_MOVE(16, MOVE_MEGA_DRAIN), - LEVEL_UP_MOVE(22, MOVE_HEADBUTT), - LEVEL_UP_MOVE(28, MOVE_POISON_POWDER), - LEVEL_UP_MOVE(36, MOVE_GROWTH), - LEVEL_UP_MOVE(45, MOVE_GIGA_DRAIN), - LEVEL_UP_MOVE(54, MOVE_SPORE), + LEVEL_UP_MOVE( 1, MOVE_TACKLE), + 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(22, MOVE_WORRY_SEED), + 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 u16 sBreloomLevelUpLearnset[] = { +static const struct LevelUpMove sBreloomLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_MACH_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_MACH_PUNCH), LEVEL_UP_MOVE( 1, MOVE_ABSORB), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_STUN_SPORE), LEVEL_UP_MOVE( 1, MOVE_LEECH_SEED), - LEVEL_UP_MOVE( 4, MOVE_TACKLE), - LEVEL_UP_MOVE( 7, MOVE_STUN_SPORE), - LEVEL_UP_MOVE(10, MOVE_LEECH_SEED), - LEVEL_UP_MOVE(16, MOVE_MEGA_DRAIN), - LEVEL_UP_MOVE(22, MOVE_HEADBUTT), - LEVEL_UP_MOVE(23, MOVE_MACH_PUNCH), - LEVEL_UP_MOVE(28, MOVE_COUNTER), - LEVEL_UP_MOVE(36, MOVE_SKY_UPPERCUT), - LEVEL_UP_MOVE(45, MOVE_MIND_READER), - LEVEL_UP_MOVE(54, MOVE_DYNAMIC_PUNCH), + 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_FEINT), + LEVEL_UP_MOVE(22, MOVE_COUNTER), + LEVEL_UP_MOVE(28, MOVE_FORCE_PALM), + LEVEL_UP_MOVE(33, MOVE_MIND_READER), + LEVEL_UP_MOVE(39, MOVE_SKY_UPPERCUT), + LEVEL_UP_MOVE(44, MOVE_SEED_BOMB), + LEVEL_UP_MOVE(50, MOVE_DYNAMIC_PUNCH), LEVEL_UP_END }; -static const u16 sSpindaLevelUpLearnset[] = { +static const struct LevelUpMove sSpindaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 5, MOVE_UPROAR), - LEVEL_UP_MOVE(12, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(16, MOVE_PSYBEAM), - LEVEL_UP_MOVE(23, MOVE_HYPNOSIS), - LEVEL_UP_MOVE(27, MOVE_DIZZY_PUNCH), - LEVEL_UP_MOVE(34, MOVE_TEETER_DANCE), - LEVEL_UP_MOVE(38, MOVE_PSYCH_UP), - LEVEL_UP_MOVE(45, MOVE_DOUBLE_EDGE), - LEVEL_UP_MOVE(49, MOVE_FLAIL), - LEVEL_UP_MOVE(56, MOVE_THRASH), + LEVEL_UP_MOVE( 5, MOVE_COPYCAT), + LEVEL_UP_MOVE(10, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(14, MOVE_PSYBEAM), + LEVEL_UP_MOVE(19, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(23, MOVE_DIZZY_PUNCH), + LEVEL_UP_MOVE(28, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(32, MOVE_TEETER_DANCE), + 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 }; -static const u16 sWingullLevelUpLearnset[] = { +static const struct LevelUpMove sWingullLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 7, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(13, MOVE_WING_ATTACK), - LEVEL_UP_MOVE(21, MOVE_MIST), - LEVEL_UP_MOVE(31, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(43, MOVE_PURSUIT), - LEVEL_UP_MOVE(55, MOVE_AGILITY), + LEVEL_UP_MOVE( 5, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 8, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(12, MOVE_MIST), + LEVEL_UP_MOVE(15, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(19, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(22, MOVE_AIR_CUTTER), + LEVEL_UP_MOVE(26, MOVE_PURSUIT), + LEVEL_UP_MOVE(29, MOVE_AERIAL_ACE), + LEVEL_UP_MOVE(33, MOVE_ROOST), + LEVEL_UP_MOVE(36, MOVE_AGILITY), + LEVEL_UP_MOVE(40, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(43, MOVE_HURRICANE), LEVEL_UP_END }; -static const u16 sPelipperLevelUpLearnset[] = { +static const struct LevelUpMove sPelipperLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_HURRICANE), + LEVEL_UP_MOVE( 1, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 1, MOVE_TAILWIND), + LEVEL_UP_MOVE( 1, MOVE_SOAK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), LEVEL_UP_MOVE( 1, MOVE_WING_ATTACK), - LEVEL_UP_MOVE( 3, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 7, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(13, MOVE_WING_ATTACK), - LEVEL_UP_MOVE(21, MOVE_MIST), - LEVEL_UP_MOVE(25, MOVE_PROTECT), + LEVEL_UP_MOVE( 5, MOVE_SUPERSONIC), + LEVEL_UP_MOVE( 8, MOVE_WING_ATTACK), + LEVEL_UP_MOVE(12, MOVE_MIST), + LEVEL_UP_MOVE(15, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(19, MOVE_PAYBACK), + LEVEL_UP_MOVE(22, MOVE_BRINE), + LEVEL_UP_MOVE(28, MOVE_FLING), LEVEL_UP_MOVE(33, MOVE_STOCKPILE), LEVEL_UP_MOVE(33, MOVE_SWALLOW), - LEVEL_UP_MOVE(47, MOVE_SPIT_UP), - LEVEL_UP_MOVE(61, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(33, MOVE_SPIT_UP), + LEVEL_UP_MOVE(39, MOVE_ROOST), + LEVEL_UP_MOVE(44, MOVE_TAILWIND), + LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(55, MOVE_HURRICANE), LEVEL_UP_END }; -static const u16 sSurskitLevelUpLearnset[] = { +static const struct LevelUpMove sSurskitLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), - LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(13, MOVE_SWEET_SCENT), - LEVEL_UP_MOVE(19, MOVE_WATER_SPORT), - LEVEL_UP_MOVE(25, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE(31, MOVE_AGILITY), - LEVEL_UP_MOVE(37, MOVE_MIST), - LEVEL_UP_MOVE(37, MOVE_HAZE), + LEVEL_UP_MOVE( 6, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(14, MOVE_WATER_SPORT), + 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(30, MOVE_AQUA_JET), + LEVEL_UP_MOVE(35, MOVE_BATON_PASS), + LEVEL_UP_MOVE(38, MOVE_STICKY_WEB), LEVEL_UP_END }; -static const u16 sMasquerainLevelUpLearnset[] = { +static const struct LevelUpMove sMasquerainLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_QUIVER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_WHIRLWIND), + LEVEL_UP_MOVE( 1, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE( 1, MOVE_OMINOUS_WIND), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), LEVEL_UP_MOVE( 1, MOVE_SWEET_SCENT), LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), - LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(13, MOVE_SWEET_SCENT), - LEVEL_UP_MOVE(19, MOVE_WATER_SPORT), - LEVEL_UP_MOVE(26, MOVE_GUST), - LEVEL_UP_MOVE(33, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(40, MOVE_STUN_SPORE), - LEVEL_UP_MOVE(47, MOVE_SILVER_WIND), - LEVEL_UP_MOVE(53, MOVE_WHIRLWIND), + LEVEL_UP_MOVE( 6, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(14, MOVE_WATER_SPORT), + 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_SILVER_WIND), + LEVEL_UP_MOVE(38, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(42, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(48, MOVE_WHIRLWIND), + LEVEL_UP_MOVE(52, MOVE_QUIVER_DANCE), LEVEL_UP_END }; -static const u16 sWailmerLevelUpLearnset[] = { +static const struct LevelUpMove sWailmerLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), - LEVEL_UP_MOVE( 5, MOVE_GROWL), - LEVEL_UP_MOVE(10, MOVE_WATER_GUN), - LEVEL_UP_MOVE(14, MOVE_ROLLOUT), - LEVEL_UP_MOVE(19, MOVE_WHIRLPOOL), - LEVEL_UP_MOVE(23, MOVE_ASTONISH), - LEVEL_UP_MOVE(28, MOVE_WATER_PULSE), - LEVEL_UP_MOVE(32, MOVE_MIST), - LEVEL_UP_MOVE(37, MOVE_REST), - LEVEL_UP_MOVE(41, MOVE_WATER_SPOUT), - LEVEL_UP_MOVE(46, MOVE_AMNESIA), - LEVEL_UP_MOVE(50, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 4, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_WATER_GUN), + LEVEL_UP_MOVE(10, MOVE_ROLLOUT), + LEVEL_UP_MOVE(13, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(16, MOVE_ASTONISH), + LEVEL_UP_MOVE(19, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(22, MOVE_MIST), + LEVEL_UP_MOVE(25, MOVE_BRINE), + LEVEL_UP_MOVE(29, MOVE_REST), + LEVEL_UP_MOVE(33, MOVE_WATER_SPOUT), + LEVEL_UP_MOVE(37, MOVE_AMNESIA), + LEVEL_UP_MOVE(41, MOVE_DIVE), + LEVEL_UP_MOVE(45, MOVE_BOUNCE), + LEVEL_UP_MOVE(49, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(53, MOVE_HEAVY_SLAM), LEVEL_UP_END }; -static const u16 sWailordLevelUpLearnset[] = { +static const struct LevelUpMove sWailordLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SOAK), + LEVEL_UP_MOVE( 1, MOVE_NOBLE_ROAR), + LEVEL_UP_MOVE( 1, MOVE_HEAVY_SLAM), LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 1, MOVE_ROLLOUT), - LEVEL_UP_MOVE( 5, MOVE_GROWL), - LEVEL_UP_MOVE(10, MOVE_WATER_GUN), - LEVEL_UP_MOVE(14, MOVE_ROLLOUT), - LEVEL_UP_MOVE(19, MOVE_WHIRLPOOL), - LEVEL_UP_MOVE(23, MOVE_ASTONISH), - LEVEL_UP_MOVE(28, MOVE_WATER_PULSE), - LEVEL_UP_MOVE(32, MOVE_MIST), - LEVEL_UP_MOVE(37, MOVE_REST), - LEVEL_UP_MOVE(44, MOVE_WATER_SPOUT), - LEVEL_UP_MOVE(52, MOVE_AMNESIA), - LEVEL_UP_MOVE(59, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE( 4, MOVE_GROWL), + LEVEL_UP_MOVE( 7, MOVE_WATER_GUN), + LEVEL_UP_MOVE(10, MOVE_ROLLOUT), + LEVEL_UP_MOVE(13, MOVE_WHIRLPOOL), + LEVEL_UP_MOVE(16, MOVE_ASTONISH), + LEVEL_UP_MOVE(19, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(22, MOVE_MIST), + LEVEL_UP_MOVE(25, MOVE_BRINE), + LEVEL_UP_MOVE(29, MOVE_REST), + LEVEL_UP_MOVE(33, MOVE_WATER_SPOUT), + LEVEL_UP_MOVE(37, MOVE_AMNESIA), + LEVEL_UP_MOVE(44, MOVE_DIVE), + LEVEL_UP_MOVE(51, MOVE_BOUNCE), + LEVEL_UP_MOVE(58, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(65, MOVE_HEAVY_SLAM), LEVEL_UP_END }; -static const u16 sSkittyLevelUpLearnset[] = { +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( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 3, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE( 7, MOVE_ATTRACT), - LEVEL_UP_MOVE(13, MOVE_SING), - LEVEL_UP_MOVE(15, MOVE_DOUBLE_SLAP), - LEVEL_UP_MOVE(19, MOVE_ASSIST), + LEVEL_UP_MOVE( 4, MOVE_FORESIGHT), + LEVEL_UP_MOVE( 7, MOVE_SING), + LEVEL_UP_MOVE(10, MOVE_ATTRACT), + LEVEL_UP_MOVE(13, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE(16, MOVE_DOUBLE_SLAP), + LEVEL_UP_MOVE(19, MOVE_COPYCAT), + LEVEL_UP_MOVE(22, MOVE_FAINT_ATTACK), LEVEL_UP_MOVE(25, MOVE_CHARM), - LEVEL_UP_MOVE(27, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(31, MOVE_COVET), + LEVEL_UP_MOVE(28, MOVE_WAKE_UP_SLAP), + LEVEL_UP_MOVE(31, MOVE_ASSIST), + LEVEL_UP_MOVE(34, MOVE_COVET), LEVEL_UP_MOVE(37, MOVE_HEAL_BELL), - LEVEL_UP_MOVE(39, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(40, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(43, MOVE_CAPTIVATE), + LEVEL_UP_MOVE(46, MOVE_PLAY_ROUGH), LEVEL_UP_END }; -static const u16 sDelcattyLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_ATTRACT), +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_DOUBLE_SLAP), LEVEL_UP_END }; -static const u16 sKecleonLevelUpLearnset[] = { +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_FAINT_ATTACK), - LEVEL_UP_MOVE(12, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(17, MOVE_PSYBEAM), - LEVEL_UP_MOVE(24, MOVE_SCREECH), - LEVEL_UP_MOVE(31, MOVE_SLASH), - LEVEL_UP_MOVE(40, MOVE_SUBSTITUTE), - LEVEL_UP_MOVE(49, MOVE_ANCIENT_POWER), + 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_FAINT_ATTACK), + LEVEL_UP_MOVE(18, MOVE_PSYBEAM), + LEVEL_UP_MOVE(21, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(25, MOVE_SLASH), + LEVEL_UP_MOVE(30, MOVE_CAMOUFLAGE), + 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_SYNCHRONOISE), LEVEL_UP_END }; -static const u16 sBaltoyLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_CONFUSION), - LEVEL_UP_MOVE( 3, MOVE_HARDEN), - LEVEL_UP_MOVE( 5, MOVE_RAPID_SPIN), - LEVEL_UP_MOVE( 7, MOVE_MUD_SLAP), - LEVEL_UP_MOVE(11, MOVE_PSYBEAM), - LEVEL_UP_MOVE(15, MOVE_ROCK_TOMB), - LEVEL_UP_MOVE(19, MOVE_SELF_DESTRUCT), - LEVEL_UP_MOVE(25, MOVE_ANCIENT_POWER), - LEVEL_UP_MOVE(31, MOVE_SANDSTORM), - LEVEL_UP_MOVE(37, MOVE_COSMIC_POWER), - LEVEL_UP_MOVE(45, MOVE_EXPLOSION), - LEVEL_UP_END -}; - -static const u16 sClaydolLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TELEPORT), - LEVEL_UP_MOVE( 1, MOVE_CONFUSION), +static const struct LevelUpMove sBaltoyLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_HARDEN), - LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), - LEVEL_UP_MOVE( 3, MOVE_HARDEN), - LEVEL_UP_MOVE( 5, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 4, MOVE_RAPID_SPIN), LEVEL_UP_MOVE( 7, MOVE_MUD_SLAP), - LEVEL_UP_MOVE(11, MOVE_PSYBEAM), - LEVEL_UP_MOVE(15, MOVE_ROCK_TOMB), - LEVEL_UP_MOVE(19, MOVE_SELF_DESTRUCT), - LEVEL_UP_MOVE(25, MOVE_ANCIENT_POWER), - LEVEL_UP_MOVE(31, MOVE_SANDSTORM), - LEVEL_UP_MOVE(36, MOVE_HYPER_BEAM), - LEVEL_UP_MOVE(42, MOVE_COSMIC_POWER), - LEVEL_UP_MOVE(55, MOVE_EXPLOSION), + LEVEL_UP_MOVE(10, MOVE_HEAL_BLOCK), + LEVEL_UP_MOVE(13, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(16, MOVE_PSYBEAM), + LEVEL_UP_MOVE(19, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(22, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(25, MOVE_POWER_TRICK), + LEVEL_UP_MOVE(28, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(31, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(34, MOVE_GUARD_SPLIT), + LEVEL_UP_MOVE(34, MOVE_POWER_SPLIT), + LEVEL_UP_MOVE(37, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(40, MOVE_SANDSTORM), + LEVEL_UP_MOVE(43, MOVE_IMPRISON), + LEVEL_UP_MOVE(46, MOVE_EXPLOSION), LEVEL_UP_END }; -static const u16 sNosepassLevelUpLearnset[] = { +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_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 4, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE( 7, MOVE_MUD_SLAP), + LEVEL_UP_MOVE(10, MOVE_HEAL_BLOCK), + LEVEL_UP_MOVE(13, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(16, MOVE_PSYBEAM), + LEVEL_UP_MOVE(19, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(22, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(25, MOVE_POWER_TRICK), + LEVEL_UP_MOVE(28, MOVE_SELF_DESTRUCT), + LEVEL_UP_MOVE(31, MOVE_EXTRASENSORY), + LEVEL_UP_MOVE(34, MOVE_GUARD_SPLIT), + LEVEL_UP_MOVE(34, MOVE_POWER_SPLIT), + LEVEL_UP_MOVE(40, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(46, MOVE_SANDSTORM), + LEVEL_UP_MOVE(52, MOVE_IMPRISON), + LEVEL_UP_MOVE(58, MOVE_EXPLOSION), + LEVEL_UP_END +}; + +static const struct LevelUpMove sNosepassLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 7, MOVE_HARDEN), - LEVEL_UP_MOVE(13, MOVE_ROCK_THROW), - LEVEL_UP_MOVE(16, MOVE_BLOCK), - LEVEL_UP_MOVE(22, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE(28, MOVE_ROCK_SLIDE), - LEVEL_UP_MOVE(31, MOVE_SANDSTORM), - LEVEL_UP_MOVE(37, MOVE_REST), + 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_LOCK_ON), LEVEL_UP_MOVE(43, MOVE_ZAP_CANNON), - LEVEL_UP_MOVE(46, MOVE_LOCK_ON), LEVEL_UP_END }; -static const u16 sTorkoalLevelUpLearnset[] = { +static const struct LevelUpMove sTorkoalLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 4, MOVE_SMOG), - LEVEL_UP_MOVE( 7, MOVE_CURSE), - LEVEL_UP_MOVE(14, MOVE_SMOKESCREEN), - LEVEL_UP_MOVE(17, MOVE_FIRE_SPIN), - LEVEL_UP_MOVE(20, MOVE_BODY_SLAM), - LEVEL_UP_MOVE(27, MOVE_PROTECT), - LEVEL_UP_MOVE(30, MOVE_FLAMETHROWER), - LEVEL_UP_MOVE(33, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE( 7, MOVE_WITHDRAW), + LEVEL_UP_MOVE(10, MOVE_RAPID_SPIN), + LEVEL_UP_MOVE(13, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE(15, MOVE_SMOKESCREEN), + LEVEL_UP_MOVE(18, MOVE_FLAME_WHEEL), + LEVEL_UP_MOVE(22, MOVE_CURSE), + LEVEL_UP_MOVE(25, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(27, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(30, MOVE_PROTECT), + LEVEL_UP_MOVE(34, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(38, MOVE_IRON_DEFENSE), LEVEL_UP_MOVE(40, MOVE_AMNESIA), - LEVEL_UP_MOVE(43, MOVE_FLAIL), - LEVEL_UP_MOVE(46, MOVE_HEAT_WAVE), + LEVEL_UP_MOVE(42, MOVE_FLAIL), + LEVEL_UP_MOVE(45, MOVE_HEAT_WAVE), + LEVEL_UP_MOVE(47, MOVE_SHELL_SMASH), + LEVEL_UP_MOVE(50, MOVE_INFERNO), LEVEL_UP_END }; -static const u16 sSableyeLevelUpLearnset[] = { +static const struct LevelUpMove sSableyeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 5, MOVE_FORESIGHT), - LEVEL_UP_MOVE( 9, MOVE_NIGHT_SHADE), - LEVEL_UP_MOVE(13, MOVE_ASTONISH), - LEVEL_UP_MOVE(17, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE( 4, MOVE_FORESIGHT), + LEVEL_UP_MOVE( 6, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE( 9, MOVE_ASTONISH), + LEVEL_UP_MOVE(11, MOVE_FURY_SWIPES), + LEVEL_UP_MOVE(14, MOVE_DETECT), + LEVEL_UP_MOVE(16, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE(19, MOVE_FAINT_ATTACK), LEVEL_UP_MOVE(21, MOVE_FAKE_OUT), - LEVEL_UP_MOVE(25, MOVE_DETECT), - LEVEL_UP_MOVE(29, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(33, MOVE_KNOCK_OFF), - LEVEL_UP_MOVE(37, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE(41, MOVE_SHADOW_BALL), - LEVEL_UP_MOVE(45, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(24, MOVE_PUNISHMENT), + LEVEL_UP_MOVE(26, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(29, MOVE_SHADOW_CLAW), + LEVEL_UP_MOVE(31, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(34, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(36, MOVE_POWER_GEM), + LEVEL_UP_MOVE(39, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(41, MOVE_FOUL_PLAY), + LEVEL_UP_MOVE(44, MOVE_QUASH), + LEVEL_UP_MOVE(46, MOVE_MEAN_LOOK), LEVEL_UP_END }; -static const u16 sBarboachLevelUpLearnset[] = { +static const struct LevelUpMove sBarboachLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 6, MOVE_MUD_SPORT), LEVEL_UP_MOVE( 6, MOVE_WATER_SPORT), - LEVEL_UP_MOVE(11, MOVE_WATER_GUN), - LEVEL_UP_MOVE(16, MOVE_MAGNITUDE), - LEVEL_UP_MOVE(21, MOVE_AMNESIA), - LEVEL_UP_MOVE(26, MOVE_REST), - LEVEL_UP_MOVE(26, MOVE_SNORE), - LEVEL_UP_MOVE(31, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE(36, MOVE_FUTURE_SIGHT), - LEVEL_UP_MOVE(41, MOVE_FISSURE), + LEVEL_UP_MOVE( 9, MOVE_WATER_GUN), + LEVEL_UP_MOVE(13, MOVE_MUD_BOMB), + LEVEL_UP_MOVE(15, MOVE_AMNESIA), + LEVEL_UP_MOVE(17, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(20, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(25, MOVE_REST), + LEVEL_UP_MOVE(25, MOVE_SNORE), + LEVEL_UP_MOVE(28, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(32, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(35, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(39, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(44, MOVE_FISSURE), LEVEL_UP_END }; -static const u16 sWhiscashLevelUpLearnset[] = { +static const struct LevelUpMove sWhiscashLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_THRASH), + LEVEL_UP_MOVE( 1, MOVE_THRASH), + LEVEL_UP_MOVE( 1, MOVE_BELCH), + LEVEL_UP_MOVE( 1, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_TICKLE), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), LEVEL_UP_MOVE( 6, MOVE_MUD_SPORT), LEVEL_UP_MOVE( 6, MOVE_WATER_SPORT), - LEVEL_UP_MOVE(11, MOVE_WATER_GUN), - LEVEL_UP_MOVE(16, MOVE_MAGNITUDE), - LEVEL_UP_MOVE(21, MOVE_AMNESIA), - LEVEL_UP_MOVE(26, MOVE_REST), - LEVEL_UP_MOVE(26, MOVE_SNORE), - LEVEL_UP_MOVE(36, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE(46, MOVE_FUTURE_SIGHT), - LEVEL_UP_MOVE(56, MOVE_FISSURE), + LEVEL_UP_MOVE( 9, MOVE_WATER_GUN), + LEVEL_UP_MOVE(13, MOVE_MUD_BOMB), + LEVEL_UP_MOVE(15, MOVE_AMNESIA), + LEVEL_UP_MOVE(17, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(20, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(25, MOVE_REST), + LEVEL_UP_MOVE(25, MOVE_SNORE), + LEVEL_UP_MOVE(28, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(34, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(39, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(45, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(52, MOVE_FISSURE), LEVEL_UP_END }; -static const u16 sLuvdiscLevelUpLearnset[] = { +static const struct LevelUpMove sLuvdiscLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 4, MOVE_CHARM), - LEVEL_UP_MOVE(12, MOVE_WATER_GUN), - LEVEL_UP_MOVE(16, MOVE_AGILITY), - LEVEL_UP_MOVE(24, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(28, MOVE_ATTRACT), - LEVEL_UP_MOVE(36, MOVE_SWEET_KISS), - LEVEL_UP_MOVE(40, MOVE_FLAIL), - LEVEL_UP_MOVE(48, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_CHARM), + LEVEL_UP_MOVE( 4, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 7, MOVE_AGILITY), + LEVEL_UP_MOVE( 9, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(13, MOVE_LUCKY_CHANT), + LEVEL_UP_MOVE(17, MOVE_WATER_PULSE), + LEVEL_UP_MOVE(20, MOVE_ATTRACT), + LEVEL_UP_MOVE(22, MOVE_HEART_STAMP), + 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_CAPTIVATE), + 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 }; -static const u16 sCorphishLevelUpLearnset[] = { +static const struct LevelUpMove sCorphishLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BUBBLE), - LEVEL_UP_MOVE( 7, MOVE_HARDEN), - LEVEL_UP_MOVE(10, MOVE_VICE_GRIP), - LEVEL_UP_MOVE(13, MOVE_LEER), - LEVEL_UP_MOVE(20, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE(23, MOVE_PROTECT), - LEVEL_UP_MOVE(26, MOVE_KNOCK_OFF), - LEVEL_UP_MOVE(32, MOVE_TAUNT), - LEVEL_UP_MOVE(35, MOVE_CRABHAMMER), - LEVEL_UP_MOVE(38, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE(44, MOVE_GUILLOTINE), + LEVEL_UP_MOVE( 5, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_VICE_GRIP), + LEVEL_UP_MOVE(10, MOVE_LEER), + LEVEL_UP_MOVE(14, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(17, MOVE_PROTECT), + LEVEL_UP_MOVE(20, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(23, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(26, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(31, MOVE_RAZOR_SHELL), + LEVEL_UP_MOVE(34, MOVE_TAUNT), + LEVEL_UP_MOVE(37, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(39, MOVE_CRUNCH), + LEVEL_UP_MOVE(43, MOVE_CRABHAMMER), + LEVEL_UP_MOVE(48, MOVE_GUILLOTINE), LEVEL_UP_END }; -static const u16 sCrawdauntLevelUpLearnset[] = { +static const struct LevelUpMove sCrawdauntLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_SWIFT), + LEVEL_UP_MOVE( 1, MOVE_SWIFT), LEVEL_UP_MOVE( 1, MOVE_BUBBLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_VICE_GRIP), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 7, MOVE_HARDEN), - LEVEL_UP_MOVE(10, MOVE_VICE_GRIP), - LEVEL_UP_MOVE(13, MOVE_LEER), - LEVEL_UP_MOVE(20, MOVE_BUBBLE_BEAM), - LEVEL_UP_MOVE(23, MOVE_PROTECT), - LEVEL_UP_MOVE(26, MOVE_KNOCK_OFF), - LEVEL_UP_MOVE(34, MOVE_TAUNT), - LEVEL_UP_MOVE(39, MOVE_CRABHAMMER), - LEVEL_UP_MOVE(44, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE(52, MOVE_GUILLOTINE), + LEVEL_UP_MOVE( 5, MOVE_HARDEN), + LEVEL_UP_MOVE( 7, MOVE_VICE_GRIP), + LEVEL_UP_MOVE(10, MOVE_LEER), + LEVEL_UP_MOVE(14, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(17, MOVE_PROTECT), + LEVEL_UP_MOVE(20, MOVE_DOUBLE_HIT), + LEVEL_UP_MOVE(23, MOVE_KNOCK_OFF), + LEVEL_UP_MOVE(26, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(32, MOVE_RAZOR_SHELL), + LEVEL_UP_MOVE(36, MOVE_TAUNT), + LEVEL_UP_MOVE(40, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(43, MOVE_CRUNCH), + LEVEL_UP_MOVE(48, MOVE_CRABHAMMER), + LEVEL_UP_MOVE(54, MOVE_GUILLOTINE), LEVEL_UP_END }; -static const u16 sFeebasLevelUpLearnset[] = { +static const struct LevelUpMove sFeebasLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE(15, MOVE_TACKLE), LEVEL_UP_MOVE(30, MOVE_FLAIL), LEVEL_UP_END }; -static const u16 sMiloticLevelUpLearnset[] = { +static const struct LevelUpMove sMiloticLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_WATER_PULSE), + LEVEL_UP_MOVE( 1, MOVE_WATER_PULSE), + LEVEL_UP_MOVE( 1, MOVE_WRAP), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 5, MOVE_WRAP), - LEVEL_UP_MOVE(10, MOVE_WATER_SPORT), - LEVEL_UP_MOVE(15, MOVE_REFRESH), - LEVEL_UP_MOVE(20, MOVE_WATER_PULSE), - LEVEL_UP_MOVE(25, MOVE_TWISTER), - LEVEL_UP_MOVE(30, MOVE_RECOVER), - LEVEL_UP_MOVE(35, MOVE_RAIN_DANCE), - LEVEL_UP_MOVE(40, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE(45, MOVE_ATTRACT), - LEVEL_UP_MOVE(50, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_WATER_SPORT), + LEVEL_UP_MOVE( 1, MOVE_REFRESH), + LEVEL_UP_MOVE( 4, MOVE_WATER_SPORT), + LEVEL_UP_MOVE( 7, MOVE_REFRESH), + LEVEL_UP_MOVE(11, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE(14, MOVE_TWISTER), + LEVEL_UP_MOVE(17, MOVE_AQUA_RING), + LEVEL_UP_MOVE(21, MOVE_CAPTIVATE), + LEVEL_UP_MOVE(24, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE(27, MOVE_RECOVER), + LEVEL_UP_MOVE(31, MOVE_AQUA_TAIL), + LEVEL_UP_MOVE(34, MOVE_ATTRACT), + LEVEL_UP_MOVE(37, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(41, MOVE_COIL), + LEVEL_UP_MOVE(44, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(47, MOVE_RAIN_DANCE), LEVEL_UP_END }; -static const u16 sCarvanhaLevelUpLearnset[] = { +static const struct LevelUpMove sCarvanhaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), - LEVEL_UP_MOVE( 7, MOVE_RAGE), - LEVEL_UP_MOVE(13, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(16, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(22, MOVE_CRUNCH), - LEVEL_UP_MOVE(28, MOVE_SCREECH), - LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(37, MOVE_SWAGGER), - LEVEL_UP_MOVE(43, MOVE_AGILITY), + LEVEL_UP_MOVE( 4, MOVE_RAGE), + LEVEL_UP_MOVE( 8, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(11, MOVE_AQUA_JET), + LEVEL_UP_MOVE(15, MOVE_ASSURANCE), + LEVEL_UP_MOVE(18, MOVE_SCREECH), + LEVEL_UP_MOVE(22, MOVE_SWAGGER), + LEVEL_UP_MOVE(25, MOVE_ICE_FANG), + LEVEL_UP_MOVE(29, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(32, MOVE_POISON_FANG), + LEVEL_UP_MOVE(36, MOVE_CRUNCH), + LEVEL_UP_MOVE(39, MOVE_AGILITY), + LEVEL_UP_MOVE(43, MOVE_TAKE_DOWN), LEVEL_UP_END }; -static const u16 sSharpedoLevelUpLearnset[] = { +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_FEINT), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_BITE), LEVEL_UP_MOVE( 1, MOVE_RAGE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE( 7, MOVE_RAGE), - LEVEL_UP_MOVE(13, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(16, MOVE_SCARY_FACE), + LEVEL_UP_MOVE( 4, MOVE_RAGE), + LEVEL_UP_MOVE( 8, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(11, MOVE_AQUA_JET), + LEVEL_UP_MOVE(15, MOVE_ASSURANCE), + LEVEL_UP_MOVE(18, MOVE_SCREECH), + LEVEL_UP_MOVE(22, MOVE_SWAGGER), + LEVEL_UP_MOVE(25, MOVE_ICE_FANG), + LEVEL_UP_MOVE(29, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(34, MOVE_POISON_FANG), + LEVEL_UP_MOVE(40, MOVE_CRUNCH), + LEVEL_UP_MOVE(45, MOVE_AGILITY), + LEVEL_UP_MOVE(51, MOVE_SKULL_BASH), + LEVEL_UP_MOVE(56, MOVE_TAUNT), + LEVEL_UP_MOVE(62, MOVE_NIGHT_SLASH), + LEVEL_UP_END +}; + +static const struct LevelUpMove sTrapinchLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_BIDE), + LEVEL_UP_MOVE( 5, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 8, MOVE_BULLDOZE), + LEVEL_UP_MOVE(12, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(15, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(19, MOVE_DIG), LEVEL_UP_MOVE(22, MOVE_CRUNCH), - LEVEL_UP_MOVE(28, MOVE_SCREECH), - LEVEL_UP_MOVE(33, MOVE_SLASH), - LEVEL_UP_MOVE(38, MOVE_TAUNT), - LEVEL_UP_MOVE(43, MOVE_SWAGGER), - LEVEL_UP_MOVE(48, MOVE_SKULL_BASH), - LEVEL_UP_MOVE(53, MOVE_AGILITY), + LEVEL_UP_MOVE(26, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(29, MOVE_FEINT), + LEVEL_UP_MOVE(33, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(36, MOVE_SANDSTORM), + LEVEL_UP_MOVE(40, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(43, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(47, MOVE_FISSURE), LEVEL_UP_END }; -static const u16 sTrapinchLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_BITE), - LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(17, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(25, MOVE_SAND_TOMB), - LEVEL_UP_MOVE(33, MOVE_CRUNCH), - LEVEL_UP_MOVE(41, MOVE_DIG), - LEVEL_UP_MOVE(49, MOVE_SANDSTORM), - LEVEL_UP_MOVE(57, MOVE_HYPER_BEAM), - LEVEL_UP_END -}; - -static const u16 sVibravaLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_BITE), +static const struct LevelUpMove sVibravaLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SONIC_BOOM), LEVEL_UP_MOVE( 1, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), - LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(17, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(25, MOVE_SAND_TOMB), - LEVEL_UP_MOVE(33, MOVE_CRUNCH), - LEVEL_UP_MOVE(35, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE(41, MOVE_SCREECH), - LEVEL_UP_MOVE(49, MOVE_SANDSTORM), - LEVEL_UP_MOVE(57, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE( 1, MOVE_BIDE), + LEVEL_UP_MOVE( 5, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 8, MOVE_BULLDOZE), + LEVEL_UP_MOVE(12, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(15, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(19, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(22, MOVE_SCREECH), + LEVEL_UP_MOVE(26, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(29, MOVE_BUG_BUZZ), + LEVEL_UP_MOVE(33, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(36, MOVE_SANDSTORM), + LEVEL_UP_MOVE(40, MOVE_UPROAR), + LEVEL_UP_MOVE(43, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(47, MOVE_BOOMBURST), LEVEL_UP_END }; -static const u16 sFlygonLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_BITE), +static const struct LevelUpMove sFlygonLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_DANCE), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_SONIC_BOOM), LEVEL_UP_MOVE( 1, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE( 1, MOVE_SAND_TOMB), - LEVEL_UP_MOVE( 9, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(17, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(25, MOVE_SAND_TOMB), - LEVEL_UP_MOVE(33, MOVE_CRUNCH), - LEVEL_UP_MOVE(35, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE(41, MOVE_SCREECH), - LEVEL_UP_MOVE(53, MOVE_SANDSTORM), - LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE( 1, MOVE_BIDE), + LEVEL_UP_MOVE( 5, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 8, MOVE_BULLDOZE), + LEVEL_UP_MOVE(12, MOVE_SAND_TOMB), + LEVEL_UP_MOVE(15, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(19, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(22, MOVE_SCREECH), + LEVEL_UP_MOVE(26, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(29, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE(33, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(36, MOVE_SANDSTORM), + LEVEL_UP_MOVE(40, MOVE_UPROAR), + LEVEL_UP_MOVE(43, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(47, MOVE_DRAGON_RUSH), LEVEL_UP_END }; -static const u16 sMakuhitaLevelUpLearnset[] = { +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(10, MOVE_ARM_THRUST), - LEVEL_UP_MOVE(13, MOVE_VITAL_THROW), - LEVEL_UP_MOVE(19, MOVE_FAKE_OUT), - LEVEL_UP_MOVE(22, MOVE_WHIRLWIND), - LEVEL_UP_MOVE(28, MOVE_KNOCK_OFF), - LEVEL_UP_MOVE(31, MOVE_SMELLING_SALT), - LEVEL_UP_MOVE(37, MOVE_BELLY_DRUM), - LEVEL_UP_MOVE(40, MOVE_ENDURE), - LEVEL_UP_MOVE(46, MOVE_SEISMIC_TOSS), - LEVEL_UP_MOVE(49, MOVE_REVERSAL), + 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_VITAL_THROW), + LEVEL_UP_MOVE(25, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(28, MOVE_SMELLING_SALT), + LEVEL_UP_MOVE(31, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(34, MOVE_WAKE_UP_SLAP), + 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 u16 sHariyamaLevelUpLearnset[] = { +static const struct LevelUpMove sHariyamaLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_BRINE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), LEVEL_UP_MOVE( 1, MOVE_SAND_ATTACK), LEVEL_UP_MOVE( 1, MOVE_ARM_THRUST), LEVEL_UP_MOVE( 4, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(10, MOVE_ARM_THRUST), - LEVEL_UP_MOVE(13, MOVE_VITAL_THROW), - LEVEL_UP_MOVE(19, MOVE_FAKE_OUT), - LEVEL_UP_MOVE(22, MOVE_WHIRLWIND), - LEVEL_UP_MOVE(29, MOVE_KNOCK_OFF), - LEVEL_UP_MOVE(33, MOVE_SMELLING_SALT), - LEVEL_UP_MOVE(40, MOVE_BELLY_DRUM), - LEVEL_UP_MOVE(44, MOVE_ENDURE), - LEVEL_UP_MOVE(51, MOVE_SEISMIC_TOSS), - LEVEL_UP_MOVE(55, MOVE_REVERSAL), + 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_VITAL_THROW), + LEVEL_UP_MOVE(26, MOVE_BELLY_DRUM), + LEVEL_UP_MOVE(30, MOVE_SMELLING_SALT), + LEVEL_UP_MOVE(34, MOVE_SEISMIC_TOSS), + LEVEL_UP_MOVE(38, MOVE_WAKE_UP_SLAP), + 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_END }; -static const u16 sElectrikeLevelUpLearnset[] = { +static const struct LevelUpMove sElectrikeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE( 9, MOVE_LEER), - LEVEL_UP_MOVE(12, MOVE_HOWL), - LEVEL_UP_MOVE(17, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(20, MOVE_SPARK), - LEVEL_UP_MOVE(25, MOVE_ODOR_SLEUTH), - LEVEL_UP_MOVE(28, MOVE_ROAR), - LEVEL_UP_MOVE(33, MOVE_BITE), - LEVEL_UP_MOVE(36, MOVE_THUNDER), - LEVEL_UP_MOVE(41, MOVE_CHARGE), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 4, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_HOWL), + LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_SPARK), + LEVEL_UP_MOVE(16, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(19, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE(24, MOVE_BITE), + LEVEL_UP_MOVE(29, MOVE_DISCHARGE), + LEVEL_UP_MOVE(34, MOVE_ROAR), + LEVEL_UP_MOVE(39, MOVE_WILD_CHARGE), + LEVEL_UP_MOVE(44, MOVE_CHARGE), + LEVEL_UP_MOVE(49, MOVE_THUNDER), LEVEL_UP_END }; -static const u16 sManectricLevelUpLearnset[] = { +static const struct LevelUpMove sManectricLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ELECTRIC_TERRAIN), + 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( 4, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE( 9, MOVE_LEER), - LEVEL_UP_MOVE(12, MOVE_HOWL), - LEVEL_UP_MOVE(17, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(20, MOVE_SPARK), - LEVEL_UP_MOVE(25, MOVE_ODOR_SLEUTH), - LEVEL_UP_MOVE(31, MOVE_ROAR), - LEVEL_UP_MOVE(39, MOVE_BITE), - LEVEL_UP_MOVE(45, MOVE_THUNDER), - LEVEL_UP_MOVE(53, MOVE_CHARGE), + LEVEL_UP_MOVE( 4, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_HOWL), + LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(13, MOVE_SPARK), + LEVEL_UP_MOVE(16, MOVE_ODOR_SLEUTH), + LEVEL_UP_MOVE(19, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE(24, MOVE_BITE), + LEVEL_UP_MOVE(30, MOVE_DISCHARGE), + LEVEL_UP_MOVE(36, MOVE_ROAR), + LEVEL_UP_MOVE(42, MOVE_WILD_CHARGE), + LEVEL_UP_MOVE(48, MOVE_CHARGE), + LEVEL_UP_MOVE(54, MOVE_THUNDER), + LEVEL_UP_MOVE(60, MOVE_ELECTRIC_TERRAIN), LEVEL_UP_END }; -static const u16 sNumelLevelUpLearnset[] = { +static const struct LevelUpMove sNumelLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE(11, MOVE_EMBER), - LEVEL_UP_MOVE(19, MOVE_MAGNITUDE), - LEVEL_UP_MOVE(25, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(29, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(31, MOVE_AMNESIA), - LEVEL_UP_MOVE(35, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE(41, MOVE_FLAMETHROWER), - LEVEL_UP_MOVE(49, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 5, MOVE_EMBER), + LEVEL_UP_MOVE( 8, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(12, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(15, MOVE_FLAME_BURST), + 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(36, MOVE_YAWN), + LEVEL_UP_MOVE(40, MOVE_EARTHQUAKE), + LEVEL_UP_MOVE(43, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(47, MOVE_DOUBLE_EDGE), LEVEL_UP_END }; -static const u16 sCameruptLevelUpLearnset[] = { +static const struct LevelUpMove sCameruptLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE( 1, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE( 1, MOVE_FISSURE), + LEVEL_UP_MOVE( 1, MOVE_ERUPTION), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_EMBER), - LEVEL_UP_MOVE( 1, MOVE_MAGNITUDE), - LEVEL_UP_MOVE(11, MOVE_EMBER), - LEVEL_UP_MOVE(19, MOVE_MAGNITUDE), - LEVEL_UP_MOVE(25, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(29, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(31, MOVE_AMNESIA), - LEVEL_UP_MOVE(33, MOVE_ROCK_SLIDE), - LEVEL_UP_MOVE(37, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE(45, MOVE_ERUPTION), - LEVEL_UP_MOVE(55, MOVE_FISSURE), + LEVEL_UP_MOVE( 1, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE( 8, MOVE_EMBER), + LEVEL_UP_MOVE( 8, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(12, MOVE_MAGNITUDE), + LEVEL_UP_MOVE(15, MOVE_FLAME_BURST), + 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_MOVE(52, MOVE_ERUPTION), + LEVEL_UP_MOVE(59, MOVE_FISSURE), LEVEL_UP_END }; -static const u16 sSphealLevelUpLearnset[] = { +static const struct LevelUpMove sSphealLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 7, MOVE_ENCORE), + LEVEL_UP_MOVE( 5, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 9, MOVE_ENCORE), LEVEL_UP_MOVE(13, MOVE_ICE_BALL), - LEVEL_UP_MOVE(19, MOVE_BODY_SLAM), - LEVEL_UP_MOVE(25, MOVE_AURORA_BEAM), - LEVEL_UP_MOVE(31, MOVE_HAIL), - LEVEL_UP_MOVE(37, MOVE_REST), - LEVEL_UP_MOVE(37, MOVE_SNORE), - LEVEL_UP_MOVE(43, MOVE_BLIZZARD), - LEVEL_UP_MOVE(49, MOVE_SHEER_COLD), + LEVEL_UP_MOVE(17, MOVE_BRINE), + LEVEL_UP_MOVE(21, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(26, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(31, MOVE_REST), + LEVEL_UP_MOVE(31, MOVE_SNORE), + LEVEL_UP_MOVE(36, MOVE_HAIL), + LEVEL_UP_MOVE(41, MOVE_BLIZZARD), + LEVEL_UP_MOVE(46, MOVE_SHEER_COLD), LEVEL_UP_END }; -static const u16 sSealeoLevelUpLearnset[] = { +static const struct LevelUpMove sSealeoLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_SWAGGER), + LEVEL_UP_MOVE( 1, MOVE_SWAGGER), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 1, MOVE_ENCORE), - LEVEL_UP_MOVE( 7, MOVE_ENCORE), + LEVEL_UP_MOVE( 5, MOVE_ROLLOUT), + LEVEL_UP_MOVE( 9, MOVE_ENCORE), LEVEL_UP_MOVE(13, MOVE_ICE_BALL), - LEVEL_UP_MOVE(19, MOVE_BODY_SLAM), - LEVEL_UP_MOVE(25, MOVE_AURORA_BEAM), - LEVEL_UP_MOVE(31, MOVE_HAIL), - LEVEL_UP_MOVE(39, MOVE_REST), - LEVEL_UP_MOVE(39, MOVE_SNORE), - LEVEL_UP_MOVE(47, MOVE_BLIZZARD), - LEVEL_UP_MOVE(55, MOVE_SHEER_COLD), + LEVEL_UP_MOVE(17, MOVE_BRINE), + LEVEL_UP_MOVE(21, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(26, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(31, MOVE_REST), + LEVEL_UP_MOVE(31, MOVE_SNORE), + LEVEL_UP_MOVE(38, MOVE_HAIL), + LEVEL_UP_MOVE(45, MOVE_BLIZZARD), + LEVEL_UP_MOVE(52, MOVE_SHEER_COLD), LEVEL_UP_END }; -static const u16 sWalreinLevelUpLearnset[] = { +static const struct LevelUpMove sWalreinLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_ICE_FANG), + LEVEL_UP_MOVE( 1, MOVE_SWAGGER), + LEVEL_UP_MOVE( 1, MOVE_CRUNCH), + LEVEL_UP_MOVE( 1, MOVE_DEFENSE_CURL), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 1, MOVE_ENCORE), + LEVEL_UP_MOVE( 7, MOVE_ROLLOUT), LEVEL_UP_MOVE( 7, MOVE_ENCORE), LEVEL_UP_MOVE(13, MOVE_ICE_BALL), - LEVEL_UP_MOVE(19, MOVE_BODY_SLAM), - LEVEL_UP_MOVE(25, MOVE_AURORA_BEAM), - LEVEL_UP_MOVE(31, MOVE_HAIL), - LEVEL_UP_MOVE(39, MOVE_REST), - LEVEL_UP_MOVE(39, MOVE_SNORE), - LEVEL_UP_MOVE(50, MOVE_BLIZZARD), - LEVEL_UP_MOVE(61, MOVE_SHEER_COLD), + LEVEL_UP_MOVE(19, MOVE_BRINE), + LEVEL_UP_MOVE(19, MOVE_AURORA_BEAM), + LEVEL_UP_MOVE(25, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(31, MOVE_REST), + LEVEL_UP_MOVE(31, MOVE_SNORE), + LEVEL_UP_MOVE(38, MOVE_HAIL), + LEVEL_UP_MOVE(49, MOVE_BLIZZARD), + LEVEL_UP_MOVE(60, MOVE_SHEER_COLD), LEVEL_UP_END }; -static const u16 sCacneaLevelUpLearnset[] = { +static const struct LevelUpMove sCacneaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POISON_STING), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 5, MOVE_ABSORB), - LEVEL_UP_MOVE( 9, MOVE_GROWTH), - LEVEL_UP_MOVE(13, MOVE_LEECH_SEED), - LEVEL_UP_MOVE(17, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(21, MOVE_PIN_MISSILE), - LEVEL_UP_MOVE(25, MOVE_INGRAIN), - LEVEL_UP_MOVE(29, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(33, MOVE_SPIKES), - LEVEL_UP_MOVE(37, MOVE_NEEDLE_ARM), - LEVEL_UP_MOVE(41, MOVE_COTTON_SPORE), - LEVEL_UP_MOVE(45, MOVE_SANDSTORM), + 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_NEEDLE_ARM), + LEVEL_UP_MOVE(19, MOVE_FAINT_ATTACK), + 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 u16 sCacturneLevelUpLearnset[] = { +static const struct LevelUpMove sCacturneLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_SPIKY_SHIELD), + LEVEL_UP_MOVE( 1, MOVE_SPIKY_SHIELD), + LEVEL_UP_MOVE( 1, MOVE_DESTINY_BOND), + LEVEL_UP_MOVE( 1, MOVE_REVENGE), 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( 5, MOVE_ABSORB), - LEVEL_UP_MOVE( 9, MOVE_GROWTH), - LEVEL_UP_MOVE(13, MOVE_LEECH_SEED), - LEVEL_UP_MOVE(17, MOVE_SAND_ATTACK), - LEVEL_UP_MOVE(21, MOVE_PIN_MISSILE), - LEVEL_UP_MOVE(25, MOVE_INGRAIN), - LEVEL_UP_MOVE(29, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(35, MOVE_SPIKES), - LEVEL_UP_MOVE(41, MOVE_NEEDLE_ARM), - LEVEL_UP_MOVE(47, MOVE_COTTON_SPORE), - LEVEL_UP_MOVE(53, MOVE_SANDSTORM), + 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_NEEDLE_ARM), + LEVEL_UP_MOVE(19, MOVE_FAINT_ATTACK), + 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_MOVE(59, MOVE_DESTINY_BOND), LEVEL_UP_END }; -static const u16 sSnoruntLevelUpLearnset[] = { +static const struct LevelUpMove sSnoruntLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 7, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE(10, MOVE_BITE), - LEVEL_UP_MOVE(16, MOVE_ICY_WIND), - LEVEL_UP_MOVE(19, MOVE_HEADBUTT), - LEVEL_UP_MOVE(25, MOVE_PROTECT), - LEVEL_UP_MOVE(28, MOVE_CRUNCH), - LEVEL_UP_MOVE(34, MOVE_ICE_BEAM), - LEVEL_UP_MOVE(37, MOVE_HAIL), - LEVEL_UP_MOVE(43, MOVE_BLIZZARD), + LEVEL_UP_MOVE( 5, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(10, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(14, MOVE_ICY_WIND), + LEVEL_UP_MOVE(19, MOVE_BITE), + LEVEL_UP_MOVE(23, MOVE_ICE_FANG), + LEVEL_UP_MOVE(28, MOVE_HEADBUTT), + LEVEL_UP_MOVE(32, MOVE_PROTECT), + LEVEL_UP_MOVE(37, MOVE_FROST_BREATH), + LEVEL_UP_MOVE(41, MOVE_CRUNCH), + LEVEL_UP_MOVE(46, MOVE_BLIZZARD), + LEVEL_UP_MOVE(50, MOVE_HAIL), LEVEL_UP_END }; -static const u16 sGlalieLevelUpLearnset[] = { +static const struct LevelUpMove sGlalieLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE( 1, MOVE_FREEZE_DRY), + LEVEL_UP_MOVE( 1, MOVE_SHEER_COLD), LEVEL_UP_MOVE( 1, MOVE_POWDER_SNOW), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE( 1, MOVE_BITE), - LEVEL_UP_MOVE( 7, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE(10, MOVE_BITE), - LEVEL_UP_MOVE(16, MOVE_ICY_WIND), - LEVEL_UP_MOVE(19, MOVE_HEADBUTT), - LEVEL_UP_MOVE(25, MOVE_PROTECT), - LEVEL_UP_MOVE(28, MOVE_CRUNCH), - LEVEL_UP_MOVE(34, MOVE_ICE_BEAM), - LEVEL_UP_MOVE(42, MOVE_HAIL), - LEVEL_UP_MOVE(53, MOVE_BLIZZARD), + LEVEL_UP_MOVE( 1, MOVE_ICE_SHARD), + LEVEL_UP_MOVE( 5, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(10, MOVE_ICE_SHARD), + LEVEL_UP_MOVE(14, MOVE_ICY_WIND), + LEVEL_UP_MOVE(19, MOVE_BITE), + LEVEL_UP_MOVE(23, MOVE_ICE_FANG), + LEVEL_UP_MOVE(28, MOVE_HEADBUTT), + LEVEL_UP_MOVE(32, MOVE_PROTECT), + LEVEL_UP_MOVE(37, MOVE_FROST_BREATH), + LEVEL_UP_MOVE(41, MOVE_CRUNCH), + LEVEL_UP_MOVE(48, MOVE_BLIZZARD), + LEVEL_UP_MOVE(54, MOVE_HAIL), LEVEL_UP_MOVE(61, MOVE_SHEER_COLD), LEVEL_UP_END }; -static const u16 sLunatoneLevelUpLearnset[] = { +static const struct LevelUpMove sLunatoneLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_POWER_GEM), + LEVEL_UP_MOVE( 1, MOVE_PSYSHOCK), + LEVEL_UP_MOVE( 1, MOVE_MOONBLAST), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), - LEVEL_UP_MOVE( 7, MOVE_CONFUSION), - LEVEL_UP_MOVE(13, MOVE_ROCK_THROW), - LEVEL_UP_MOVE(19, MOVE_HYPNOSIS), - LEVEL_UP_MOVE(25, MOVE_PSYWAVE), - LEVEL_UP_MOVE(31, MOVE_COSMIC_POWER), - LEVEL_UP_MOVE(37, MOVE_PSYCHIC), - LEVEL_UP_MOVE(43, MOVE_FUTURE_SIGHT), - LEVEL_UP_MOVE(49, MOVE_EXPLOSION), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 5, MOVE_HYPNOSIS), + LEVEL_UP_MOVE( 9, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(13, MOVE_PSYWAVE), + LEVEL_UP_MOVE(17, MOVE_EMBARGO), + LEVEL_UP_MOVE(21, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(25, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(29, MOVE_PSYCHIC), + LEVEL_UP_MOVE(33, MOVE_HEAL_BLOCK), + LEVEL_UP_MOVE(37, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(41, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(45, MOVE_EXPLOSION), + LEVEL_UP_MOVE(49, MOVE_MAGIC_ROOM), LEVEL_UP_END }; -static const u16 sSolrockLevelUpLearnset[] = { +static const struct LevelUpMove sSolrockLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FLARE_BLITZ), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), - LEVEL_UP_MOVE( 7, MOVE_CONFUSION), - LEVEL_UP_MOVE(13, MOVE_ROCK_THROW), - LEVEL_UP_MOVE(19, MOVE_FIRE_SPIN), - LEVEL_UP_MOVE(25, MOVE_PSYWAVE), - LEVEL_UP_MOVE(31, MOVE_COSMIC_POWER), - LEVEL_UP_MOVE(37, MOVE_ROCK_SLIDE), - LEVEL_UP_MOVE(43, MOVE_SOLAR_BEAM), - LEVEL_UP_MOVE(49, MOVE_EXPLOSION), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 5, MOVE_FIRE_SPIN), + LEVEL_UP_MOVE( 9, MOVE_ROCK_POLISH), + LEVEL_UP_MOVE(13, MOVE_PSYWAVE), + LEVEL_UP_MOVE(17, MOVE_EMBARGO), + LEVEL_UP_MOVE(21, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(25, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(29, MOVE_PSYCHIC), + LEVEL_UP_MOVE(33, MOVE_HEAL_BLOCK), + LEVEL_UP_MOVE(37, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(41, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(45, MOVE_EXPLOSION), + LEVEL_UP_MOVE(49, MOVE_WONDER_ROOM), LEVEL_UP_END }; -static const u16 sAzurillLevelUpLearnset[] = { +static const struct LevelUpMove sAzurillLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), - LEVEL_UP_MOVE( 3, MOVE_CHARM), - LEVEL_UP_MOVE( 6, MOVE_TAIL_WHIP), - LEVEL_UP_MOVE(10, MOVE_BUBBLE), - LEVEL_UP_MOVE(15, MOVE_SLAM), - LEVEL_UP_MOVE(21, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 2, MOVE_TAIL_WHIP), + LEVEL_UP_MOVE( 5, MOVE_WATER_SPORT), + LEVEL_UP_MOVE( 7, MOVE_BUBBLE), + LEVEL_UP_MOVE(10, MOVE_CHARM), + LEVEL_UP_MOVE(13, MOVE_BUBBLE_BEAM), + LEVEL_UP_MOVE(16, MOVE_HELPING_HAND), + LEVEL_UP_MOVE(20, MOVE_SLAM), + LEVEL_UP_MOVE(23, MOVE_BOUNCE), LEVEL_UP_END }; -static const u16 sSpoinkLevelUpLearnset[] = { +static const struct LevelUpMove sSpoinkLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 7, MOVE_PSYWAVE), LEVEL_UP_MOVE(10, MOVE_ODOR_SLEUTH), - LEVEL_UP_MOVE(16, MOVE_PSYBEAM), - LEVEL_UP_MOVE(19, MOVE_PSYCH_UP), - LEVEL_UP_MOVE(25, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE(28, MOVE_MAGIC_COAT), - LEVEL_UP_MOVE(34, MOVE_PSYCHIC), - LEVEL_UP_MOVE(37, MOVE_REST), - LEVEL_UP_MOVE(37, MOVE_SNORE), - LEVEL_UP_MOVE(43, MOVE_BOUNCE), + LEVEL_UP_MOVE(14, MOVE_PSYBEAM), + LEVEL_UP_MOVE(15, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(18, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(21, MOVE_MAGIC_COAT), + LEVEL_UP_MOVE(26, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(29, MOVE_POWER_GEM), + LEVEL_UP_MOVE(29, MOVE_REST), + 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 u16 sGrumpigLevelUpLearnset[] = { +static const struct LevelUpMove sGrumpigLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_TEETER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_TEETER_DANCE), + LEVEL_UP_MOVE( 1, MOVE_BELCH), LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), LEVEL_UP_MOVE( 1, MOVE_ODOR_SLEUTH), LEVEL_UP_MOVE( 1, MOVE_PSYBEAM), LEVEL_UP_MOVE( 7, MOVE_PSYWAVE), LEVEL_UP_MOVE(10, MOVE_ODOR_SLEUTH), - LEVEL_UP_MOVE(16, MOVE_PSYBEAM), - LEVEL_UP_MOVE(19, MOVE_PSYCH_UP), - LEVEL_UP_MOVE(25, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE(28, MOVE_MAGIC_COAT), - LEVEL_UP_MOVE(37, MOVE_PSYCHIC), - LEVEL_UP_MOVE(43, MOVE_REST), - LEVEL_UP_MOVE(43, MOVE_SNORE), - LEVEL_UP_MOVE(55, MOVE_BOUNCE), + LEVEL_UP_MOVE(14, MOVE_PSYBEAM), + LEVEL_UP_MOVE(15, MOVE_PSYCH_UP), + LEVEL_UP_MOVE(18, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(21, MOVE_MAGIC_COAT), + 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 }; -static const u16 sPlusleLevelUpLearnset[] = { +static const struct LevelUpMove sPlusleLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_NUZZLE), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(13, MOVE_HELPING_HAND), - LEVEL_UP_MOVE(19, MOVE_SPARK), - LEVEL_UP_MOVE(22, MOVE_ENCORE), - LEVEL_UP_MOVE(28, MOVE_FAKE_TEARS), - LEVEL_UP_MOVE(31, MOVE_CHARGE), - LEVEL_UP_MOVE(37, MOVE_THUNDER), - LEVEL_UP_MOVE(40, MOVE_BATON_PASS), - LEVEL_UP_MOVE(47, MOVE_AGILITY), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 4, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 7, MOVE_SPARK), + LEVEL_UP_MOVE(10, MOVE_ENCORE), + LEVEL_UP_MOVE(13, MOVE_BESTOW), + LEVEL_UP_MOVE(16, MOVE_SWIFT), + LEVEL_UP_MOVE(19, MOVE_ELECTRO_BALL), + LEVEL_UP_MOVE(22, MOVE_COPYCAT), + LEVEL_UP_MOVE(25, MOVE_CHARM), + LEVEL_UP_MOVE(28, 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 }; -static const u16 sMinunLevelUpLearnset[] = { +static const struct LevelUpMove sMinunLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_NUZZLE), + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 4, MOVE_THUNDER_WAVE), - LEVEL_UP_MOVE(10, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(13, MOVE_HELPING_HAND), - LEVEL_UP_MOVE(19, MOVE_SPARK), - LEVEL_UP_MOVE(22, MOVE_ENCORE), - LEVEL_UP_MOVE(28, MOVE_CHARM), - LEVEL_UP_MOVE(31, MOVE_CHARGE), - LEVEL_UP_MOVE(37, MOVE_THUNDER), - LEVEL_UP_MOVE(40, MOVE_BATON_PASS), - LEVEL_UP_MOVE(47, MOVE_AGILITY), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_WAVE), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + 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(25, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE(28, 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_TRUMP_CARD), + LEVEL_UP_MOVE(43, MOVE_THUNDER), + LEVEL_UP_MOVE(46, MOVE_NASTY_PLOT), + LEVEL_UP_MOVE(49, MOVE_ENTRAINMENT), LEVEL_UP_END }; -static const u16 sMawileLevelUpLearnset[] = { +static const struct LevelUpMove sMawileLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PLAY_ROUGH), + LEVEL_UP_MOVE( 1, MOVE_IRON_HEAD), + LEVEL_UP_MOVE( 1, MOVE_TAUNT), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_FAIRY_WIND), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), - LEVEL_UP_MOVE( 6, MOVE_FAKE_TEARS), - LEVEL_UP_MOVE(11, MOVE_BITE), - LEVEL_UP_MOVE(16, MOVE_SWEET_SCENT), - LEVEL_UP_MOVE(21, MOVE_VICE_GRIP), - LEVEL_UP_MOVE(26, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(31, MOVE_BATON_PASS), - LEVEL_UP_MOVE(36, MOVE_CRUNCH), - LEVEL_UP_MOVE(41, MOVE_IRON_DEFENSE), - LEVEL_UP_MOVE(46, MOVE_STOCKPILE), - LEVEL_UP_MOVE(46, MOVE_SWALLOW), - LEVEL_UP_MOVE(46, MOVE_SPIT_UP), + LEVEL_UP_MOVE( 5, MOVE_FAKE_TEARS), + LEVEL_UP_MOVE( 9, MOVE_BITE), + LEVEL_UP_MOVE(13, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(17, MOVE_VICE_GRIP), + LEVEL_UP_MOVE(21, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(25, MOVE_BATON_PASS), + LEVEL_UP_MOVE(29, MOVE_CRUNCH), + LEVEL_UP_MOVE(33, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(37, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(41, MOVE_STOCKPILE), + LEVEL_UP_MOVE(41, MOVE_SWALLOW), + LEVEL_UP_MOVE(41, MOVE_SPIT_UP), + LEVEL_UP_MOVE(45, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(49, MOVE_PLAY_ROUGH), LEVEL_UP_END }; -static const u16 sMedititeLevelUpLearnset[] = { +static const struct LevelUpMove sMedititeLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_BIDE), LEVEL_UP_MOVE( 4, MOVE_MEDITATE), - LEVEL_UP_MOVE( 9, MOVE_CONFUSION), - LEVEL_UP_MOVE(12, MOVE_DETECT), - LEVEL_UP_MOVE(18, MOVE_HIDDEN_POWER), - LEVEL_UP_MOVE(22, MOVE_MIND_READER), - LEVEL_UP_MOVE(28, MOVE_CALM_MIND), - LEVEL_UP_MOVE(32, MOVE_HI_JUMP_KICK), - LEVEL_UP_MOVE(38, MOVE_PSYCH_UP), - LEVEL_UP_MOVE(42, MOVE_REVERSAL), - LEVEL_UP_MOVE(48, MOVE_RECOVER), + LEVEL_UP_MOVE( 7, MOVE_CONFUSION), + 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_HIDDEN_POWER), + LEVEL_UP_MOVE(23, MOVE_CALM_MIND), + LEVEL_UP_MOVE(25, MOVE_MIND_READER), + LEVEL_UP_MOVE(28, MOVE_HI_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 u16 sMedichamLevelUpLearnset[] = { +static const struct LevelUpMove sMedichamLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ZEN_HEADBUTT), LEVEL_UP_MOVE( 1, MOVE_FIRE_PUNCH), LEVEL_UP_MOVE( 1, MOVE_THUNDER_PUNCH), LEVEL_UP_MOVE( 1, MOVE_ICE_PUNCH), @@ -4786,53 +6759,74 @@ static const u16 sMedichamLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_DETECT), LEVEL_UP_MOVE( 4, MOVE_MEDITATE), - LEVEL_UP_MOVE( 9, MOVE_CONFUSION), - LEVEL_UP_MOVE(12, MOVE_DETECT), - LEVEL_UP_MOVE(18, MOVE_HIDDEN_POWER), - LEVEL_UP_MOVE(22, MOVE_MIND_READER), - LEVEL_UP_MOVE(28, MOVE_CALM_MIND), - LEVEL_UP_MOVE(32, MOVE_HI_JUMP_KICK), - LEVEL_UP_MOVE(40, MOVE_PSYCH_UP), - LEVEL_UP_MOVE(46, MOVE_REVERSAL), - LEVEL_UP_MOVE(54, MOVE_RECOVER), + LEVEL_UP_MOVE( 7, MOVE_CONFUSION), + 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_HIDDEN_POWER), + LEVEL_UP_MOVE(23, MOVE_CALM_MIND), + LEVEL_UP_MOVE(25, MOVE_MIND_READER), + LEVEL_UP_MOVE(28, MOVE_HI_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(42, MOVE_REVERSAL), + LEVEL_UP_MOVE(47, MOVE_RECOVER), + LEVEL_UP_MOVE(53, MOVE_COUNTER), LEVEL_UP_END }; -static const u16 sSwabluLevelUpLearnset[] = { +static const struct LevelUpMove sSwabluLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 8, MOVE_ASTONISH), - LEVEL_UP_MOVE(11, MOVE_SING), - LEVEL_UP_MOVE(18, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE(21, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(28, MOVE_MIST), - LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(38, MOVE_MIRROR_MOVE), - LEVEL_UP_MOVE(41, MOVE_REFRESH), - LEVEL_UP_MOVE(48, MOVE_PERISH_SONG), + LEVEL_UP_MOVE( 3, MOVE_ASTONISH), + LEVEL_UP_MOVE( 5, MOVE_SING), + LEVEL_UP_MOVE( 7, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(11, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE(14, MOVE_MIST), + LEVEL_UP_MOVE(17, MOVE_ROUND), + LEVEL_UP_MOVE(20, MOVE_NATURAL_GIFT), + LEVEL_UP_MOVE(23, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(26, MOVE_REFRESH), + LEVEL_UP_MOVE(30, MOVE_MIRROR_MOVE), + LEVEL_UP_MOVE(34, MOVE_COTTON_GUARD), + LEVEL_UP_MOVE(38, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(42, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(46, MOVE_MOONBLAST), LEVEL_UP_END }; -static const u16 sAltariaLevelUpLearnset[] = { +static const struct LevelUpMove sAltariaLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE( 1, MOVE_SKY_ATTACK), + LEVEL_UP_MOVE( 1, MOVE_PLUCK), LEVEL_UP_MOVE( 1, MOVE_PECK), LEVEL_UP_MOVE( 1, MOVE_GROWL), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_SING), - LEVEL_UP_MOVE( 8, MOVE_ASTONISH), - LEVEL_UP_MOVE(11, MOVE_SING), - LEVEL_UP_MOVE(18, MOVE_FURY_ATTACK), - LEVEL_UP_MOVE(21, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(28, MOVE_MIST), - LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(35, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE(40, MOVE_DRAGON_DANCE), - LEVEL_UP_MOVE(45, MOVE_REFRESH), - LEVEL_UP_MOVE(54, MOVE_PERISH_SONG), + LEVEL_UP_MOVE( 3, MOVE_ASTONISH), + LEVEL_UP_MOVE( 5, MOVE_SING), + LEVEL_UP_MOVE( 7, MOVE_FURY_ATTACK), + LEVEL_UP_MOVE( 9, MOVE_SAFEGUARD), + LEVEL_UP_MOVE(11, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE(14, MOVE_MIST), + LEVEL_UP_MOVE(17, MOVE_ROUND), + LEVEL_UP_MOVE(20, MOVE_NATURAL_GIFT), + LEVEL_UP_MOVE(23, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(26, MOVE_REFRESH), + LEVEL_UP_MOVE(30, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(34, MOVE_COTTON_GUARD), + LEVEL_UP_MOVE(40, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(46, MOVE_PERISH_SONG), + LEVEL_UP_MOVE(52, MOVE_MOONBLAST), LEVEL_UP_MOVE(59, MOVE_SKY_ATTACK), LEVEL_UP_END }; -static const u16 sWynautLevelUpLearnset[] = { +static const struct LevelUpMove sWynautLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SPLASH), LEVEL_UP_MOVE( 1, MOVE_CHARM), LEVEL_UP_MOVE( 1, MOVE_ENCORE), @@ -4843,736 +6837,1010 @@ static const u16 sWynautLevelUpLearnset[] = { LEVEL_UP_END }; -static const u16 sDuskullLevelUpLearnset[] = { +static const struct LevelUpMove sDuskullLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), - LEVEL_UP_MOVE( 5, MOVE_DISABLE), - LEVEL_UP_MOVE(12, MOVE_FORESIGHT), - LEVEL_UP_MOVE(16, MOVE_ASTONISH), - LEVEL_UP_MOVE(23, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE(27, MOVE_PURSUIT), - LEVEL_UP_MOVE(34, MOVE_CURSE), - LEVEL_UP_MOVE(38, MOVE_WILL_O_WISP), - LEVEL_UP_MOVE(45, MOVE_MEAN_LOOK), - LEVEL_UP_MOVE(49, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE( 6, MOVE_DISABLE), + LEVEL_UP_MOVE( 9, MOVE_ASTONISH), + LEVEL_UP_MOVE(14, MOVE_FORESIGHT), + LEVEL_UP_MOVE(17, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE(22, MOVE_PURSUIT), + LEVEL_UP_MOVE(25, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(30, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(33, MOVE_CURSE), + LEVEL_UP_MOVE(38, MOVE_HEX), + LEVEL_UP_MOVE(41, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(46, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(49, MOVE_PAYBACK), + LEVEL_UP_MOVE(54, MOVE_FUTURE_SIGHT), LEVEL_UP_END }; -static const u16 sDusclopsLevelUpLearnset[] = { +static const struct LevelUpMove sDusclopsLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_SHADOW_PUNCH), + LEVEL_UP_MOVE( 1, MOVE_FUTURE_SIGHT), + 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_GRAVITY), LEVEL_UP_MOVE( 1, MOVE_BIND), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), LEVEL_UP_MOVE( 1, MOVE_DISABLE), - LEVEL_UP_MOVE( 5, MOVE_DISABLE), - LEVEL_UP_MOVE(12, MOVE_FORESIGHT), - LEVEL_UP_MOVE(16, MOVE_ASTONISH), - LEVEL_UP_MOVE(23, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE(27, MOVE_PURSUIT), - LEVEL_UP_MOVE(34, MOVE_CURSE), - LEVEL_UP_MOVE(37, MOVE_SHADOW_PUNCH), - LEVEL_UP_MOVE(41, MOVE_WILL_O_WISP), - LEVEL_UP_MOVE(51, MOVE_MEAN_LOOK), - LEVEL_UP_MOVE(58, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 6, MOVE_DISABLE), + LEVEL_UP_MOVE( 9, MOVE_ASTONISH), + LEVEL_UP_MOVE(14, MOVE_FORESIGHT), + LEVEL_UP_MOVE(17, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE(22, MOVE_PURSUIT), + LEVEL_UP_MOVE(25, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(30, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(33, MOVE_CURSE), + LEVEL_UP_MOVE(40, MOVE_HEX), + LEVEL_UP_MOVE(45, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(52, MOVE_MEAN_LOOK), + LEVEL_UP_MOVE(57, MOVE_PAYBACK), + LEVEL_UP_MOVE(64, MOVE_FUTURE_SIGHT), LEVEL_UP_END }; -static const u16 sRoseliaLevelUpLearnset[] = { +static const struct LevelUpMove sRoseliaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ABSORB), - LEVEL_UP_MOVE( 5, MOVE_GROWTH), - LEVEL_UP_MOVE( 9, MOVE_POISON_STING), - LEVEL_UP_MOVE(13, MOVE_STUN_SPORE), - LEVEL_UP_MOVE(17, MOVE_MEGA_DRAIN), - LEVEL_UP_MOVE(21, MOVE_LEECH_SEED), - LEVEL_UP_MOVE(25, MOVE_MAGICAL_LEAF), - LEVEL_UP_MOVE(29, MOVE_GRASS_WHISTLE), - LEVEL_UP_MOVE(33, MOVE_GIGA_DRAIN), - LEVEL_UP_MOVE(37, MOVE_SWEET_SCENT), - LEVEL_UP_MOVE(41, MOVE_INGRAIN), - LEVEL_UP_MOVE(45, MOVE_TOXIC), - LEVEL_UP_MOVE(49, MOVE_PETAL_DANCE), - LEVEL_UP_MOVE(53, MOVE_AROMATHERAPY), - LEVEL_UP_MOVE(57, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 4, MOVE_GROWTH), + LEVEL_UP_MOVE( 7, MOVE_POISON_STING), + LEVEL_UP_MOVE(10, MOVE_STUN_SPORE), + LEVEL_UP_MOVE(13, MOVE_MEGA_DRAIN), + LEVEL_UP_MOVE(16, MOVE_LEECH_SEED), + LEVEL_UP_MOVE(19, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(22, MOVE_GRASS_WHISTLE), + LEVEL_UP_MOVE(25, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(28, MOVE_TOXIC_SPIKES), + LEVEL_UP_MOVE(31, MOVE_SWEET_SCENT), + LEVEL_UP_MOVE(34, MOVE_INGRAIN), + LEVEL_UP_MOVE(37, MOVE_PETAL_BLIZZARD), + LEVEL_UP_MOVE(40, MOVE_TOXIC), + LEVEL_UP_MOVE(43, MOVE_AROMATHERAPY), + LEVEL_UP_MOVE(46, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(50, MOVE_PETAL_DANCE), LEVEL_UP_END }; -static const u16 sSlakothLevelUpLearnset[] = { +static const struct LevelUpMove sSlakothLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_YAWN), - LEVEL_UP_MOVE( 7, MOVE_ENCORE), - LEVEL_UP_MOVE(13, MOVE_SLACK_OFF), - LEVEL_UP_MOVE(19, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(25, MOVE_AMNESIA), - LEVEL_UP_MOVE(31, MOVE_COVET), - LEVEL_UP_MOVE(37, MOVE_COUNTER), - LEVEL_UP_MOVE(43, MOVE_FLAIL), + LEVEL_UP_MOVE( 6, MOVE_ENCORE), + LEVEL_UP_MOVE( 9, MOVE_SLACK_OFF), + LEVEL_UP_MOVE(14, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(17, MOVE_AMNESIA), + LEVEL_UP_MOVE(22, MOVE_COVET), + LEVEL_UP_MOVE(25, MOVE_CHIP_AWAY), + LEVEL_UP_MOVE(30, MOVE_COUNTER), + LEVEL_UP_MOVE(33, MOVE_FLAIL), + LEVEL_UP_MOVE(38, MOVE_PLAY_ROUGH), LEVEL_UP_END }; -static const u16 sVigorothLevelUpLearnset[] = { +static const struct LevelUpMove sVigorothLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_REVERSAL), 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( 7, MOVE_ENCORE), - LEVEL_UP_MOVE(13, MOVE_UPROAR), - LEVEL_UP_MOVE(19, MOVE_FURY_SWIPES), - LEVEL_UP_MOVE(25, MOVE_ENDURE), - LEVEL_UP_MOVE(31, MOVE_SLASH), - LEVEL_UP_MOVE(37, MOVE_COUNTER), - LEVEL_UP_MOVE(43, MOVE_FOCUS_PUNCH), - LEVEL_UP_MOVE(49, MOVE_REVERSAL), + LEVEL_UP_MOVE( 6, MOVE_ENCORE), + LEVEL_UP_MOVE( 9, 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_CHIP_AWAY), + LEVEL_UP_MOVE(33, MOVE_COUNTER), + LEVEL_UP_MOVE(37, MOVE_FOCUS_PUNCH), + LEVEL_UP_MOVE(43, MOVE_REVERSAL), LEVEL_UP_END }; -static const u16 sSlakingLevelUpLearnset[] = { +static const struct LevelUpMove sSlakingLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_SWAGGER), + LEVEL_UP_MOVE( 1, MOVE_SWAGGER), + LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 1, MOVE_PUNISHMENT), + LEVEL_UP_MOVE( 1, MOVE_FLING), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_ENCORE), LEVEL_UP_MOVE( 1, MOVE_SLACK_OFF), - LEVEL_UP_MOVE( 7, MOVE_ENCORE), - LEVEL_UP_MOVE(13, MOVE_SLACK_OFF), - LEVEL_UP_MOVE(19, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(25, MOVE_AMNESIA), - LEVEL_UP_MOVE(31, MOVE_COVET), - LEVEL_UP_MOVE(36, MOVE_SWAGGER), - LEVEL_UP_MOVE(37, MOVE_COUNTER), - LEVEL_UP_MOVE(43, MOVE_FLAIL), - LEVEL_UP_END -}; - -static const u16 sGulpinLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_POUND), - LEVEL_UP_MOVE( 6, MOVE_YAWN), - LEVEL_UP_MOVE( 9, MOVE_POISON_GAS), - LEVEL_UP_MOVE(14, MOVE_SLUDGE), + LEVEL_UP_MOVE( 6, MOVE_ENCORE), + LEVEL_UP_MOVE( 9, MOVE_SLACK_OFF), + LEVEL_UP_MOVE(14, MOVE_FAINT_ATTACK), LEVEL_UP_MOVE(17, MOVE_AMNESIA), - LEVEL_UP_MOVE(23, MOVE_ENCORE), - LEVEL_UP_MOVE(28, MOVE_TOXIC), - LEVEL_UP_MOVE(34, MOVE_STOCKPILE), - LEVEL_UP_MOVE(34, MOVE_SPIT_UP), - LEVEL_UP_MOVE(34, MOVE_SWALLOW), - LEVEL_UP_MOVE(39, MOVE_SLUDGE_BOMB), + LEVEL_UP_MOVE(23, MOVE_COVET), + LEVEL_UP_MOVE(27, MOVE_CHIP_AWAY), + LEVEL_UP_MOVE(33, MOVE_COUNTER), + LEVEL_UP_MOVE(39, MOVE_FLAIL), + LEVEL_UP_MOVE(47, MOVE_FLING), + LEVEL_UP_MOVE(53, MOVE_PUNISHMENT), + LEVEL_UP_MOVE(61, MOVE_HAMMER_ARM), LEVEL_UP_END }; -static const u16 sSwalotLevelUpLearnset[] = { +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_WRING_OUT), + 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_BODY_SLAM), + LEVEL_UP_MOVE( 1, MOVE_VENOM_DRENCH), + LEVEL_UP_MOVE( 1, MOVE_GUNK_SHOT), + LEVEL_UP_MOVE( 1, MOVE_WRING_OUT), LEVEL_UP_MOVE( 1, MOVE_POUND), LEVEL_UP_MOVE( 1, MOVE_YAWN), LEVEL_UP_MOVE( 1, MOVE_POISON_GAS), LEVEL_UP_MOVE( 1, MOVE_SLUDGE), - LEVEL_UP_MOVE( 6, MOVE_YAWN), - LEVEL_UP_MOVE( 9, MOVE_POISON_GAS), - LEVEL_UP_MOVE(14, MOVE_SLUDGE), - LEVEL_UP_MOVE(17, MOVE_AMNESIA), - LEVEL_UP_MOVE(23, MOVE_ENCORE), - LEVEL_UP_MOVE(26, MOVE_BODY_SLAM), - LEVEL_UP_MOVE(31, MOVE_TOXIC), - LEVEL_UP_MOVE(40, MOVE_STOCKPILE), - LEVEL_UP_MOVE(40, MOVE_SPIT_UP), - LEVEL_UP_MOVE(40, MOVE_SWALLOW), - LEVEL_UP_MOVE(48, MOVE_SLUDGE_BOMB), + 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(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_MOVE(54, MOVE_WRING_OUT), + LEVEL_UP_MOVE(61, MOVE_GUNK_SHOT), LEVEL_UP_END }; -static const u16 sTropiusLevelUpLearnset[] = { +static const struct LevelUpMove sTropiusLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_LEAF_STORM), LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_GUST), - LEVEL_UP_MOVE( 7, MOVE_GROWTH), - LEVEL_UP_MOVE(11, MOVE_RAZOR_LEAF), - LEVEL_UP_MOVE(17, MOVE_STOMP), - LEVEL_UP_MOVE(21, MOVE_SWEET_SCENT), - LEVEL_UP_MOVE(27, MOVE_WHIRLWIND), - LEVEL_UP_MOVE(31, MOVE_MAGICAL_LEAF), - LEVEL_UP_MOVE(37, MOVE_BODY_SLAM), - LEVEL_UP_MOVE(41, MOVE_SOLAR_BEAM), - LEVEL_UP_MOVE(47, MOVE_SYNTHESIS), + LEVEL_UP_MOVE( 1, MOVE_GROWTH), + LEVEL_UP_MOVE( 1, MOVE_RAZOR_LEAF), + 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(26, MOVE_LEAF_TORNADO), + LEVEL_UP_MOVE(30, MOVE_NATURAL_GIFT), + LEVEL_UP_MOVE(36, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(41, MOVE_BODY_SLAM), + LEVEL_UP_MOVE(46, MOVE_BESTOW), + LEVEL_UP_MOVE(50, MOVE_SYNTHESIS), + LEVEL_UP_MOVE(56, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(61, MOVE_LEAF_STORM), LEVEL_UP_END }; -static const u16 sWhismurLevelUpLearnset[] = { +static const struct LevelUpMove sWhismurLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_POUND), - LEVEL_UP_MOVE( 5, MOVE_UPROAR), - LEVEL_UP_MOVE(11, MOVE_ASTONISH), - LEVEL_UP_MOVE(15, MOVE_HOWL), - LEVEL_UP_MOVE(21, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(25, MOVE_STOMP), - LEVEL_UP_MOVE(31, MOVE_SCREECH), - LEVEL_UP_MOVE(35, MOVE_ROAR), - LEVEL_UP_MOVE(41, MOVE_REST), + LEVEL_UP_MOVE( 4, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 8, MOVE_ASTONISH), + LEVEL_UP_MOVE(11, MOVE_HOWL), + LEVEL_UP_MOVE(15, MOVE_SCREECH), + LEVEL_UP_MOVE(18, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(22, MOVE_STOMP), + LEVEL_UP_MOVE(25, MOVE_UPROAR), + LEVEL_UP_MOVE(29, MOVE_ROAR), + LEVEL_UP_MOVE(32, MOVE_REST), + LEVEL_UP_MOVE(36, MOVE_SLEEP_TALK), + LEVEL_UP_MOVE(39, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(43, MOVE_SYNCHRONOISE), + 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_POUND), + LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_HOWL), + LEVEL_UP_MOVE( 4, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 9, MOVE_ASTONISH), + LEVEL_UP_MOVE(11, MOVE_HOWL), + LEVEL_UP_MOVE(15, MOVE_SCREECH), + LEVEL_UP_MOVE(18, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(23, MOVE_STOMP), + LEVEL_UP_MOVE(27, MOVE_UPROAR), + LEVEL_UP_MOVE(32, MOVE_ROAR), + LEVEL_UP_MOVE(36, MOVE_REST), LEVEL_UP_MOVE(41, MOVE_SLEEP_TALK), LEVEL_UP_MOVE(45, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(50, MOVE_SYNCHRONOISE), LEVEL_UP_END }; -static const u16 sLoudredLevelUpLearnset[] = { +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_BOOMBURST), + 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_POUND), - LEVEL_UP_MOVE( 1, MOVE_UPROAR), + LEVEL_UP_MOVE( 1, MOVE_ECHOED_VOICE), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_HOWL), - LEVEL_UP_MOVE( 5, MOVE_UPROAR), - LEVEL_UP_MOVE(11, MOVE_ASTONISH), - LEVEL_UP_MOVE(15, MOVE_HOWL), - LEVEL_UP_MOVE(23, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(29, MOVE_STOMP), - LEVEL_UP_MOVE(37, MOVE_SCREECH), - LEVEL_UP_MOVE(43, MOVE_ROAR), - LEVEL_UP_MOVE(51, MOVE_REST), - LEVEL_UP_MOVE(51, MOVE_SLEEP_TALK), - LEVEL_UP_MOVE(57, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE( 4, MOVE_ECHOED_VOICE), + LEVEL_UP_MOVE( 9, MOVE_ASTONISH), + LEVEL_UP_MOVE(11, MOVE_HOWL), + LEVEL_UP_MOVE(15, MOVE_SCREECH), + LEVEL_UP_MOVE(18, MOVE_SUPERSONIC), + LEVEL_UP_MOVE(23, MOVE_STOMP), + LEVEL_UP_MOVE(27, MOVE_UPROAR), + LEVEL_UP_MOVE(32, MOVE_ROAR), + LEVEL_UP_MOVE(36, MOVE_REST), + LEVEL_UP_MOVE(42, MOVE_SLEEP_TALK), + LEVEL_UP_MOVE(47, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(53, MOVE_SYNCHRONOISE), + LEVEL_UP_MOVE(58, MOVE_BOOMBURST), + LEVEL_UP_MOVE(64, MOVE_HYPER_BEAM), LEVEL_UP_END }; -static const u16 sExploudLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_POUND), - LEVEL_UP_MOVE( 1, MOVE_UPROAR), - LEVEL_UP_MOVE( 1, MOVE_ASTONISH), - LEVEL_UP_MOVE( 1, MOVE_HOWL), - LEVEL_UP_MOVE( 5, MOVE_UPROAR), - LEVEL_UP_MOVE(11, MOVE_ASTONISH), - LEVEL_UP_MOVE(15, MOVE_HOWL), - LEVEL_UP_MOVE(23, MOVE_SUPERSONIC), - LEVEL_UP_MOVE(29, MOVE_STOMP), - LEVEL_UP_MOVE(37, MOVE_SCREECH), - LEVEL_UP_MOVE(40, MOVE_HYPER_BEAM), - LEVEL_UP_MOVE(45, MOVE_ROAR), - LEVEL_UP_MOVE(55, MOVE_REST), - LEVEL_UP_MOVE(55, MOVE_SLEEP_TALK), - LEVEL_UP_MOVE(63, MOVE_HYPER_VOICE), - LEVEL_UP_END -}; - -static const u16 sClamperlLevelUpLearnset[] = { +static const struct LevelUpMove sClamperlLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_CLAMP), 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 u16 sHuntailLevelUpLearnset[] = { +static const struct LevelUpMove sHuntailLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), - LEVEL_UP_MOVE( 8, MOVE_BITE), - LEVEL_UP_MOVE(15, MOVE_SCREECH), - LEVEL_UP_MOVE(22, MOVE_WATER_PULSE), - LEVEL_UP_MOVE(29, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(36, MOVE_CRUNCH), - LEVEL_UP_MOVE(43, MOVE_BATON_PASS), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 5, MOVE_SCREECH), + LEVEL_UP_MOVE( 9, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(11, MOVE_FAINT_ATTACK), + 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 u16 sGorebyssLevelUpLearnset[] = { +static const struct LevelUpMove sGorebyssLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WHIRLPOOL), - LEVEL_UP_MOVE( 8, MOVE_CONFUSION), - LEVEL_UP_MOVE(15, MOVE_AGILITY), - LEVEL_UP_MOVE(22, MOVE_WATER_PULSE), - LEVEL_UP_MOVE(29, MOVE_AMNESIA), - LEVEL_UP_MOVE(36, MOVE_PSYCHIC), - LEVEL_UP_MOVE(43, MOVE_BATON_PASS), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 5, MOVE_WATER_SPORT), + 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_CAPTIVATE), + 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 }; -static const u16 sAbsolLevelUpLearnset[] = { +static const struct LevelUpMove sAbsolLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PERISH_SONG), + LEVEL_UP_MOVE( 1, MOVE_FUTURE_SIGHT), LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 5, MOVE_LEER), - LEVEL_UP_MOVE( 9, MOVE_TAUNT), - LEVEL_UP_MOVE(13, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(17, MOVE_RAZOR_WIND), - LEVEL_UP_MOVE(21, MOVE_BITE), - LEVEL_UP_MOVE(26, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE(31, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE(36, MOVE_SLASH), - LEVEL_UP_MOVE(41, MOVE_FUTURE_SIGHT), - LEVEL_UP_MOVE(46, MOVE_PERISH_SONG), + LEVEL_UP_MOVE( 1, MOVE_FEINT), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE( 4, MOVE_LEER), + LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), + LEVEL_UP_MOVE(10, MOVE_PURSUIT), + LEVEL_UP_MOVE(13, MOVE_TAUNT), + LEVEL_UP_MOVE(16, MOVE_BITE), + LEVEL_UP_MOVE(19, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE(22, MOVE_SLASH), + LEVEL_UP_MOVE(25, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(29, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(33, MOVE_DETECT), + LEVEL_UP_MOVE(37, MOVE_PSYCHO_CUT), + LEVEL_UP_MOVE(41, MOVE_ME_FIRST), + LEVEL_UP_MOVE(45, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(49, MOVE_RAZOR_WIND), + LEVEL_UP_MOVE(53, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(57, MOVE_PERISH_SONG), LEVEL_UP_END }; -static const u16 sShuppetLevelUpLearnset[] = { +static const struct LevelUpMove sShuppetLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), - LEVEL_UP_MOVE( 8, MOVE_SCREECH), - LEVEL_UP_MOVE(13, MOVE_NIGHT_SHADE), - LEVEL_UP_MOVE(20, MOVE_CURSE), - LEVEL_UP_MOVE(25, MOVE_SPITE), - LEVEL_UP_MOVE(32, MOVE_WILL_O_WISP), - LEVEL_UP_MOVE(37, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(44, MOVE_SHADOW_BALL), - LEVEL_UP_MOVE(49, MOVE_SNATCH), - LEVEL_UP_MOVE(56, MOVE_GRUDGE), + LEVEL_UP_MOVE( 4, MOVE_SCREECH), + LEVEL_UP_MOVE( 7, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(10, MOVE_SPITE), + LEVEL_UP_MOVE(13, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE(16, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(19, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(22, MOVE_HEX), + LEVEL_UP_MOVE(26, MOVE_CURSE), + LEVEL_UP_MOVE(30, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(34, MOVE_EMBARGO), + LEVEL_UP_MOVE(38, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(42, MOVE_SNATCH), + LEVEL_UP_MOVE(46, MOVE_GRUDGE), + LEVEL_UP_MOVE(50, MOVE_TRICK), + LEVEL_UP_MOVE(54, MOVE_PHANTOM_FORCE), LEVEL_UP_END }; -static const u16 sBanetteLevelUpLearnset[] = { +static const struct LevelUpMove sBanetteLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PHANTOM_FORCE), LEVEL_UP_MOVE( 1, MOVE_KNOCK_OFF), LEVEL_UP_MOVE( 1, MOVE_SCREECH), LEVEL_UP_MOVE( 1, MOVE_NIGHT_SHADE), - LEVEL_UP_MOVE( 1, MOVE_CURSE), - LEVEL_UP_MOVE( 8, MOVE_SCREECH), - LEVEL_UP_MOVE(13, MOVE_NIGHT_SHADE), - LEVEL_UP_MOVE(20, MOVE_CURSE), - LEVEL_UP_MOVE(25, MOVE_SPITE), - LEVEL_UP_MOVE(32, MOVE_WILL_O_WISP), - LEVEL_UP_MOVE(39, MOVE_FAINT_ATTACK), - LEVEL_UP_MOVE(48, MOVE_SHADOW_BALL), - LEVEL_UP_MOVE(55, MOVE_SNATCH), - LEVEL_UP_MOVE(64, MOVE_GRUDGE), + LEVEL_UP_MOVE( 1, MOVE_SPITE), + LEVEL_UP_MOVE( 4, MOVE_SCREECH), + LEVEL_UP_MOVE( 7, MOVE_NIGHT_SHADE), + LEVEL_UP_MOVE(10, MOVE_SPITE), + LEVEL_UP_MOVE(13, MOVE_SHADOW_SNEAK), + LEVEL_UP_MOVE(16, MOVE_WILL_O_WISP), + LEVEL_UP_MOVE(19, MOVE_FAINT_ATTACK), + LEVEL_UP_MOVE(22, MOVE_HEX), + LEVEL_UP_MOVE(26, MOVE_CURSE), + LEVEL_UP_MOVE(30, MOVE_SHADOW_BALL), + LEVEL_UP_MOVE(34, MOVE_EMBARGO), + LEVEL_UP_MOVE(40, MOVE_SUCKER_PUNCH), + LEVEL_UP_MOVE(46, MOVE_SNATCH), + LEVEL_UP_MOVE(52, MOVE_GRUDGE), + LEVEL_UP_MOVE(58, MOVE_TRICK), + LEVEL_UP_MOVE(64, MOVE_PHANTOM_FORCE), LEVEL_UP_END }; -static const u16 sSeviperLevelUpLearnset[] = { +static const struct LevelUpMove sSeviperLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WRAP), - LEVEL_UP_MOVE( 7, MOVE_LICK), - LEVEL_UP_MOVE(10, MOVE_BITE), - LEVEL_UP_MOVE(16, MOVE_POISON_TAIL), - LEVEL_UP_MOVE(19, MOVE_SCREECH), - LEVEL_UP_MOVE(25, MOVE_GLARE), - LEVEL_UP_MOVE(28, MOVE_CRUNCH), - LEVEL_UP_MOVE(34, MOVE_POISON_FANG), - LEVEL_UP_MOVE(37, MOVE_SWAGGER), - LEVEL_UP_MOVE(43, MOVE_HAZE), + 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(16, MOVE_VENOSHOCK), + LEVEL_UP_MOVE(19, MOVE_GLARE), + LEVEL_UP_MOVE(21, MOVE_POISON_FANG), + LEVEL_UP_MOVE(24, MOVE_VENOM_DRENCH), + LEVEL_UP_MOVE(26, MOVE_NIGHT_SLASH), + LEVEL_UP_MOVE(29, MOVE_GASTRO_ACID), + LEVEL_UP_MOVE(31, MOVE_POISON_JAB), + LEVEL_UP_MOVE(34, MOVE_HAZE), + LEVEL_UP_MOVE(36, MOVE_SWORDS_DANCE), + LEVEL_UP_MOVE(39, MOVE_CRUNCH), + LEVEL_UP_MOVE(41, MOVE_BELCH), + LEVEL_UP_MOVE(44, MOVE_COIL), + LEVEL_UP_MOVE(46, MOVE_WRING_OUT), LEVEL_UP_END }; -static const u16 sZangooseLevelUpLearnset[] = { +static const struct LevelUpMove sZangooseLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 4, MOVE_LEER), - LEVEL_UP_MOVE( 7, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(10, MOVE_SWORDS_DANCE), - LEVEL_UP_MOVE(13, MOVE_FURY_CUTTER), + 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_PURSUIT), + LEVEL_UP_MOVE(15, MOVE_HONE_CLAWS), LEVEL_UP_MOVE(19, MOVE_SLASH), - LEVEL_UP_MOVE(25, MOVE_PURSUIT), - LEVEL_UP_MOVE(31, MOVE_CRUSH_CLAW), - LEVEL_UP_MOVE(37, MOVE_TAUNT), - LEVEL_UP_MOVE(46, MOVE_DETECT), - LEVEL_UP_MOVE(55, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(22, MOVE_REVENGE), + LEVEL_UP_MOVE(26, MOVE_CRUSH_CLAW), + LEVEL_UP_MOVE(29, MOVE_FALSE_SWIPE), + LEVEL_UP_MOVE(33, MOVE_EMBARGO), + 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 }; -static const u16 sRelicanthLevelUpLearnset[] = { +static const struct LevelUpMove sRelicanthLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FLAIL), + LEVEL_UP_MOVE( 1, MOVE_HEAD_SMASH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), - LEVEL_UP_MOVE( 8, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), + LEVEL_UP_MOVE( 6, MOVE_MUD_SPORT), + LEVEL_UP_MOVE(10, MOVE_WATER_GUN), LEVEL_UP_MOVE(15, MOVE_ROCK_TOMB), - LEVEL_UP_MOVE(22, MOVE_YAWN), - LEVEL_UP_MOVE(29, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(36, MOVE_MUD_SPORT), - LEVEL_UP_MOVE(43, MOVE_ANCIENT_POWER), - LEVEL_UP_MOVE(50, MOVE_REST), - LEVEL_UP_MOVE(57, MOVE_DOUBLE_EDGE), - LEVEL_UP_MOVE(64, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(21, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(26, MOVE_DIVE), + LEVEL_UP_MOVE(31, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(35, MOVE_YAWN), + LEVEL_UP_MOVE(41, MOVE_REST), + LEVEL_UP_MOVE(46, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(50, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(56, MOVE_HEAD_SMASH), LEVEL_UP_END }; -static const u16 sAronLevelUpLearnset[] = { +static const struct LevelUpMove sAronLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 4, MOVE_HARDEN), - LEVEL_UP_MOVE( 7, MOVE_MUD_SLAP), - LEVEL_UP_MOVE(10, MOVE_HEADBUTT), - LEVEL_UP_MOVE(13, MOVE_METAL_CLAW), - LEVEL_UP_MOVE(17, MOVE_IRON_DEFENSE), - LEVEL_UP_MOVE(21, MOVE_ROAR), - LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(29, MOVE_IRON_TAIL), - LEVEL_UP_MOVE(34, MOVE_PROTECT), - LEVEL_UP_MOVE(39, MOVE_METAL_SOUND), - LEVEL_UP_MOVE(44, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 4, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 7, MOVE_HEADBUTT), + LEVEL_UP_MOVE(10, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(13, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(16, MOVE_PROTECT), + LEVEL_UP_MOVE(19, MOVE_ROAR), + LEVEL_UP_MOVE(22, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(25, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(31, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(34, MOVE_IRON_TAIL), + LEVEL_UP_MOVE(37, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(40, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(43, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE(46, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(49, MOVE_METAL_BURST), LEVEL_UP_END }; -static const u16 sLaironLevelUpLearnset[] = { +static const struct LevelUpMove sLaironLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), - LEVEL_UP_MOVE( 4, MOVE_HARDEN), - LEVEL_UP_MOVE( 7, MOVE_MUD_SLAP), - LEVEL_UP_MOVE(10, MOVE_HEADBUTT), - LEVEL_UP_MOVE(13, MOVE_METAL_CLAW), - LEVEL_UP_MOVE(17, MOVE_IRON_DEFENSE), - LEVEL_UP_MOVE(21, MOVE_ROAR), - LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(29, MOVE_IRON_TAIL), - LEVEL_UP_MOVE(37, MOVE_PROTECT), - LEVEL_UP_MOVE(45, MOVE_METAL_SOUND), - LEVEL_UP_MOVE(53, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 4, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 7, MOVE_HEADBUTT), + LEVEL_UP_MOVE(10, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(13, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(16, MOVE_PROTECT), + LEVEL_UP_MOVE(19, MOVE_ROAR), + LEVEL_UP_MOVE(22, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(25, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(31, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(35, MOVE_IRON_TAIL), + LEVEL_UP_MOVE(39, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(43, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(47, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE(51, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(55, MOVE_METAL_BURST), LEVEL_UP_END }; -static const u16 sAggronLevelUpLearnset[] = { +static const struct LevelUpMove sAggronLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_MUD_SLAP), LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), - LEVEL_UP_MOVE( 4, MOVE_HARDEN), - LEVEL_UP_MOVE( 7, MOVE_MUD_SLAP), - LEVEL_UP_MOVE(10, MOVE_HEADBUTT), - LEVEL_UP_MOVE(13, MOVE_METAL_CLAW), - LEVEL_UP_MOVE(17, MOVE_IRON_DEFENSE), - LEVEL_UP_MOVE(21, MOVE_ROAR), - LEVEL_UP_MOVE(25, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(29, MOVE_IRON_TAIL), - LEVEL_UP_MOVE(37, MOVE_PROTECT), - LEVEL_UP_MOVE(50, MOVE_METAL_SOUND), - LEVEL_UP_MOVE(63, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE( 4, MOVE_MUD_SLAP), + LEVEL_UP_MOVE( 7, MOVE_HEADBUTT), + LEVEL_UP_MOVE(10, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(13, MOVE_ROCK_TOMB), + LEVEL_UP_MOVE(16, MOVE_PROTECT), + LEVEL_UP_MOVE(19, MOVE_ROAR), + LEVEL_UP_MOVE(22, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(25, MOVE_ROCK_SLIDE), + LEVEL_UP_MOVE(28, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(31, MOVE_METAL_SOUND), + LEVEL_UP_MOVE(35, MOVE_IRON_TAIL), + LEVEL_UP_MOVE(39, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(45, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(51, MOVE_AUTOTOMIZE), + LEVEL_UP_MOVE(57, MOVE_HEAVY_SLAM), + LEVEL_UP_MOVE(63, MOVE_METAL_BURST), LEVEL_UP_END }; -static const u16 sCastformLevelUpLearnset[] = { +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(30, MOVE_WEATHER_BALL), + 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 }; -static const u16 sVolbeatLevelUpLearnset[] = { +static const struct LevelUpMove sVolbeatLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_FLASH), LEVEL_UP_MOVE( 1, MOVE_TACKLE), - LEVEL_UP_MOVE( 5, MOVE_CONFUSE_RAY), - LEVEL_UP_MOVE( 9, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE(13, MOVE_MOONLIGHT), - LEVEL_UP_MOVE(17, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(21, MOVE_TAIL_GLOW), - LEVEL_UP_MOVE(25, MOVE_SIGNAL_BEAM), + 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_SIGNAL_BEAM), LEVEL_UP_MOVE(29, MOVE_PROTECT), - LEVEL_UP_MOVE(33, MOVE_HELPING_HAND), - LEVEL_UP_MOVE(37, MOVE_DOUBLE_EDGE), + 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_DOUBLE_EDGE), + LEVEL_UP_MOVE(50, MOVE_INFESTATION), LEVEL_UP_END }; -static const u16 sIllumiseLevelUpLearnset[] = { +static const struct LevelUpMove sIllumiseLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_PLAY_NICE), LEVEL_UP_MOVE( 1, MOVE_TACKLE), LEVEL_UP_MOVE( 5, MOVE_SWEET_SCENT), LEVEL_UP_MOVE( 9, MOVE_CHARM), - LEVEL_UP_MOVE(13, MOVE_MOONLIGHT), - LEVEL_UP_MOVE(17, MOVE_QUICK_ATTACK), - LEVEL_UP_MOVE(21, MOVE_WISH), - LEVEL_UP_MOVE(25, MOVE_ENCORE), + 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_HELPING_HAND), - LEVEL_UP_MOVE(37, MOVE_COVET), + 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_COVET), + LEVEL_UP_MOVE(50, MOVE_INFESTATION), LEVEL_UP_END }; -static const u16 sLileepLevelUpLearnset[] = { +static const struct LevelUpMove sLileepLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_ASTONISH), - LEVEL_UP_MOVE( 8, MOVE_CONSTRICT), - LEVEL_UP_MOVE(15, MOVE_ACID), - LEVEL_UP_MOVE(22, MOVE_INGRAIN), - LEVEL_UP_MOVE(29, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), + LEVEL_UP_MOVE( 5, MOVE_ACID), + LEVEL_UP_MOVE( 9, MOVE_INGRAIN), + LEVEL_UP_MOVE(13, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(17, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(21, MOVE_BRINE), + LEVEL_UP_MOVE(26, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(31, MOVE_GASTRO_ACID), LEVEL_UP_MOVE(36, MOVE_AMNESIA), - LEVEL_UP_MOVE(43, MOVE_ANCIENT_POWER), - LEVEL_UP_MOVE(50, MOVE_STOCKPILE), - LEVEL_UP_MOVE(50, MOVE_SPIT_UP), - LEVEL_UP_MOVE(50, MOVE_SWALLOW), + LEVEL_UP_MOVE(41, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(46, MOVE_STOCKPILE), + LEVEL_UP_MOVE(46, MOVE_SPIT_UP), + LEVEL_UP_MOVE(46, MOVE_SWALLOW), + LEVEL_UP_MOVE(52, MOVE_WRING_OUT), LEVEL_UP_END }; -static const u16 sCradilyLevelUpLearnset[] = { +static const struct LevelUpMove sCradilyLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_WRING_OUT), LEVEL_UP_MOVE( 1, MOVE_ASTONISH), LEVEL_UP_MOVE( 1, MOVE_CONSTRICT), LEVEL_UP_MOVE( 1, MOVE_ACID), LEVEL_UP_MOVE( 1, MOVE_INGRAIN), - LEVEL_UP_MOVE( 8, MOVE_CONSTRICT), - LEVEL_UP_MOVE(15, MOVE_ACID), - LEVEL_UP_MOVE(22, MOVE_INGRAIN), - LEVEL_UP_MOVE(29, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE( 5, MOVE_ACID), + LEVEL_UP_MOVE( 9, MOVE_INGRAIN), + LEVEL_UP_MOVE(13, MOVE_CONFUSE_RAY), + LEVEL_UP_MOVE(17, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(21, MOVE_BRINE), + LEVEL_UP_MOVE(26, MOVE_GIGA_DRAIN), + LEVEL_UP_MOVE(31, MOVE_GASTRO_ACID), LEVEL_UP_MOVE(36, MOVE_AMNESIA), - LEVEL_UP_MOVE(48, MOVE_ANCIENT_POWER), - LEVEL_UP_MOVE(60, MOVE_STOCKPILE), - LEVEL_UP_MOVE(60, MOVE_SPIT_UP), - LEVEL_UP_MOVE(60, MOVE_SWALLOW), + LEVEL_UP_MOVE(44, MOVE_ENERGY_BALL), + LEVEL_UP_MOVE(52, MOVE_STOCKPILE), + LEVEL_UP_MOVE(52, MOVE_SPIT_UP), + LEVEL_UP_MOVE(52, MOVE_SWALLOW), + LEVEL_UP_MOVE(61, MOVE_WRING_OUT), LEVEL_UP_END }; -static const u16 sAnorithLevelUpLearnset[] = { +static const struct LevelUpMove sAnorithLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), - LEVEL_UP_MOVE( 7, MOVE_HARDEN), - LEVEL_UP_MOVE(13, MOVE_MUD_SPORT), - LEVEL_UP_MOVE(19, MOVE_WATER_GUN), - LEVEL_UP_MOVE(25, MOVE_METAL_CLAW), - LEVEL_UP_MOVE(31, MOVE_PROTECT), - LEVEL_UP_MOVE(37, MOVE_ANCIENT_POWER), - LEVEL_UP_MOVE(43, MOVE_FURY_CUTTER), - LEVEL_UP_MOVE(49, MOVE_SLASH), + LEVEL_UP_MOVE( 1, MOVE_HARDEN), + LEVEL_UP_MOVE( 4, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 7, MOVE_WATER_GUN), + LEVEL_UP_MOVE(10, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(13, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(17, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(21, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(25, MOVE_BUG_BITE), + LEVEL_UP_MOVE(29, MOVE_BRINE), + LEVEL_UP_MOVE(34, MOVE_SLASH), + LEVEL_UP_MOVE(39, MOVE_CRUSH_CLAW), + LEVEL_UP_MOVE(44, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(49, MOVE_PROTECT), LEVEL_UP_MOVE(55, MOVE_ROCK_BLAST), LEVEL_UP_END }; -static const u16 sArmaldoLevelUpLearnset[] = { +static const struct LevelUpMove sArmaldoLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_SCRATCH), LEVEL_UP_MOVE( 1, MOVE_HARDEN), LEVEL_UP_MOVE( 1, MOVE_MUD_SPORT), LEVEL_UP_MOVE( 1, MOVE_WATER_GUN), - LEVEL_UP_MOVE( 7, MOVE_HARDEN), - LEVEL_UP_MOVE(13, MOVE_MUD_SPORT), - LEVEL_UP_MOVE(19, MOVE_WATER_GUN), - LEVEL_UP_MOVE(25, MOVE_METAL_CLAW), - LEVEL_UP_MOVE(31, MOVE_PROTECT), - LEVEL_UP_MOVE(37, MOVE_ANCIENT_POWER), - LEVEL_UP_MOVE(46, MOVE_FURY_CUTTER), - LEVEL_UP_MOVE(55, MOVE_SLASH), - LEVEL_UP_MOVE(64, MOVE_ROCK_BLAST), + LEVEL_UP_MOVE( 4, MOVE_MUD_SPORT), + LEVEL_UP_MOVE( 7, MOVE_WATER_GUN), + LEVEL_UP_MOVE(10, MOVE_FURY_CUTTER), + LEVEL_UP_MOVE(13, MOVE_SMACK_DOWN), + LEVEL_UP_MOVE(17, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(21, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(25, MOVE_BUG_BITE), + LEVEL_UP_MOVE(29, MOVE_BRINE), + LEVEL_UP_MOVE(34, MOVE_SLASH), + LEVEL_UP_MOVE(39, MOVE_CRUSH_CLAW), + LEVEL_UP_MOVE(46, MOVE_X_SCISSOR), + LEVEL_UP_MOVE(53, MOVE_PROTECT), + LEVEL_UP_MOVE(61, MOVE_ROCK_BLAST), LEVEL_UP_END }; -static const u16 sRaltsLevelUpLearnset[] = { +static const struct LevelUpMove sRaltsLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 6, MOVE_CONFUSION), - LEVEL_UP_MOVE(11, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE(16, MOVE_TELEPORT), - LEVEL_UP_MOVE(21, MOVE_CALM_MIND), - LEVEL_UP_MOVE(26, MOVE_PSYCHIC), - LEVEL_UP_MOVE(31, MOVE_IMPRISON), - LEVEL_UP_MOVE(36, MOVE_FUTURE_SIGHT), - LEVEL_UP_MOVE(41, MOVE_HYPNOSIS), - LEVEL_UP_MOVE(46, MOVE_DREAM_EATER), + LEVEL_UP_MOVE( 4, MOVE_CONFUSION), + LEVEL_UP_MOVE( 6, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 9, MOVE_TELEPORT), + LEVEL_UP_MOVE(11, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE(14, MOVE_LUCKY_CHANT), + LEVEL_UP_MOVE(17, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(19, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(22, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(24, MOVE_CALM_MIND), + LEVEL_UP_MOVE(27, MOVE_PSYCHIC), + LEVEL_UP_MOVE(29, MOVE_IMPRISON), + LEVEL_UP_MOVE(32, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(34, MOVE_CHARM), + LEVEL_UP_MOVE(37, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(39, MOVE_DREAM_EATER), + LEVEL_UP_MOVE(42, MOVE_STORED_POWER), LEVEL_UP_END }; -static const u16 sKirliaLevelUpLearnset[] = { +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_TELEPORT), - LEVEL_UP_MOVE( 6, MOVE_CONFUSION), - LEVEL_UP_MOVE(11, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE(16, MOVE_TELEPORT), - LEVEL_UP_MOVE(21, MOVE_CALM_MIND), - LEVEL_UP_MOVE(26, MOVE_PSYCHIC), + LEVEL_UP_MOVE( 4, MOVE_CONFUSION), + LEVEL_UP_MOVE( 6, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 9, MOVE_TELEPORT), + LEVEL_UP_MOVE(11, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE(14, MOVE_LUCKY_CHANT), + LEVEL_UP_MOVE(17, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(19, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(23, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(26, MOVE_CALM_MIND), + LEVEL_UP_MOVE(30, MOVE_PSYCHIC), LEVEL_UP_MOVE(33, MOVE_IMPRISON), + LEVEL_UP_MOVE(37, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(40, MOVE_CHARM), + LEVEL_UP_MOVE(44, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(47, MOVE_DREAM_EATER), + LEVEL_UP_MOVE(51, MOVE_STORED_POWER), + LEVEL_UP_END +}; + +static const struct LevelUpMove sGardevoirLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MOONBLAST), + LEVEL_UP_MOVE( 1, MOVE_STORED_POWER), + LEVEL_UP_MOVE( 1, MOVE_MISTY_TERRAIN), + LEVEL_UP_MOVE( 1, MOVE_HEALING_WISH), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 1, MOVE_TELEPORT), + LEVEL_UP_MOVE( 4, MOVE_CONFUSION), + LEVEL_UP_MOVE( 6, MOVE_DOUBLE_TEAM), + LEVEL_UP_MOVE( 9, MOVE_TELEPORT), + LEVEL_UP_MOVE(11, MOVE_DISARMING_VOICE), + LEVEL_UP_MOVE(14, MOVE_WISH), + LEVEL_UP_MOVE(17, MOVE_MAGICAL_LEAF), + LEVEL_UP_MOVE(19, MOVE_HEAL_PULSE), + LEVEL_UP_MOVE(23, MOVE_DRAINING_KISS), + LEVEL_UP_MOVE(26, MOVE_CALM_MIND), + LEVEL_UP_MOVE(31, MOVE_PSYCHIC), + LEVEL_UP_MOVE(35, MOVE_IMPRISON), LEVEL_UP_MOVE(40, MOVE_FUTURE_SIGHT), - LEVEL_UP_MOVE(47, MOVE_HYPNOSIS), - LEVEL_UP_MOVE(54, MOVE_DREAM_EATER), + LEVEL_UP_MOVE(44, MOVE_CAPTIVATE), + LEVEL_UP_MOVE(49, MOVE_HYPNOSIS), + LEVEL_UP_MOVE(53, MOVE_DREAM_EATER), + LEVEL_UP_MOVE(58, MOVE_STORED_POWER), + LEVEL_UP_MOVE(62, MOVE_MOONBLAST), LEVEL_UP_END }; -static const u16 sGardevoirLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_GROWL), - LEVEL_UP_MOVE( 1, MOVE_CONFUSION), - LEVEL_UP_MOVE( 1, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE( 1, MOVE_TELEPORT), - LEVEL_UP_MOVE( 6, MOVE_CONFUSION), - LEVEL_UP_MOVE(11, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE(16, MOVE_TELEPORT), - LEVEL_UP_MOVE(21, MOVE_CALM_MIND), - LEVEL_UP_MOVE(26, MOVE_PSYCHIC), - LEVEL_UP_MOVE(33, MOVE_IMPRISON), - LEVEL_UP_MOVE(42, MOVE_FUTURE_SIGHT), - LEVEL_UP_MOVE(51, MOVE_HYPNOSIS), - LEVEL_UP_MOVE(60, MOVE_DREAM_EATER), - LEVEL_UP_END -}; - -static const u16 sBagonLevelUpLearnset[] = { +static const struct LevelUpMove sBagonLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_RAGE), - LEVEL_UP_MOVE( 5, MOVE_BITE), - LEVEL_UP_MOVE( 9, MOVE_LEER), + LEVEL_UP_MOVE( 4, MOVE_EMBER), + LEVEL_UP_MOVE( 7, MOVE_LEER), + LEVEL_UP_MOVE(10, MOVE_BITE), + LEVEL_UP_MOVE(13, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE(17, MOVE_HEADBUTT), LEVEL_UP_MOVE(21, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(25, MOVE_EMBER), - LEVEL_UP_MOVE(33, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE(37, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(41, MOVE_CRUNCH), - LEVEL_UP_MOVE(49, MOVE_DRAGON_CLAW), - LEVEL_UP_MOVE(53, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(25, MOVE_CRUNCH), + LEVEL_UP_MOVE(29, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(34, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(39, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(44, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(49, MOVE_DOUBLE_EDGE), LEVEL_UP_END }; -static const u16 sShelgonLevelUpLearnset[] = { +static const struct LevelUpMove sShelgonLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), LEVEL_UP_MOVE( 1, MOVE_RAGE), - LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 1, MOVE_EMBER), LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), - LEVEL_UP_MOVE( 5, MOVE_BITE), - LEVEL_UP_MOVE( 9, MOVE_LEER), - LEVEL_UP_MOVE(17, MOVE_HEADBUTT), - LEVEL_UP_MOVE(21, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(25, MOVE_EMBER), - LEVEL_UP_MOVE(30, MOVE_PROTECT), - LEVEL_UP_MOVE(38, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE(47, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(56, MOVE_CRUNCH), - LEVEL_UP_MOVE(69, MOVE_DRAGON_CLAW), - LEVEL_UP_MOVE(78, MOVE_DOUBLE_EDGE), - LEVEL_UP_END -}; - -static const u16 sSalamenceLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_RAGE), LEVEL_UP_MOVE( 1, MOVE_BITE), - LEVEL_UP_MOVE( 1, MOVE_LEER), - LEVEL_UP_MOVE( 1, MOVE_HEADBUTT), - LEVEL_UP_MOVE( 5, MOVE_BITE), - LEVEL_UP_MOVE( 9, MOVE_LEER), + LEVEL_UP_MOVE( 4, MOVE_EMBER), + LEVEL_UP_MOVE( 7, MOVE_LEER), + LEVEL_UP_MOVE(10, MOVE_BITE), + LEVEL_UP_MOVE(13, MOVE_DRAGON_BREATH), LEVEL_UP_MOVE(17, MOVE_HEADBUTT), LEVEL_UP_MOVE(21, MOVE_FOCUS_ENERGY), - LEVEL_UP_MOVE(25, MOVE_EMBER), - LEVEL_UP_MOVE(30, MOVE_PROTECT), - LEVEL_UP_MOVE(38, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE(47, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(50, MOVE_FLY), - LEVEL_UP_MOVE(61, MOVE_CRUNCH), - LEVEL_UP_MOVE(79, MOVE_DRAGON_CLAW), - LEVEL_UP_MOVE(93, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(25, MOVE_CRUNCH), + LEVEL_UP_MOVE(29, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(35, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(42, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(49, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(56, MOVE_DOUBLE_EDGE), LEVEL_UP_END }; -static const u16 sBeldumLevelUpLearnset[] = { +static const struct LevelUpMove sSalamenceLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_FLY), + LEVEL_UP_MOVE( 1, MOVE_FLY), + LEVEL_UP_MOVE( 1, MOVE_PROTECT), + LEVEL_UP_MOVE( 1, MOVE_DRAGON_TAIL), + LEVEL_UP_MOVE( 1, MOVE_FIRE_FANG), + LEVEL_UP_MOVE( 1, MOVE_THUNDER_FANG), + LEVEL_UP_MOVE( 1, MOVE_RAGE), + LEVEL_UP_MOVE( 1, MOVE_EMBER), + LEVEL_UP_MOVE( 1, MOVE_LEER), + LEVEL_UP_MOVE( 1, MOVE_BITE), + LEVEL_UP_MOVE( 4, MOVE_EMBER), + LEVEL_UP_MOVE( 7, MOVE_LEER), + LEVEL_UP_MOVE(10, MOVE_BITE), + LEVEL_UP_MOVE(13, MOVE_DRAGON_BREATH), + LEVEL_UP_MOVE(17, MOVE_HEADBUTT), + LEVEL_UP_MOVE(21, MOVE_FOCUS_ENERGY), + LEVEL_UP_MOVE(25, MOVE_CRUNCH), + LEVEL_UP_MOVE(29, MOVE_DRAGON_CLAW), + LEVEL_UP_MOVE(35, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(42, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(49, MOVE_FLAMETHROWER), + LEVEL_UP_MOVE(63, MOVE_DOUBLE_EDGE), + LEVEL_UP_END +}; + +static const struct LevelUpMove sBeldumLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), LEVEL_UP_END }; -static const u16 sMetangLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(20, MOVE_CONFUSION), - LEVEL_UP_MOVE(20, MOVE_METAL_CLAW), - LEVEL_UP_MOVE(26, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(32, MOVE_PURSUIT), - LEVEL_UP_MOVE(38, MOVE_PSYCHIC), - LEVEL_UP_MOVE(44, MOVE_IRON_DEFENSE), - LEVEL_UP_MOVE(50, MOVE_METEOR_MASH), - LEVEL_UP_MOVE(56, MOVE_AGILITY), - LEVEL_UP_MOVE(62, MOVE_HYPER_BEAM), - LEVEL_UP_END -}; - -static const u16 sMetagrossLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), +static const struct LevelUpMove sMetangLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_CONFUSION), + // LEVEL_UP_MOVE( 0, MOVE_METAL_CLAW), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), - LEVEL_UP_MOVE( 1, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(20, MOVE_CONFUSION), - LEVEL_UP_MOVE(20, MOVE_METAL_CLAW), - LEVEL_UP_MOVE(26, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(32, MOVE_PURSUIT), + LEVEL_UP_MOVE( 1, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(23, MOVE_PURSUIT), + LEVEL_UP_MOVE(26, MOVE_BULLET_PUNCH), + LEVEL_UP_MOVE(29, MOVE_MIRACLE_EYE), + LEVEL_UP_MOVE(32, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(35, MOVE_SCARY_FACE), LEVEL_UP_MOVE(38, MOVE_PSYCHIC), - LEVEL_UP_MOVE(44, MOVE_IRON_DEFENSE), - LEVEL_UP_MOVE(55, MOVE_METEOR_MASH), - LEVEL_UP_MOVE(66, MOVE_AGILITY), - LEVEL_UP_MOVE(77, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(41, MOVE_AGILITY), + LEVEL_UP_MOVE(44, MOVE_METEOR_MASH), + LEVEL_UP_MOVE(47, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(50, MOVE_HYPER_BEAM), LEVEL_UP_END }; -static const u16 sRegirockLevelUpLearnset[] = { +static const struct LevelUpMove sMetagrossLevelUpLearnset[] = { + // LEVEL_UP_MOVE( 0, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 1, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_MAGNET_RISE), + LEVEL_UP_MOVE( 1, MOVE_TAKE_DOWN), + LEVEL_UP_MOVE(23, MOVE_PURSUIT), + LEVEL_UP_MOVE(26, MOVE_BULLET_PUNCH), + LEVEL_UP_MOVE(29, MOVE_MIRACLE_EYE), + LEVEL_UP_MOVE(32, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(35, MOVE_SCARY_FACE), + LEVEL_UP_MOVE(38, MOVE_PSYCHIC), + LEVEL_UP_MOVE(41, MOVE_AGILITY), + LEVEL_UP_MOVE(44, MOVE_METEOR_MASH), + LEVEL_UP_MOVE(52, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(60, MOVE_HYPER_BEAM), + LEVEL_UP_END +}; + +static const struct LevelUpMove sRegirockLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), - LEVEL_UP_MOVE( 9, MOVE_ROCK_THROW), - LEVEL_UP_MOVE(17, MOVE_CURSE), - LEVEL_UP_MOVE(25, MOVE_SUPERPOWER), - LEVEL_UP_MOVE(33, MOVE_ANCIENT_POWER), - LEVEL_UP_MOVE(41, MOVE_IRON_DEFENSE), - LEVEL_UP_MOVE(49, MOVE_ZAP_CANNON), - LEVEL_UP_MOVE(57, MOVE_LOCK_ON), - LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE( 1, MOVE_STOMP), + LEVEL_UP_MOVE( 1, MOVE_ROCK_THROW), + LEVEL_UP_MOVE( 1, MOVE_CHARGE_BEAM), + LEVEL_UP_MOVE( 1, MOVE_BULLDOZE), + LEVEL_UP_MOVE( 7, MOVE_ROCK_THROW), + LEVEL_UP_MOVE(13, MOVE_CHARGE_BEAM), + LEVEL_UP_MOVE(19, MOVE_BULLDOZE), + LEVEL_UP_MOVE(25, MOVE_CURSE), + LEVEL_UP_MOVE(31, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(37, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(43, MOVE_STONE_EDGE), + LEVEL_UP_MOVE(49, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(55, MOVE_LOCK_ON), + LEVEL_UP_MOVE(55, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(61, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(67, MOVE_HYPER_BEAM), LEVEL_UP_END }; -static const u16 sRegiceLevelUpLearnset[] = { +static const struct LevelUpMove sRegiceLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), - LEVEL_UP_MOVE( 9, MOVE_ICY_WIND), - LEVEL_UP_MOVE(17, MOVE_CURSE), - LEVEL_UP_MOVE(25, MOVE_SUPERPOWER), - LEVEL_UP_MOVE(33, MOVE_ANCIENT_POWER), - LEVEL_UP_MOVE(41, MOVE_AMNESIA), - LEVEL_UP_MOVE(49, MOVE_ZAP_CANNON), - LEVEL_UP_MOVE(57, MOVE_LOCK_ON), - LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE( 1, MOVE_STOMP), + LEVEL_UP_MOVE( 1, MOVE_ICY_WIND), + LEVEL_UP_MOVE( 1, MOVE_CHARGE_BEAM), + LEVEL_UP_MOVE( 1, MOVE_BULLDOZE), + LEVEL_UP_MOVE( 7, MOVE_ICY_WIND), + LEVEL_UP_MOVE(13, MOVE_CHARGE_BEAM), + LEVEL_UP_MOVE(19, MOVE_BULLDOZE), + LEVEL_UP_MOVE(25, MOVE_CURSE), + LEVEL_UP_MOVE(31, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(37, MOVE_AMNESIA), + LEVEL_UP_MOVE(43, MOVE_ICE_BEAM), + LEVEL_UP_MOVE(49, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(55, MOVE_LOCK_ON), + LEVEL_UP_MOVE(55, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(61, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(67, MOVE_HYPER_BEAM), LEVEL_UP_END }; -static const u16 sRegisteelLevelUpLearnset[] = { +static const struct LevelUpMove sRegisteelLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_EXPLOSION), - LEVEL_UP_MOVE( 9, MOVE_METAL_CLAW), - LEVEL_UP_MOVE(17, MOVE_CURSE), - LEVEL_UP_MOVE(25, MOVE_SUPERPOWER), - LEVEL_UP_MOVE(33, MOVE_ANCIENT_POWER), - LEVEL_UP_MOVE(41, MOVE_IRON_DEFENSE), - LEVEL_UP_MOVE(41, MOVE_AMNESIA), - LEVEL_UP_MOVE(49, MOVE_ZAP_CANNON), - LEVEL_UP_MOVE(57, MOVE_LOCK_ON), - LEVEL_UP_MOVE(65, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE( 1, MOVE_STOMP), + LEVEL_UP_MOVE( 1, MOVE_METAL_CLAW), + LEVEL_UP_MOVE( 1, MOVE_CHARGE_BEAM), + LEVEL_UP_MOVE( 1, MOVE_BULLDOZE), + LEVEL_UP_MOVE( 7, MOVE_METAL_CLAW), + LEVEL_UP_MOVE(13, MOVE_CHARGE_BEAM), + LEVEL_UP_MOVE(19, MOVE_BULLDOZE), + LEVEL_UP_MOVE(25, MOVE_CURSE), + LEVEL_UP_MOVE(31, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(37, MOVE_IRON_DEFENSE), + LEVEL_UP_MOVE(37, MOVE_AMNESIA), + LEVEL_UP_MOVE(43, MOVE_IRON_HEAD), + LEVEL_UP_MOVE(43, MOVE_FLASH_CANNON), + LEVEL_UP_MOVE(49, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(55, MOVE_LOCK_ON), + LEVEL_UP_MOVE(55, MOVE_ZAP_CANNON), + LEVEL_UP_MOVE(61, MOVE_SUPERPOWER), + LEVEL_UP_MOVE(67, MOVE_HYPER_BEAM), LEVEL_UP_END }; -static const u16 sKyogreLevelUpLearnset[] = { +static const struct LevelUpMove sKyogreLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_WATER_PULSE), LEVEL_UP_MOVE( 5, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(15, MOVE_ANCIENT_POWER), + LEVEL_UP_MOVE(15, MOVE_AQUA_TAIL), LEVEL_UP_MOVE(20, MOVE_BODY_SLAM), - LEVEL_UP_MOVE(30, MOVE_CALM_MIND), + LEVEL_UP_MOVE(30, MOVE_AQUA_RING), LEVEL_UP_MOVE(35, MOVE_ICE_BEAM), - LEVEL_UP_MOVE(45, MOVE_HYDRO_PUMP), - LEVEL_UP_MOVE(50, MOVE_REST), - LEVEL_UP_MOVE(60, MOVE_SHEER_COLD), - LEVEL_UP_MOVE(65, MOVE_DOUBLE_EDGE), - LEVEL_UP_MOVE(75, MOVE_WATER_SPOUT), + LEVEL_UP_MOVE(45, MOVE_ORIGIN_PULSE), + LEVEL_UP_MOVE(50, MOVE_CALM_MIND), + LEVEL_UP_MOVE(60, MOVE_MUDDY_WATER), + LEVEL_UP_MOVE(65, MOVE_SHEER_COLD), + LEVEL_UP_MOVE(75, MOVE_HYDRO_PUMP), + LEVEL_UP_MOVE(80, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(90, MOVE_WATER_SPOUT), LEVEL_UP_END }; -static const u16 sGroudonLevelUpLearnset[] = { +static const struct LevelUpMove sGroudonLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_ANCIENT_POWER), LEVEL_UP_MOVE( 1, MOVE_MUD_SHOT), LEVEL_UP_MOVE( 5, MOVE_SCARY_FACE), - LEVEL_UP_MOVE(15, MOVE_ANCIENT_POWER), - LEVEL_UP_MOVE(20, MOVE_SLASH), - LEVEL_UP_MOVE(30, MOVE_BULK_UP), + LEVEL_UP_MOVE(15, MOVE_EARTH_POWER), + LEVEL_UP_MOVE(20, MOVE_LAVA_PLUME), + LEVEL_UP_MOVE(30, MOVE_REST), LEVEL_UP_MOVE(35, MOVE_EARTHQUAKE), - LEVEL_UP_MOVE(45, MOVE_FIRE_BLAST), - LEVEL_UP_MOVE(50, MOVE_REST), - LEVEL_UP_MOVE(60, MOVE_FISSURE), - LEVEL_UP_MOVE(65, MOVE_SOLAR_BEAM), - LEVEL_UP_MOVE(75, MOVE_ERUPTION), + LEVEL_UP_MOVE(45, MOVE_PRECIPICE_BLADES), + LEVEL_UP_MOVE(50, MOVE_BULK_UP), + LEVEL_UP_MOVE(60, MOVE_SOLAR_BEAM), + LEVEL_UP_MOVE(65, MOVE_FISSURE), + LEVEL_UP_MOVE(75, MOVE_FIRE_BLAST), + LEVEL_UP_MOVE(80, MOVE_HAMMER_ARM), + LEVEL_UP_MOVE(90, MOVE_ERUPTION), LEVEL_UP_END }; -static const u16 sRayquazaLevelUpLearnset[] = { +static const struct LevelUpMove sRayquazaLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_TWISTER), LEVEL_UP_MOVE( 5, MOVE_SCARY_FACE), LEVEL_UP_MOVE(15, MOVE_ANCIENT_POWER), - LEVEL_UP_MOVE(20, MOVE_DRAGON_CLAW), - LEVEL_UP_MOVE(30, MOVE_DRAGON_DANCE), - LEVEL_UP_MOVE(35, MOVE_CRUNCH), - LEVEL_UP_MOVE(45, MOVE_FLY), - LEVEL_UP_MOVE(50, MOVE_REST), - LEVEL_UP_MOVE(60, MOVE_EXTREME_SPEED), - LEVEL_UP_MOVE(65, MOVE_OUTRAGE), - LEVEL_UP_MOVE(75, MOVE_HYPER_BEAM), + LEVEL_UP_MOVE(20, MOVE_CRUNCH), + LEVEL_UP_MOVE(30, MOVE_AIR_SLASH), + LEVEL_UP_MOVE(35, MOVE_REST), + LEVEL_UP_MOVE(45, MOVE_EXTREME_SPEED), + LEVEL_UP_MOVE(50, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(60, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(65, MOVE_FLY), + LEVEL_UP_MOVE(75, MOVE_HYPER_VOICE), + LEVEL_UP_MOVE(80, MOVE_OUTRAGE), + LEVEL_UP_MOVE(90, MOVE_HYPER_BEAM), LEVEL_UP_END }; -static const u16 sLatiasLevelUpLearnset[] = { +static const struct LevelUpMove sLatiasLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HEALING_WISH), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_WISH), LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), - LEVEL_UP_MOVE( 5, MOVE_WISH), - LEVEL_UP_MOVE(10, MOVE_HELPING_HAND), - LEVEL_UP_MOVE(15, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 4, MOVE_WATER_SPORT), + LEVEL_UP_MOVE( 7, MOVE_CHARM), + LEVEL_UP_MOVE(10, MOVE_STORED_POWER), + LEVEL_UP_MOVE(13, MOVE_REFRESH), + LEVEL_UP_MOVE(16, MOVE_HEAL_PULSE), LEVEL_UP_MOVE(20, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE(25, MOVE_WATER_SPORT), - LEVEL_UP_MOVE(30, MOVE_REFRESH), - LEVEL_UP_MOVE(35, MOVE_MIST_BALL), - LEVEL_UP_MOVE(40, MOVE_PSYCHIC), - LEVEL_UP_MOVE(45, MOVE_RECOVER), - LEVEL_UP_MOVE(50, MOVE_CHARM), + LEVEL_UP_MOVE(24, MOVE_MIST_BALL), + LEVEL_UP_MOVE(28, MOVE_PSYCHO_SHIFT), + LEVEL_UP_MOVE(32, MOVE_RECOVER), + LEVEL_UP_MOVE(36, MOVE_REFLECT_TYPE), + LEVEL_UP_MOVE(41, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(46, MOVE_GUARD_SPLIT), + LEVEL_UP_MOVE(51, MOVE_PSYCHIC), + LEVEL_UP_MOVE(56, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(61, MOVE_HEALING_WISH), LEVEL_UP_END }; -static const u16 sLatiosLevelUpLearnset[] = { +static const struct LevelUpMove sLatiosLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_MEMENTO), + LEVEL_UP_MOVE( 1, MOVE_HELPING_HAND), + LEVEL_UP_MOVE( 1, MOVE_HEAL_BLOCK), LEVEL_UP_MOVE( 1, MOVE_PSYWAVE), - LEVEL_UP_MOVE( 5, MOVE_MEMENTO), - LEVEL_UP_MOVE(10, MOVE_HELPING_HAND), - LEVEL_UP_MOVE(15, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 1, MOVE_SAFEGUARD), + LEVEL_UP_MOVE( 4, MOVE_PROTECT), + LEVEL_UP_MOVE( 7, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(10, MOVE_STORED_POWER), + LEVEL_UP_MOVE(13, MOVE_REFRESH), + LEVEL_UP_MOVE(16, MOVE_HEAL_PULSE), LEVEL_UP_MOVE(20, MOVE_DRAGON_BREATH), - LEVEL_UP_MOVE(25, MOVE_PROTECT), - LEVEL_UP_MOVE(30, MOVE_REFRESH), - LEVEL_UP_MOVE(35, MOVE_LUSTER_PURGE), - LEVEL_UP_MOVE(40, MOVE_PSYCHIC), - LEVEL_UP_MOVE(45, MOVE_RECOVER), - LEVEL_UP_MOVE(50, MOVE_DRAGON_DANCE), + LEVEL_UP_MOVE(24, MOVE_LUSTER_PURGE), + LEVEL_UP_MOVE(28, MOVE_PSYCHO_SHIFT), + LEVEL_UP_MOVE(32, MOVE_RECOVER), + LEVEL_UP_MOVE(36, MOVE_TELEKINESIS), + LEVEL_UP_MOVE(41, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(46, MOVE_POWER_SPLIT), + LEVEL_UP_MOVE(51, MOVE_PSYCHIC), + LEVEL_UP_MOVE(56, MOVE_DRAGON_PULSE), + LEVEL_UP_MOVE(61, MOVE_MEMENTO), LEVEL_UP_END }; -static const u16 sJirachiLevelUpLearnset[] = { +static const struct LevelUpMove sJirachiLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_WISH), LEVEL_UP_MOVE( 1, MOVE_CONFUSION), LEVEL_UP_MOVE( 5, MOVE_REST), @@ -5580,44 +7848,56 @@ static const u16 sJirachiLevelUpLearnset[] = { LEVEL_UP_MOVE(15, MOVE_HELPING_HAND), LEVEL_UP_MOVE(20, MOVE_PSYCHIC), LEVEL_UP_MOVE(25, MOVE_REFRESH), - LEVEL_UP_MOVE(30, MOVE_REST), - LEVEL_UP_MOVE(35, MOVE_DOUBLE_EDGE), - LEVEL_UP_MOVE(40, MOVE_FUTURE_SIGHT), - LEVEL_UP_MOVE(45, MOVE_COSMIC_POWER), - LEVEL_UP_MOVE(50, MOVE_DOOM_DESIRE), + LEVEL_UP_MOVE(30, MOVE_LUCKY_CHANT), + LEVEL_UP_MOVE(35, MOVE_ZEN_HEADBUTT), + LEVEL_UP_MOVE(40, MOVE_DOUBLE_EDGE), + LEVEL_UP_MOVE(45, MOVE_GRAVITY), + LEVEL_UP_MOVE(50, MOVE_HEALING_WISH), + LEVEL_UP_MOVE(55, MOVE_FUTURE_SIGHT), + LEVEL_UP_MOVE(60, MOVE_COSMIC_POWER), + LEVEL_UP_MOVE(65, MOVE_LAST_RESORT), + LEVEL_UP_MOVE(70, MOVE_DOOM_DESIRE), LEVEL_UP_END }; -static const u16 sDeoxysLevelUpLearnset[] = { +static const struct LevelUpMove sDeoxysLevelUpLearnset[] = { LEVEL_UP_MOVE( 1, MOVE_LEER), LEVEL_UP_MOVE( 1, MOVE_WRAP), - LEVEL_UP_MOVE( 5, MOVE_NIGHT_SHADE), - LEVEL_UP_MOVE(10, MOVE_DOUBLE_TEAM), - LEVEL_UP_MOVE(15, MOVE_KNOCK_OFF), - LEVEL_UP_MOVE(20, MOVE_PURSUIT), - LEVEL_UP_MOVE(25, MOVE_PSYCHIC), - LEVEL_UP_MOVE(30, MOVE_SWIFT), - LEVEL_UP_MOVE(35, MOVE_AGILITY), - LEVEL_UP_MOVE(40, MOVE_RECOVER), - LEVEL_UP_MOVE(45, MOVE_PSYCHO_BOOST), - LEVEL_UP_MOVE(50, MOVE_EXTREME_SPEED), + 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_PURSUIT), + LEVEL_UP_MOVE(31, MOVE_PSYCHIC), + LEVEL_UP_MOVE(37, MOVE_SNATCH), + LEVEL_UP_MOVE(43, MOVE_PSYCHO_SHIFT), + 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 u16 sChimechoLevelUpLearnset[] = { - LEVEL_UP_MOVE( 1, MOVE_WRAP), - LEVEL_UP_MOVE( 6, MOVE_GROWL), - LEVEL_UP_MOVE( 9, MOVE_ASTONISH), - LEVEL_UP_MOVE(14, MOVE_CONFUSION), - LEVEL_UP_MOVE(17, MOVE_TAKE_DOWN), - LEVEL_UP_MOVE(22, MOVE_UPROAR), - LEVEL_UP_MOVE(25, MOVE_YAWN), - LEVEL_UP_MOVE(30, MOVE_PSYWAVE), - LEVEL_UP_MOVE(33, MOVE_DOUBLE_EDGE), - LEVEL_UP_MOVE(38, MOVE_HEAL_BELL), - LEVEL_UP_MOVE(41, MOVE_SAFEGUARD), - LEVEL_UP_MOVE(46, MOVE_PSYCHIC), - LEVEL_UP_END +static const struct LevelUpMove sChimechoLevelUpLearnset[] = { + LEVEL_UP_MOVE( 1, MOVE_HEALING_WISH), + LEVEL_UP_MOVE( 1, MOVE_SYNCHRONOISE), + LEVEL_UP_MOVE( 1, MOVE_WRAP), + LEVEL_UP_MOVE( 1, MOVE_GROWL), + LEVEL_UP_MOVE( 1, MOVE_ASTONISH), + LEVEL_UP_MOVE( 1, MOVE_CONFUSION), + 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_PSYWAVE), + 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_MOVE(52, MOVE_SYNCHRONOISE), + LEVEL_UP_MOVE(57, MOVE_HEALING_WISH), + LEVEL_UP_END }; - -#endif //POKEEMERALD_LEVEL_UP_LEARNSETS_H diff --git a/src/data/text/move_descriptions.h b/src/data/text/move_descriptions.h index b09f974c68..3a6f0c61a6 100644 --- a/src/data/text/move_descriptions.h +++ b/src/data/text/move_descriptions.h @@ -1902,7 +1902,7 @@ static const u8 sECHOED_VOICEDescription[] = _( "it is used."); static const u8 sCHIP_AWAYDescription[] = _( - "Strikes through the foeApos, s\n" + "Strikes through the foe’s\n" "stat changes."); static const u8 sCLEAR_SMOGDescription[] = _( @@ -1962,7 +1962,7 @@ static const u8 sACROBATICSDescription[] = _( "user has no item."); static const u8 sREFLECT_TYPEDescription[] = _( - "The user reflects the foeApos, s\n" + "The user reflects the foe’s\n" "type, copying it."); static const u8 sRETALIATEDescription[] = _( @@ -2231,7 +2231,7 @@ static const u8 sSTEAM_ERUPTIONDescription[] = _( static const u8 sHYPERSPACE_HOLEDescription[] = _( "Uses a warp hole to attack.\n" - "CanApos, t be evaded."); + "Can’t be evaded."); static const u8 sWATER_SHURIKENDescription[] = _( "Throws 2 to 5 stars that\n" @@ -2411,7 +2411,7 @@ static const u8 sBURN_UPDescription[] = _( static const u8 sSPEED_SWAPDescription[] = _( "Swaps user’s Speed with\n" - "the targetApos, s."); + "the target’s."); static const u8 sSMART_STRIKEDescription[] = _( "Hits with an accurate\n" diff --git a/src/pokemon.c b/src/pokemon.c index 53637a6357..e93b0e982d 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -3312,20 +3312,12 @@ void GiveBoxMonInitialMoveset(struct BoxPokemon *boxMon) s32 level = GetLevelFromBoxMonExp(boxMon); s32 i; - for (i = 0; gLevelUpLearnsets[species][i] != LEVEL_UP_END; i++) + for (i = 0; gLevelUpLearnsets[species][i].move != LEVEL_UP_END; i++) { - u16 moveLevel; - u16 move; - - moveLevel = (gLevelUpLearnsets[species][i] & 0xFE00); - - if (moveLevel > (level << 9)) + if (gLevelUpLearnsets[species][i].level > level) break; - - move = (gLevelUpLearnsets[species][i] & 0x1FF); - - if (GiveMoveToBoxMon(boxMon, move) == 0xFFFF) - DeleteFirstMoveAndGiveMoveToBoxMon(boxMon, move); + if (GiveMoveToBoxMon(boxMon, gLevelUpLearnsets[species][i].move) == 0xFFFF) + DeleteFirstMoveAndGiveMoveToBoxMon(boxMon, gLevelUpLearnsets[species][i].move); } } @@ -3343,17 +3335,17 @@ u16 MonTryLearningNewMove(struct Pokemon *mon, bool8 firstMove) { sLearningMoveTableID = 0; - while ((gLevelUpLearnsets[species][sLearningMoveTableID] & 0xFE00) != (level << 9)) + while (gLevelUpLearnsets[species][sLearningMoveTableID].level != level) { sLearningMoveTableID++; - if (gLevelUpLearnsets[species][sLearningMoveTableID] == LEVEL_UP_END) + if (gLevelUpLearnsets[species][sLearningMoveTableID].move == LEVEL_UP_END) return 0; } } - if ((gLevelUpLearnsets[species][sLearningMoveTableID] & 0xFE00) == (level << 9)) + if (gLevelUpLearnsets[species][sLearningMoveTableID].level == level) { - gMoveToLearn = (gLevelUpLearnsets[species][sLearningMoveTableID] & 0x1FF); + gMoveToLearn = gLevelUpLearnsets[species][sLearningMoveTableID].move; sLearningMoveTableID++; retVal = GiveMoveToMon(mon, gMoveToLearn); } @@ -6223,23 +6215,23 @@ u8 GetMoveRelearnerMoves(struct Pokemon *mon, u16 *moves) { u16 moveLevel; - if (gLevelUpLearnsets[species][i] == 0xFFFF) + if (gLevelUpLearnsets[species][i].move == LEVEL_UP_END) break; - moveLevel = gLevelUpLearnsets[species][i] & 0xFE00; + moveLevel = gLevelUpLearnsets[species][i].level; - if (moveLevel <= (level << 9)) + if (moveLevel <= level) { - for (j = 0; j < 4 && learnedMoves[j] != (gLevelUpLearnsets[species][i] & 0x1FF); j++) + for (j = 0; j < 4 && learnedMoves[j] != gLevelUpLearnsets[species][i].move; j++) ; if (j == 4) { - for (k = 0; k < numMoves && moves[k] != (gLevelUpLearnsets[species][i] & 0x1FF); k++) + for (k = 0; k < numMoves && moves[k] != gLevelUpLearnsets[species][i].move; k++) ; if (k == numMoves) - moves[numMoves++] = gLevelUpLearnsets[species][i] & 0x1FF; + moves[numMoves++] = gLevelUpLearnsets[species][i].move; } } } @@ -6252,8 +6244,8 @@ u8 GetLevelUpMovesBySpecies(u16 species, u16 *moves) u8 numMoves = 0; int i; - for (i = 0; i < 20 && gLevelUpLearnsets[species][i] != 0xFFFF; i++) - moves[numMoves++] = gLevelUpLearnsets[species][i] & 0x1FF; + for (i = 0; i < 20 && gLevelUpLearnsets[species][i].move != 0xFFFF; i++) + moves[numMoves++] = gLevelUpLearnsets[species][i].move; return numMoves; } @@ -6277,23 +6269,23 @@ u8 GetNumberOfRelearnableMoves(struct Pokemon *mon) { u16 moveLevel; - if (gLevelUpLearnsets[species][i] == 0xFFFF) + if (gLevelUpLearnsets[species][i].move == LEVEL_UP_END) break; - moveLevel = gLevelUpLearnsets[species][i] & 0xFE00; + moveLevel = gLevelUpLearnsets[species][i].level; - if (moveLevel <= (level << 9)) + if (moveLevel <= level) { - for (j = 0; j < 4 && learnedMoves[j] != (gLevelUpLearnsets[species][i] & 0x1FF); j++) + for (j = 0; j < 4 && learnedMoves[j] != gLevelUpLearnsets[species][i].move; j++) ; if (j == 4) { - for (k = 0; k < numMoves && moves[k] != (gLevelUpLearnsets[species][i] & 0x1FF); k++) + for (k = 0; k < numMoves && moves[k] != gLevelUpLearnsets[species][i].move; k++) ; if (k == numMoves) - moves[numMoves++] = gLevelUpLearnsets[species][i] & 0x1FF; + moves[numMoves++] = gLevelUpLearnsets[species][i].move; } } }