From af558d25547b8fa973d44607c12f83e886b92a13 Mon Sep 17 00:00:00 2001 From: nicksnax Date: Sat, 14 Mar 2026 21:47:14 +0900 Subject: [PATCH] final committ before big changes --- pokeemerald-tools/test_teachable.h | 11741 --------------------------- 1 file changed, 11741 deletions(-) delete mode 100644 pokeemerald-tools/test_teachable.h diff --git a/pokeemerald-tools/test_teachable.h b/pokeemerald-tools/test_teachable.h deleted file mode 100644 index 79187a3379..0000000000 --- a/pokeemerald-tools/test_teachable.h +++ /dev/null @@ -1,11741 +0,0 @@ -static const u16 sNoneTeachableLearnset[] = { - MOVE_UNAVAILABLE, -}; - -#if P_FAMILY_BULBASAUR -static const u16 sBulbasaurTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sIvysaurTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sVenusaurTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sEcosaurTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sTerarisaurTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sSymbisaurTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_BULBASAUR - -#if P_FAMILY_CHARMANDER -static const u16 sCharmanderTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_DRAGON_CLAW, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_OVERHEAT, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sCharmeleonTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_DRAGON_CLAW, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_OVERHEAT, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sCharizardTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_DRAGON_CLAW, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_STEEL_WING, - MOVE_OVERHEAT, - MOVE_CUT, - MOVE_FLY, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sChariguanaTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_DRAGON_CLAW, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_STEEL_WING, - MOVE_OVERHEAT, - MOVE_CUT, - MOVE_FLY, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sCharianaTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_DRAGON_CLAW, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_STEEL_WING, - MOVE_OVERHEAT, - MOVE_CUT, - MOVE_FLY, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, -}; -static const u16 sChariathanTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_DRAGON_CLAW, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_STEEL_WING, - MOVE_OVERHEAT, - MOVE_CUT, - MOVE_FLY, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, -}; -#endif //P_FAMILY_CHARMANDER - -#if P_FAMILY_SQUIRTLE -static const u16 sSquirtleTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sWartortleTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sBlastoiseTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sFerrapinTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sFortoiseTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sTurtilleryTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -#endif //P_FAMILY_SQUIRTLE - -#if P_FAMILY_CATERPIE -static const u16 sCaterpieTeachableLearnset[] = { -}; -static const u16 sMetapodTeachableLearnset[] = { -}; -static const u16 sButterfreeTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_FLASH, -}; -static const u16 sButteflareTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_FLASH, -}; -static const u16 sPyrefreeTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_FLASH, -}; -static const u16 sImpsectTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_FLASH, -}; -#endif //P_FAMILY_CATERPIE - -#if P_FAMILY_WEEDLE -static const u16 sWeedleTeachableLearnset[] = { -}; -static const u16 sKakunaTeachableLearnset[] = { -}; -static const u16 sBeedrillTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_ROCK_SMASH, -}; -static const u16 sBeebruteTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_ROCK_SMASH, -}; -static const u16 sDronarchTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_ROCK_SMASH, -}; -static const u16 sSepistrikeTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_WEEDLE - -#if P_FAMILY_PIDGEY -static const u16 sPidgeyTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_FLY, -}; -static const u16 sPidgeottoTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_FLY, -}; -static const u16 sPidgeotTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_FLY, -}; -static const u16 sPidgaeroTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_FLY, -}; -static const u16 sPidgeozoneTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_FLY, -}; -static const u16 sPidgephyrTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_FLY, -}; -#endif //P_FAMILY_PIDGEY - -#if P_FAMILY_RATTATA -static const u16 sRattataTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_ROCK_SMASH, -}; -static const u16 sRaticateTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sRattchetTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sRattaruleTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_RATTATA - -#if P_FAMILY_SPEAROW -static const u16 sSpearowTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_FLY, -}; -static const u16 sFearowTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_FLY, -}; -static const u16 sSneerowTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_FLY, -}; -static const u16 sOrnithowTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_FLY, -}; -#endif //P_FAMILY_SPEAROW - -#if P_FAMILY_EKANS -static const u16 sEkansTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SNATCH, - MOVE_STRENGTH, -}; -static const u16 sArbokTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SNATCH, - MOVE_STRENGTH, -}; -static const u16 sNohtypTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SNATCH, - MOVE_STRENGTH, -}; -static const u16 sAdnokanaTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SNATCH, - MOVE_STRENGTH, -}; -#endif //P_FAMILY_EKANS - -#if P_FAMILY_PIKACHU -static const u16 sPikachuTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sRaichuTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sGorochuTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sStromachuTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_PIKACHU - -#if P_FAMILY_SANDSHREW -static const u16 sSandshrewTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SANDSTORM, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sSandslashTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SANDSTORM, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sSandslamTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SANDSTORM, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sFerodilloTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SANDSTORM, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_SANDSHREW - -#if P_FAMILY_NIDORAN\sf -static const u16 sNidoran\sfTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_SLUDGE_BOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sNidorinaTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_SLUDGE_BOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sNidoqueenTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SLUDGE_BOMB, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sNidoregalTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SLUDGE_BOMB, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sNidoarchyTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SLUDGE_BOMB, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_NIDORAN\sf - -#if P_FAMILY_NIDORAN\sm -static const u16 sNidoran\smTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sNidorinoTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sNidokingTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SLUDGE_BOMB, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sNidorulyTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SLUDGE_BOMB, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sNidominateTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SLUDGE_BOMB, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_NIDORAN\sm - -#if P_FAMILY_CLEFAIRY -static const u16 sClefairyTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_SOFTBOILED, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SNATCH, - MOVE_STRENGTH, - MOVE_FLASH, -}; -static const u16 sClefableTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_SOFTBOILED, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SNATCH, - MOVE_STRENGTH, - MOVE_FLASH, -}; -static const u16 sClefaefaeTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_SOFTBOILED, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SNATCH, - MOVE_STRENGTH, - MOVE_FLASH, -}; -static const u16 sClefanautTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_SOFTBOILED, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SNATCH, - MOVE_STRENGTH, - MOVE_FLASH, -}; -#endif //P_FAMILY_CLEFAIRY - -#if P_FAMILY_VULPIX -static const u16 sVulpixTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_OVERHEAT, -}; -static const u16 sNinetalesTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_OVERHEAT, -}; -static const u16 sSpiritalesTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_OVERHEAT, -}; -static const u16 sYokayubiTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_OVERHEAT, -}; -#endif //P_FAMILY_VULPIX - -#if P_FAMILY_JIGGLYPUFF -static const u16 sJigglypuffTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SNATCH, - MOVE_STRENGTH, - MOVE_FLASH, -}; -static const u16 sWigglytuffTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SNATCH, - MOVE_STRENGTH, - MOVE_FLASH, -}; -static const u16 sGigglyhuffTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SNATCH, - MOVE_STRENGTH, - MOVE_FLASH, -}; -static const u16 sBogglyfuffTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SNATCH, - MOVE_STRENGTH, - MOVE_FLASH, -}; -#endif //P_FAMILY_JIGGLYPUFF - -#if P_FAMILY_ZUBAT -static const u16 sZubatTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_SNATCH, -}; -static const u16 sGolbatTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_SNATCH, -}; -static const u16 sCrobatTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_SNATCH, - MOVE_FLY, -}; -static const u16 sPolabatTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_SNATCH, - MOVE_FLY, -}; -static const u16 sVisibatTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_SNATCH, - MOVE_FLY, -}; -static const u16 sHorribatTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_SNATCH, - MOVE_FLY, -}; -#endif //P_FAMILY_ZUBAT - -#if P_FAMILY_ODDISH -static const u16 sOddishTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_CUT, - MOVE_FLASH, -}; -static const u16 sGloomTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_CUT, - MOVE_FLASH, -}; -static const u16 sVileplumeTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_CUT, - MOVE_FLASH, -}; -static const u16 sRafflurkTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_CUT, - MOVE_FLASH, -}; -static const u16 sConcorpsiaTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_CUT, - MOVE_FLASH, -}; -#endif //P_FAMILY_ODDISH - -#if P_FAMILY_PARAS -static const u16 sParasTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sParasectTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sSectasiteTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sFungalithTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_PARAS - -#if P_FAMILY_VENONAT -static const u16 sVenonatTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_FLASH, -}; -static const u16 sVenomothTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_FLASH, -}; -static const u16 sVenomenaTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_FLASH, -}; -static const u16 sVenomenonTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_FLASH, -}; -#endif //P_FAMILY_VENONAT - -#if P_FAMILY_DIGLETT -static const u16 sDiglettTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_ROCK_SMASH, -}; -static const u16 sDugtrioTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_ROCK_SMASH, -}; -static const u16 sDugroupleTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_ROCK_SMASH, -}; -static const u16 sUnearthletTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_ROCK_SMASH, -}; -static const u16 sDiglenoidTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_DIGLETT - -#if P_FAMILY_MEOWTH -static const u16 sMeowthTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SNATCH, - MOVE_CUT, - MOVE_FLASH, -}; -static const u16 sPersianTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SNATCH, - MOVE_CUT, - MOVE_FLASH, -}; -static const u16 sFelankhTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SNATCH, - MOVE_CUT, - MOVE_FLASH, -}; -static const u16 sPatraphinxTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SNATCH, - MOVE_CUT, - MOVE_FLASH, -}; -#endif //P_FAMILY_MEOWTH - -#if P_FAMILY_PSYDUCK -static const u16 sPsyduckTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sGolduckTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sGilduckTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sPlatinupusTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -#endif //P_FAMILY_PSYDUCK - -#if P_FAMILY_MANKEY -static const u16 sMankeyTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_OVERHEAT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sPrimeapeTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_OVERHEAT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sGorillashTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_OVERHEAT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sBonumbellTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_OVERHEAT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_MANKEY - -#if P_FAMILY_GROWLITHE -static const u16 sGrowlitheTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_OVERHEAT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sArcanineTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_OVERHEAT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sSingeshaTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_OVERHEAT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sGuardianceTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_OVERHEAT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_GROWLITHE - -#if P_FAMILY_POLIWAG -static const u16 sPoliwagTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SURF, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sPoliwhirlTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sPoliwrathTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sPolitoesTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sPoliwiseTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sPoliathTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -#endif //P_FAMILY_POLIWAG - -#if P_FAMILY_ABRA -static const u16 sAbraTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_FLASH, -}; -static const u16 sKadabraTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_FLASH, -}; -static const u16 sAlakazamTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_FLASH, -}; -static const u16 sSimsalabimTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_FLASH, -}; -static const u16 sVohoo-duTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_FLASH, -}; -static const u16 sT'zarkartzTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_FLASH, -}; -#endif //P_FAMILY_ABRA - -#if P_FAMILY_MACHOP -static const u16 sMachopTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sMachokeTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sMachampTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sMachulkTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sAbomachulkTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sMachitanTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_MACHOP - -#if P_FAMILY_BELLSPROUT -static const u16 sBellsproutTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_FLASH, -}; -static const u16 sWeepinbellTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_FLASH, -}; -static const u16 sVictreebelTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_FLASH, -}; -static const u16 sMucktribelTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_FLASH, -}; -static const u16 sCarnabellTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_FLASH, -}; -static const u16 sDevloraTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_FLASH, -}; -#endif //P_FAMILY_BELLSPROUT - -#if P_FAMILY_TENTACOOL -static const u16 sTentacoolTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sTentacruelTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sTentacateTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sTentabomaTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_WATERFALL, - MOVE_DIVE, -}; -#endif //P_FAMILY_TENTACOOL - -#if P_FAMILY_GEODUDE -static const u16 sGeodudeTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sGravelerTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sGolemTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sSlagolemTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sMoltremTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sVolcanicolTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_GEODUDE - -#if P_FAMILY_PONYTA -static const u16 sPonytaTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_OVERHEAT, - MOVE_STRENGTH, -}; -static const u16 sRapidashTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_OVERHEAT, - MOVE_STRENGTH, -}; -static const u16 sCombustangTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_OVERHEAT, - MOVE_STRENGTH, -}; -static const u16 sKnightmareTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_OVERHEAT, - MOVE_STRENGTH, -}; -#endif //P_FAMILY_PONYTA - -#if P_FAMILY_SLOWPOKE -static const u16 sSlowpokeTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SKILL_SWAP, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_DIVE, -}; -static const u16 sSlowbroTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SKILL_SWAP, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, - MOVE_DIVE, -}; -static const u16 sSlowmateTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SKILL_SWAP, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, - MOVE_DIVE, -}; -static const u16 sSlowchumTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SKILL_SWAP, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, - MOVE_DIVE, -}; -#endif //P_FAMILY_SLOWPOKE - -#if P_FAMILY_MAGNEMITE -static const u16 sMagnemiteTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_FLASH, -}; -static const u16 sMagnetonTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_FLASH, -}; -static const u16 sMagnezoneTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_FLASH, -}; -static const u16 sMagnemeldTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_FLASH, -}; -static const u16 sMagnemastrTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_FLASH, -}; -#endif //P_FAMILY_MAGNEMITE - -#if P_FAMILY_FARFETCH'D -static const u16 sFarfetch'dTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_CUT, - MOVE_FLY, -}; -static const u16 sForfowl'dTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_CUT, - MOVE_FLY, -}; -static const u16 sFowln'tomTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_CUT, - MOVE_FLY, -}; -#endif //P_FAMILY_FARFETCH'D - -#if P_FAMILY_DODUO -static const u16 sDoduoTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_FLY, -}; -static const u16 sDodrioTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_DRAGON_CLAW, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_FLY, -}; -static const u16 sQuadodoTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_FLY, -}; -static const u16 sDodozenTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_FLY, -}; -#endif //P_FAMILY_DODUO - -#if P_FAMILY_SEEL -static const u16 sSeelTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SURF, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sDewgongTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SURF, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sPrecipedTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SURF, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sManatiiTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SURF, - MOVE_WATERFALL, - MOVE_DIVE, -}; -#endif //P_FAMILY_SEEL - -#if P_FAMILY_GRIMER -static const u16 sGrimerTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_MIMIC, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SLUDGE_BOMB, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, -}; -static const u16 sMukTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_MIMIC, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SLUDGE_BOMB, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sGunkTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_MIMIC, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SLUDGE_BOMB, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sSkumTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_MIMIC, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SLUDGE_BOMB, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_GRIMER - -#if P_FAMILY_SHELLDER -static const u16 sShellderTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_DIVE, -}; -static const u16 sCloysterTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_DIVE, -}; -static const u16 sAn'enemyTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_DIVE, -}; -static const u16 sGlaishellTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_DIVE, -}; -#endif //P_FAMILY_SHELLDER - -#if P_FAMILY_GASTLY -static const u16 sGastlyTeachableLearnset[] = { - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_SNATCH, -}; -static const u16 sHaunterTeachableLearnset[] = { - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_SNATCH, -}; -static const u16 sGengarTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sGengoneTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sPoltergastTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sGrimmTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_GASTLY - -#if P_FAMILY_ONIX -static const u16 sOnixTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SANDSTORM, - MOVE_ROCK_TOMB, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sSteelixTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SANDSTORM, - MOVE_ROCK_TOMB, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sPlatnixTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SANDSTORM, - MOVE_ROCK_TOMB, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sObsidianixTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SANDSTORM, - MOVE_ROCK_TOMB, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sStalagmixTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SANDSTORM, - MOVE_ROCK_TOMB, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_ONIX - -#if P_FAMILY_DROWZEE -static const u16 sDrowzeeTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_FLASH, -}; -static const u16 sHypnoTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_FLASH, -}; -static const u16 sLullooTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_FLASH, -}; -static const u16 sSomnisoothTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_FLASH, -}; -#endif //P_FAMILY_DROWZEE - -#if P_FAMILY_KRABBY -static const u16 sKrabbyTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_DIVE, -}; -static const u16 sKinglerTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_DIVE, -}; -static const u16 sKraklawTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_DIVE, -}; -static const u16 sTeklawnoTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_DIVE, -}; -#endif //P_FAMILY_KRABBY - -#if P_FAMILY_VOLTORB -static const u16 sVoltorbTeachableLearnset[] = { - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_TAUNT, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_THIEF, - MOVE_FLASH, -}; -static const u16 sElectrodeTeachableLearnset[] = { - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_THIEF, - MOVE_FLASH, -}; -static const u16 sElectrodesTeachableLearnset[] = { - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_THIEF, - MOVE_FLASH, -}; -static const u16 sElectrodexTeachableLearnset[] = { - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_THIEF, - MOVE_FLASH, -}; -static const u16 sElectrodemTeachableLearnset[] = { - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_THIEF, - MOVE_FLASH, -}; -#endif //P_FAMILY_VOLTORB - -#if P_FAMILY_EXEGGCUTE -static const u16 sExeggcuteTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_STRENGTH, - MOVE_FLASH, -}; -static const u16 sExeggutorTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_STRENGTH, - MOVE_FLASH, -}; -static const u16 sExeggityTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_STRENGTH, - MOVE_FLASH, -}; -static const u16 sExeggtricTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_STRENGTH, - MOVE_FLASH, -}; -#endif //P_FAMILY_EXEGGCUTE - -#if P_FAMILY_CUBONE -static const u16 sCuboneTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sMarowakTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sOsselobberTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sWraiwrathTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_CUBONE - -#if P_FAMILY_HITMONLEE -static const u16 sHitmonleeTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sCleevoyantTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sSpirituleeTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_HITMONLEE - -#if P_FAMILY_HITMONCHAN -static const u16 sHitmonchanTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sEnchancedTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sRadiachanTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_HITMONCHAN - -#if P_FAMILY_LICKITUNG -static const u16 sLickitungTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sLickilickyTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sLickilollyTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sLickilatoTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_LICKITUNG - -#if P_FAMILY_KOFFING -static const u16 sKoffingTeachableLearnset[] = { - MOVE_MIMIC, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SLUDGE_BOMB, - MOVE_FIRE_BLAST, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_FLASH, -}; -static const u16 sWeezingTeachableLearnset[] = { - MOVE_MIMIC, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SLUDGE_BOMB, - MOVE_FIRE_BLAST, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_FLASH, -}; -static const u16 sHeevingTeachableLearnset[] = { - MOVE_MIMIC, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SLUDGE_BOMB, - MOVE_FIRE_BLAST, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_FLASH, -}; -static const u16 sChohkingTeachableLearnset[] = { - MOVE_MIMIC, - MOVE_EXPLOSION, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SLUDGE_BOMB, - MOVE_FIRE_BLAST, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_FLASH, -}; -#endif //P_FAMILY_KOFFING - -#if P_FAMILY_RHYHORN -static const u16 sRhyhornTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sRhydonTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sRhyperiorTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sRhymarkablTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sRhylicTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sRhybornTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_RHYHORN - -#if P_FAMILY_CHANSEY -static const u16 sChanseyTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_SOFTBOILED, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sBlisseyTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_SOFTBOILED, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sGogetteyTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_SOFTBOILED, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sLukkeyTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_SOFTBOILED, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sFortuniteyTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_SOFTBOILED, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_CHANSEY - -#if P_FAMILY_TANGELA -static const u16 sTangelaTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sTangrowthTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sTangatherTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sTangoliathTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sTangrappleTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SLUDGE_BOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_TANGELA - -#if P_FAMILY_KANGAKID -static const u16 sKangakidTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sKangaskhanTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sKangallousTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sKangarutalTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_KANGAKID - -#if P_FAMILY_HORSEA -static const u16 sHorseaTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sSeadraTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sKingdraTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sLordraTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_DRAGON_CLAW, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sPinnadraTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_DRAGON_CLAW, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_WATERFALL, - MOVE_DIVE, -}; -#endif //P_FAMILY_HORSEA - -#if P_FAMILY_GOLDEEN -static const u16 sGoldeenTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sSeakingTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sSearexTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sCapriseaTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_WATERFALL, - MOVE_DIVE, -}; -#endif //P_FAMILY_GOLDEEN - -#if P_FAMILY_STARYU -static const u16 sStaryuTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_SURF, - MOVE_FLASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sStarmieTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_SKILL_SWAP, - MOVE_SURF, - MOVE_FLASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sStarusTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_SKILL_SWAP, - MOVE_SURF, - MOVE_FLASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sStarweTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_SKILL_SWAP, - MOVE_SURF, - MOVE_FLASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -#endif //P_FAMILY_STARYU - -#if P_FAMILY_MR._MIME -static const u16 sMr._mimeTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_FLASH, -}; -static const u16 sMr._jestTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_FLASH, -}; -static const u16 sMr._foolTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_FLASH, -}; -#endif //P_FAMILY_MR._MIME - -#if P_FAMILY_SCYTHER -static const u16 sScytherTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_CUT, - MOVE_ROCK_SMASH, -}; -static const u16 sScizorTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SANDSTORM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sRazerTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SANDSTORM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sClaymorTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SANDSTORM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_SCYTHER - -#if P_FAMILY_JYNX -static const u16 sJynxTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_DREAM_EATER, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_FLASH, -}; -static const u16 sJynkiesTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_DREAM_EATER, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_FLASH, -}; -static const u16 sJeepersTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_DREAM_EATER, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SKILL_SWAP, - MOVE_FLASH, -}; -#endif //P_FAMILY_JYNX - -#if P_FAMILY_ELECTABUZZ -static const u16 sElectabuzzTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sElectivireTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sElectivineTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sElectiwizzTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_ELECTABUZZ - -#if P_FAMILY_MAGMAR -static const u16 sMagmarTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sMagmortarTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sMagmoreTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sMagmoltenTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_MAGMAR - -#if P_FAMILY_PINSIR -static const u16 sPinsirTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sPinsiriorTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sAbyssirTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_TOXIC, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_ROCK_TOMB, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_PINSIR - -#if P_FAMILY_TAUROS -static const u16 sTaurosTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sTauroxTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sOxenfreeTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_TAUROS - -#if P_FAMILY_MAGIKARP -static const u16 sMagikarpTeachableLearnset[] = { -}; -static const u16 sGyaradosTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sHydradosTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sDracosmicTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sQuazarTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -#endif //P_FAMILY_MAGIKARP - -#if P_FAMILY_LAPRAS -static const u16 sLaprasTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sLochlassTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sNesseaTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -#endif //P_FAMILY_LAPRAS - -#if P_FAMILY_DITTO -static const u16 sDittoTeachableLearnset[] = { -}; -static const u16 sMorphoTeachableLearnset[] = { -}; -static const u16 sMetamorphoTeachableLearnset[] = { -}; -#endif //P_FAMILY_DITTO - -#if P_FAMILY_EEVEE -static const u16 sEeveeTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, -}; -static const u16 sVaporeonTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sRiveonTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sBrineonTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sJolteonTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_FLASH, -}; -static const u16 sPlasmeonTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_FLASH, -}; -static const u16 sGalveonTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_FLASH, -}; -static const u16 sFlareonTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_OVERHEAT, -}; -static const u16 sSmoldeonTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_OVERHEAT, -}; -static const u16 sInferneonTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_RETURN, - MOVE_DIG, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_OVERHEAT, -}; -#endif //P_FAMILY_EEVEE - -#if P_FAMILY_PORYGON -static const u16 sPorygonTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_THIEF, - MOVE_FLASH, -}; -static const u16 sPorygon2TeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_THIEF, - MOVE_FLASH, -}; -static const u16 sPorygon-zTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_THIEF, - MOVE_FLASH, -}; -static const u16 sPorygon-xTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_THIEF, - MOVE_FLASH, -}; -static const u16 sPorygon-qTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_OVERHEAT, - MOVE_FLASH, -}; -static const u16 sPorygon2a4TeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_OVERHEAT, - MOVE_FLASH, -}; -#endif //P_FAMILY_PORYGON - -#if P_FAMILY_OMANYTE -static const u16 sOmanyteTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SANDSTORM, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SURF, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sOmastarTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SANDSTORM, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SURF, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sOmapalTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_DOUBLE_TEAM, - MOVE_SANDSTORM, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SURF, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sOmagusTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_DOUBLE_TEAM, - MOVE_SANDSTORM, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SURF, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -#endif //P_FAMILY_OMANYTE - -#if P_FAMILY_KABUTO -static const u16 sKabutoTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DIG, - MOVE_DOUBLE_TEAM, - MOVE_SANDSTORM, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_SURF, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, -}; -static const u16 sKabutopsTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SANDSTORM, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sKabutakTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SANDSTORM, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sKabustionTeachableLearnset[] = { - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DIG, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SANDSTORM, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_CUT, - MOVE_SURF, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -#endif //P_FAMILY_KABUTO - -#if P_FAMILY_AERODACTYL -static const u16 sAerodactylTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_DRAGON_CLAW, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_FLY, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sMandiluftTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_DRAGON_CLAW, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_FLY, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -static const u16 sAmbalithicTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_DRAGON_CLAW, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_FLY, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_AERODACTYL - -#if P_FAMILY_SNORLAX -static const u16 sSnorlaxTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_STRENGTH, -}; -static const u16 sActlaxTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_STRENGTH, -}; -static const u16 sGrizzlaxTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_STRENGTH, -}; -#endif //P_FAMILY_SNORLAX - -#if P_FAMILY_ARTICUNO -static const u16 sArticunoTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SANDSTORM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_STEEL_WING, - MOVE_FLY, - MOVE_ROCK_SMASH, -}; -static const u16 sSnowoneTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SANDSTORM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_STEEL_WING, - MOVE_FLY, - MOVE_ROCK_SMASH, -}; -static const u16 sFrostunusTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SANDSTORM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_STEEL_WING, - MOVE_FLY, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_ARTICUNO - -#if P_FAMILY_ZAPDOS -static const u16 sZapdosTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_SANDSTORM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_STEEL_WING, - MOVE_FLY, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sShockatooTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_SANDSTORM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_STEEL_WING, - MOVE_FLY, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sVoltduoTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_FRUSTRATION, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_SANDSTORM, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_STEEL_WING, - MOVE_FLY, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_ZAPDOS - -#if P_FAMILY_MOLTRES -static const u16 sMoltresTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_STEEL_WING, - MOVE_OVERHEAT, - MOVE_FLY, - MOVE_ROCK_SMASH, -}; -static const u16 sIgnithreeTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_STEEL_WING, - MOVE_OVERHEAT, - MOVE_FLY, - MOVE_ROCK_SMASH, -}; -static const u16 sInferntriTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_SUBSTITUTE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_STEEL_WING, - MOVE_OVERHEAT, - MOVE_FLY, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_MOLTRES - -#if P_FAMILY_DRATINI -static const u16 sDratiniTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_WATERFALL, -}; -static const u16 sDragonairTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_WATER_PULSE, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_RETURN, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_FIRE_BLAST, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_SURF, - MOVE_WATERFALL, -}; -static const u16 sDragoniteTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_DRAGON_CLAW, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_STEEL_WING, - MOVE_CUT, - MOVE_FLY, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sDragonierTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_DRAGON_CLAW, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_STEEL_WING, - MOVE_CUT, - MOVE_FLY, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sDragonaceTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_DRAGON_CLAW, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_STEEL_WING, - MOVE_CUT, - MOVE_FLY, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sDragontaleTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MIMIC, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_DRAGON_CLAW, - MOVE_WATER_PULSE, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_STEEL_WING, - MOVE_CUT, - MOVE_FLY, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -#endif //P_FAMILY_DRATINI - -#if P_FAMILY_MEWTWO -static const u16 sMewtwoTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sMewthreeTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -static const u16 sMewfourTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_BULK_UP, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, -}; -#endif //P_FAMILY_MEWTWO - -#if P_FAMILY_MEW -static const u16 sMewTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_SOFTBOILED, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_DRAGON_CLAW, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_BULK_UP, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SLUDGE_BOMB, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_OVERHEAT, - MOVE_CUT, - MOVE_FLY, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sNyuTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_SOFTBOILED, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_DRAGON_CLAW, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_BULK_UP, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SLUDGE_BOMB, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_OVERHEAT, - MOVE_CUT, - MOVE_FLY, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -static const u16 sIotaTeachableLearnset[] = { - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, - MOVE_MEGA_KICK, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_COUNTER, - MOVE_SEISMIC_TOSS, - MOVE_MIMIC, - MOVE_METRONOME, - MOVE_SOFTBOILED, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, - MOVE_SUBSTITUTE, - MOVE_FOCUS_PUNCH, - MOVE_DRAGON_CLAW, - MOVE_WATER_PULSE, - MOVE_CALM_MIND, - MOVE_ROAR, - MOVE_TOXIC, - MOVE_HAIL, - MOVE_BULK_UP, - MOVE_BULLET_SEED, - MOVE_HIDDEN_POWER, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_ICE_BEAM, - MOVE_BLIZZARD, - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_GIGA_DRAIN, - MOVE_SAFEGUARD, - MOVE_FRUSTRATION, - MOVE_SOLARBEAM, - MOVE_IRON_TAIL, - MOVE_THUNDERBOLT, - MOVE_THUNDER, - MOVE_EARTHQUAKE, - MOVE_RETURN, - MOVE_DIG, - MOVE_PSYCHIC, - MOVE_SHADOW_BALL, - MOVE_BRICK_BREAK, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SHOCK_WAVE, - MOVE_FLAMETHROWER, - MOVE_SLUDGE_BOMB, - MOVE_SANDSTORM, - MOVE_FIRE_BLAST, - MOVE_ROCK_TOMB, - MOVE_AERIAL_ACE, - MOVE_TORMENT, - MOVE_FACADE, - MOVE_SECRET_POWER, - MOVE_REST, - MOVE_ATTRACT, - MOVE_THIEF, - MOVE_STEEL_WING, - MOVE_SKILL_SWAP, - MOVE_SNATCH, - MOVE_OVERHEAT, - MOVE_CUT, - MOVE_FLY, - MOVE_SURF, - MOVE_STRENGTH, - MOVE_FLASH, - MOVE_ROCK_SMASH, - MOVE_WATERFALL, - MOVE_DIVE, -}; -#endif //P_FAMILY_MEW - -#if P_FAMILY_MISSINGNO_1 -static const u16 sMissingno_1TeachableLearnset[] = { - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SECRET_POWER, -}; -#endif //P_FAMILY_MISSINGNO_1 - -#if P_FAMILY_MISSINGNO_2 -static const u16 sMissingno_2TeachableLearnset[] = { - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SECRET_POWER, -}; -#endif //P_FAMILY_MISSINGNO_2 - -#if P_FAMILY_MISSINGNO_3 -static const u16 sMissingno_3TeachableLearnset[] = { - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SECRET_POWER, -}; -#endif //P_FAMILY_MISSINGNO_3 - -#if P_FAMILY_MISSINGNO_4 -static const u16 sMissingno_4TeachableLearnset[] = { - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SECRET_POWER, -}; -#endif //P_FAMILY_MISSINGNO_4 - -#if P_FAMILY_MISSINGNO_5 -static const u16 sMissingno_5TeachableLearnset[] = { - MOVE_HYPER_BEAM, - MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_DOUBLE_TEAM, - MOVE_REFLECT, - MOVE_SECRET_POWER, -};