From eac5da89ad481f565dc118d1e2643469abe2f9fa Mon Sep 17 00:00:00 2001 From: FosterProgramming Date: Mon, 20 Oct 2025 15:31:42 +0200 Subject: [PATCH] Make movelist calculations happen during compilation instead of runtime (#7967) --- Makefile | 10 +- include/config/pokemon.h | 1 - include/constants/teaching_types.h | 34 + include/pokedex_plus_hgss.h | 2 + include/pokemon.h | 5 +- src/data/pokemon/special_movesets.json | 33 + src/data/pokemon/species_info.h | 1 + .../pokemon/species_info/gen_1_families.h | 13 +- .../pokemon/species_info/gen_2_families.h | 8 +- .../pokemon/species_info/gen_3_families.h | 8 +- .../pokemon/species_info/gen_4_families.h | 10 +- .../pokemon/species_info/gen_5_families.h | 2 +- .../pokemon/species_info/gen_6_families.h | 4 +- .../pokemon/species_info/gen_7_families.h | 5 +- .../pokemon/species_info/gen_8_families.h | 4 +- src/data/pokemon/teachable_learnsets.h | 26647 ++++++++++------ src/pokedex_plus_hgss.c | 223 +- src/pokemon.c | 83 +- tools/learnset_helpers/make_teachables.py | 150 +- tools/learnset_helpers/make_tutors.py | 68 + 20 files changed, 16937 insertions(+), 10374 deletions(-) create mode 100644 include/constants/teaching_types.h create mode 100644 src/data/pokemon/special_movesets.json create mode 100644 tools/learnset_helpers/make_tutors.py diff --git a/Makefile b/Makefile index 440202e61e..3f916dabec 100644 --- a/Makefile +++ b/Makefile @@ -212,6 +212,7 @@ LEARNSET_HELPERS_DIR := $(TOOLS_DIR)/learnset_helpers LEARNSET_HELPERS_DATA_DIR := $(LEARNSET_HELPERS_DIR)/porymoves_files LEARNSET_HELPERS_BUILD_DIR := $(LEARNSET_HELPERS_DIR)/build ALL_LEARNABLES_JSON := $(LEARNSET_HELPERS_BUILD_DIR)/all_learnables.json +ALL_TUTORS_JSON := $(LEARNSET_HELPERS_BUILD_DIR)/all_tutors.json # wild_encounters.h is generated by a Python script WILD_ENCOUNTERS_TOOL_DIR := $(TOOLS_DIR)/wild_encounters @@ -411,6 +412,8 @@ clean-generated: @echo "rm -f " @rm -f $(ALL_LEARNABLES_JSON) @echo "rm -f " + @rm -f $(ALL_TUTORS_JSON) + @echo "rm -f " $(C_BUILDDIR)/librfu_intr.o: CFLAGS := -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast $(C_BUILDDIR)/berry_crush.o: override CFLAGS += -Wno-address-of-packed-member @@ -500,7 +503,7 @@ $(OBJ_DIR)/sym_common.ld: sym_common.txt $(C_OBJS) $(wildcard common_syms/*.txt) $(OBJ_DIR)/sym_ewram.ld: sym_ewram.txt $(RAMSCRGEN) ewram_data $< ENGLISH > $@ -TEACHABLE_DEPS := $(ALL_LEARNABLES_JSON) $(shell find data/ -type f -name '*.inc') $(INCLUDE_DIRS)/constants/tms_hms.h $(INCLUDE_DIRS)/config/pokemon.h $(C_SUBDIR)/pokemon.c +TEACHABLE_DEPS := $(ALL_LEARNABLES_JSON) $(ALL_TUTORS_JSON) $(INCLUDE_DIRS)/constants/tms_hms.h $(INCLUDE_DIRS)/config/pokemon.h $(INCLUDE_DIRS)/config/pokedex_plus_hgss.h $(LEARNSET_HELPERS_DIR)/make_teachables.py $(LEARNSET_HELPERS_BUILD_DIR): @mkdir -p $@ @@ -508,8 +511,11 @@ $(LEARNSET_HELPERS_BUILD_DIR): $(ALL_LEARNABLES_JSON): $(wildcard $(LEARNSET_HELPERS_DATA_DIR)/*.json) | $(LEARNSET_HELPERS_BUILD_DIR) python3 $(LEARNSET_HELPERS_DIR)/make_learnables.py $(LEARNSET_HELPERS_DATA_DIR) $@ +$(ALL_TUTORS_JSON): $(shell find data/ -type f -name '*.inc') $(LEARNSET_HELPERS_DIR)/make_tutors.py + python3 $(LEARNSET_HELPERS_DIR)/make_tutors.py $@ + $(DATA_SRC_SUBDIR)/pokemon/teachable_learnsets.h: $(TEACHABLE_DEPS) - python3 $(LEARNSET_HELPERS_DIR)/make_teachables.py $< + python3 $(LEARNSET_HELPERS_DIR)/make_teachables.py $< $(ALL_TUTORS_JSON) # Linker script LD_SCRIPT := ld_script_modern.ld diff --git a/include/config/pokemon.h b/include/config/pokemon.h index fdee4e8ad2..d2af42ea08 100644 --- a/include/config/pokemon.h +++ b/include/config/pokemon.h @@ -64,7 +64,6 @@ // Learnset helper toggles #define P_LEARNSET_HELPER_TEACHABLE TRUE // If TRUE, teachable_learnsets.h will be populated by tools/learnset_helpers/make_teachables.py using the included JSON files based on available TMs and tutors. -#define P_TUTOR_MOVES_ARRAY FALSE // If TRUE, generates a gTutorMoves array automatically using make_teachables.py. (generally not needed, but the HGSS Pokedex has an optional use for it) // Flag settings // To use the following features in scripting, replace the 0s with the flag ID you're assigning it to. diff --git a/include/constants/teaching_types.h b/include/constants/teaching_types.h new file mode 100644 index 0000000000..63fd9daa95 --- /dev/null +++ b/include/constants/teaching_types.h @@ -0,0 +1,34 @@ +#ifndef GUARD_CONSTANTS_TEACHING_TYPES_H +#define GUARD_CONSTANTS_TEACHING_TYPES_H + +/* +Teaching Types are not used directly by the ROM but they are used by +make_teachables.py to generate teachable learnsets. To save ROM space, the info is +stored in 1 bit and the python script reads the name of the define. +This means we can have multiple "modes" that define to 1. +You can add additional teaching types but they would need to be described in the +python script. +*/ + + +/* DEFAULT_LEARNING +Vanilla uses: most pokemon +Allow a pokemon to learn all universal moves +*/ +#define DEFAULT_LEARNING 0 + +/* TM_ILLITERATE +Vanilla uses: pokemon with "gimmick" moveset (Ditto, Smeargle, Magikarp, ...) +Pokemon can't learn any universal moves (unless it was added to their teachable learnset) +*/ +#define TM_ILLITERATE 1 + +/* ALL_TEACHABLES +Vanilla uses: Mew +Allows a pokemon to learn almost every teachable move (whether from TM or tutors) +Some moves are excluded, they are listed in SignatureTeachables +*/ +#define ALL_TEACHABLES 1 + + +#endif // GUARD_CONSTANTS_TEACHING_TYPES_H diff --git a/include/pokedex_plus_hgss.h b/include/pokedex_plus_hgss.h index a309924236..9486eea8c7 100644 --- a/include/pokedex_plus_hgss.h +++ b/include/pokedex_plus_hgss.h @@ -1,6 +1,8 @@ #ifndef GUARD_POKEDEX_PLUS_HGSS_H #define GUARD_POKEDEX_PLUS_HGSS_H +extern const u16 gTutorMoves[]; + void CB2_OpenPokedexPlusHGSS(void); void Task_DisplayCaughtMonDexPageHGSS(u8); diff --git a/include/pokemon.h b/include/pokemon.h index 08313fb95b..fd6855bf82 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -505,7 +505,7 @@ struct SpeciesInfo /*0xC4*/ u32 cannotBeTraded:1; u32 perfectIVCount:3; // This species will always generate with the specified amount of perfect IVs. u32 dexForceRequired:1; // This species will be taken into account for Pokédex ratings even if they have the "isMythical" flag set. - u32 tmIlliterate:1; // This species will be unable to learn the universal moves. + u32 teachingType:1; // Not used in the ROM but used in compilation (check constants/teaching_types.h for explanations) u32 isFrontierBanned:1; // This species is not allowed to participate in Battle Frontier facilities. u32 padding4:11; // Shadow settings @@ -700,9 +700,8 @@ extern const struct SpriteTemplate gBattlerSpriteTemplates[]; extern const u32 sExpCandyExperienceTable[]; extern const struct AbilityInfo gAbilitiesInfo[]; extern const struct NatureInfo gNaturesInfo[]; -#if P_TUTOR_MOVES_ARRAY + extern const u16 gTutorMoves[]; -#endif // P_TUTOR_MOVES_ARRAY void ZeroBoxMonData(struct BoxPokemon *boxMon); void ZeroMonData(struct Pokemon *mon); diff --git a/src/data/pokemon/special_movesets.json b/src/data/pokemon/special_movesets.json new file mode 100644 index 0000000000..82302b152a --- /dev/null +++ b/src/data/pokemon/special_movesets.json @@ -0,0 +1,33 @@ +{ + "universalMoves": + [ + "MOVE_BIDE", + "MOVE_FRUSTRATION", + "MOVE_HIDDEN_POWER", + "MOVE_MIMIC", + "MOVE_NATURAL_GIFT", + "MOVE_RAGE", + "MOVE_RETURN", + "MOVE_SECRET_POWER", + "MOVE_SUBSTITUTE", + "MOVE_TERA_BLAST" + ], + "signatureTeachables": + [ + "MOVE_BADDY_BAD", + "MOVE_BOUNCY_BUBBLE", + "MOVE_BUZZY_BUZZ", + "MOVE_DRAGON_ASCENT", + "MOVE_FLOATY_FALL", + "MOVE_FREEZY_FROST", + "MOVE_GLITZY_GLOW", + "MOVE_RELIC_SONG", + "MOVE_SAPPY_SEED", + "MOVE_SECRET_SWORD", + "MOVE_SIZZLY_SLIDE", + "MOVE_SPARKLY_SWIRL", + "MOVE_SPLISHY_SPLASH", + "MOVE_VOLT_TACKLE", + "MOVE_ZIPPY_ZAP" + ] +} diff --git a/src/data/pokemon/species_info.h b/src/data/pokemon/species_info.h index 0cd1d5b1ac..4cf63f9bac 100644 --- a/src/data/pokemon/species_info.h +++ b/src/data/pokemon/species_info.h @@ -1,4 +1,5 @@ #include "constants/abilities.h" +#include "constants/teaching_types.h" #include "species_info/shared_dex_text.h" #include "species_info/shared_front_pic_anims.h" diff --git a/src/data/pokemon/species_info/gen_1_families.h b/src/data/pokemon/species_info/gen_1_families.h index a661147349..929db7dae7 100644 --- a/src/data/pokemon/species_info/gen_1_families.h +++ b/src/data/pokemon/species_info/gen_1_families.h @@ -1188,7 +1188,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Caterpie, gShinyOverworldPalette_Caterpie ) - .tmIlliterate = TRUE, + .teachingType = TM_ILLITERATE, .levelUpLearnset = sCaterpieLevelUpLearnset, .teachableLearnset = sCaterpieTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 7, SPECIES_METAPOD}), @@ -1256,7 +1256,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Metapod, gShinyOverworldPalette_Metapod ) - .tmIlliterate = TRUE, + .teachingType = TM_ILLITERATE, .levelUpLearnset = sMetapodLevelUpLearnset, .teachableLearnset = sMetapodTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 10, SPECIES_BUTTERFREE}), @@ -1499,7 +1499,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Weedle, gShinyOverworldPalette_Weedle ) - .tmIlliterate = TRUE, + .teachingType = TM_ILLITERATE, .levelUpLearnset = sWeedleLevelUpLearnset, .teachableLearnset = sWeedleTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 7, SPECIES_KAKUNA}), @@ -1577,7 +1577,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Kakuna, gShinyOverworldPalette_Kakuna ) - .tmIlliterate = TRUE, + .teachingType = TM_ILLITERATE, .levelUpLearnset = sKakunaLevelUpLearnset, .teachableLearnset = sKakunaTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 10, SPECIES_BEEDRILL}), @@ -17203,7 +17203,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = TRACKS_SPOT, sAnimTable_Following ) - .tmIlliterate = TRUE, + .teachingType = TM_ILLITERATE, .levelUpLearnset = sMagikarpLevelUpLearnset, .teachableLearnset = sMagikarpTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_GYARADOS}), @@ -17565,7 +17565,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = gOverworldPalette_Ditto, gShinyOverworldPalette_Ditto ) - .tmIlliterate = TRUE, + .teachingType = TM_ILLITERATE, .levelUpLearnset = sDittoLevelUpLearnset, .teachableLearnset = sDittoTeachableLearnset, }, @@ -20239,6 +20239,7 @@ const struct SpeciesInfo gSpeciesInfoGen1[] = .isMythical = TRUE, .isFrontierBanned = TRUE, .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, + .teachingType = ALL_TEACHABLES, .levelUpLearnset = sMewLevelUpLearnset, .teachableLearnset = sMewTeachableLearnset, }, diff --git a/src/data/pokemon/species_info/gen_2_families.h b/src/data/pokemon/species_info/gen_2_families.h index 98e856aae5..7d15ca7185 100644 --- a/src/data/pokemon/species_info/gen_2_families.h +++ b/src/data/pokemon/species_info/gen_2_families.h @@ -3970,9 +3970,9 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Unown, \ gShinyOverworldPalette_Unown, \ ) \ + .teachingType = TM_ILLITERATE, \ .levelUpLearnset = sUnownLevelUpLearnset, \ .teachableLearnset = sUnownTeachableLearnset, \ - .tmIlliterate = TRUE, \ .formSpeciesIdTable = sUnownFormSpeciesIdTable, \ } @@ -4074,7 +4074,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Wynaut, gShinyOverworldPalette_Wynaut ) - .tmIlliterate = TRUE, + .teachingType = TM_ILLITERATE, .levelUpLearnset = sWynautLevelUpLearnset, .teachableLearnset = sWynautTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 15, SPECIES_WOBBUFFET}), @@ -4163,7 +4163,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = TRACKS_FOOT, sAnimTable_Following ) - .tmIlliterate = TRUE, + .teachingType = TM_ILLITERATE, .levelUpLearnset = sWobbuffetLevelUpLearnset, .teachableLearnset = sWobbuffetTeachableLearnset, }, @@ -7697,7 +7697,7 @@ const struct SpeciesInfo gSpeciesInfoGen2[] = gOverworldPalette_Smeargle, gShinyOverworldPalette_Smeargle ) - .tmIlliterate = TRUE, + .teachingType = TM_ILLITERATE, .levelUpLearnset = sSmeargleLevelUpLearnset, .teachableLearnset = sSmeargleTeachableLearnset, }, diff --git a/src/data/pokemon/species_info/gen_3_families.h b/src/data/pokemon/species_info/gen_3_families.h index 6ad30646cf..9b9ba688c5 100644 --- a/src/data/pokemon/species_info/gen_3_families.h +++ b/src/data/pokemon/species_info/gen_3_families.h @@ -1501,7 +1501,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gOverworldPalette_Wurmple, gShinyOverworldPalette_Wurmple ) - .tmIlliterate = TRUE, + .teachingType = TM_ILLITERATE, .levelUpLearnset = sWurmpleLevelUpLearnset, .teachableLearnset = sWurmpleTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 7, SPECIES_SILCOON, CONDITIONS({IF_PID_UPPER_MODULO_10_GT, 4})}, @@ -1571,7 +1571,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gOverworldPalette_Silcoon, gShinyOverworldPalette_Silcoon ) - .tmIlliterate = TRUE, + .teachingType = TM_ILLITERATE, .levelUpLearnset = sSilcoonLevelUpLearnset, .teachableLearnset = sSilcoonTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 10, SPECIES_BEAUTIFLY}), @@ -1744,7 +1744,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gOverworldPalette_Cascoon, gShinyOverworldPalette_Cascoon ) - .tmIlliterate = TRUE, + .teachingType = TM_ILLITERATE, .levelUpLearnset = sCascoonLevelUpLearnset, .teachableLearnset = sCascoonTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 10, SPECIES_DUSTOX}), @@ -11668,7 +11668,7 @@ const struct SpeciesInfo gSpeciesInfoGen3[] = gOverworldPalette_Beldum, gShinyOverworldPalette_Beldum ) - .tmIlliterate = TRUE, + .teachingType = TM_ILLITERATE, .levelUpLearnset = sBeldumLevelUpLearnset, .teachableLearnset = sBeldumTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 20, SPECIES_METANG}), diff --git a/src/data/pokemon/species_info/gen_4_families.h b/src/data/pokemon/species_info/gen_4_families.h index 84edb98987..f5a474137a 100644 --- a/src/data/pokemon/species_info/gen_4_families.h +++ b/src/data/pokemon/species_info/gen_4_families.h @@ -1183,7 +1183,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = TRACKS_FOOT, sAnimTable_Following ) - .tmIlliterate = TRUE, + .teachingType = TM_ILLITERATE, .levelUpLearnset = sKricketotLevelUpLearnset, .teachableLearnset = sKricketotTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 10, SPECIES_KRICKETUNE}), @@ -1865,7 +1865,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_BurmyPlant, gShinyOverworldPalette_BurmyPlant ) - .tmIlliterate = TRUE, + .teachingType = TM_ILLITERATE, .levelUpLearnset = sBurmyLevelUpLearnset, .teachableLearnset = sBurmyTeachableLearnset, .formSpeciesIdTable = sBurmyFormSpeciesIdTable, @@ -1934,7 +1934,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_BurmySandy, gShinyOverworldPalette_BurmySandy ) - .tmIlliterate = TRUE, + .teachingType = TM_ILLITERATE, .levelUpLearnset = sBurmyLevelUpLearnset, .teachableLearnset = sBurmyTeachableLearnset, .formSpeciesIdTable = sBurmyFormSpeciesIdTable, @@ -2003,7 +2003,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = gOverworldPalette_BurmyTrash, gShinyOverworldPalette_BurmyTrash ) - .tmIlliterate = TRUE, + .teachingType = TM_ILLITERATE, .levelUpLearnset = sBurmyLevelUpLearnset, .teachableLearnset = sBurmyTeachableLearnset, .formSpeciesIdTable = sBurmyFormSpeciesIdTable, @@ -2360,7 +2360,7 @@ const struct SpeciesInfo gSpeciesInfoGen4[] = TRACKS_FOOT, sAnimTable_Following ) - .tmIlliterate = TRUE, + .teachingType = TM_ILLITERATE, .levelUpLearnset = sCombeeLevelUpLearnset, .teachableLearnset = sCombeeTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 21, SPECIES_VESPIQUEN, CONDITIONS({IF_GENDER, MON_FEMALE})}), diff --git a/src/data/pokemon/species_info/gen_5_families.h b/src/data/pokemon/species_info/gen_5_families.h index 1b5e484ab8..4f61b3141e 100644 --- a/src/data/pokemon/species_info/gen_5_families.h +++ b/src/data/pokemon/species_info/gen_5_families.h @@ -9394,7 +9394,7 @@ const struct SpeciesInfo gSpeciesInfoGen5[] = gOverworldPalette_Tynamo, gShinyOverworldPalette_Tynamo ) - .tmIlliterate = TRUE, + .teachingType = TM_ILLITERATE, .levelUpLearnset = sTynamoLevelUpLearnset, .teachableLearnset = sTynamoTeachableLearnset, .evolutions = EVOLUTION({EVO_LEVEL, 39, SPECIES_EELEKTRIK}), diff --git a/src/data/pokemon/species_info/gen_6_families.h b/src/data/pokemon/species_info/gen_6_families.h index 03bfc713f2..5e882ad353 100644 --- a/src/data/pokemon/species_info/gen_6_families.h +++ b/src/data/pokemon/species_info/gen_6_families.h @@ -1169,7 +1169,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = gOverworldPalette_Scatterbug, \ gShinyOverworldPalette_Scatterbug \ ) \ - .tmIlliterate = TRUE, \ + .teachingType = TM_ILLITERATE, \ .levelUpLearnset = sScatterbugLevelUpLearnset, \ .teachableLearnset = sScatterbugTeachableLearnset, \ .eggMoveLearnset = sScatterbugEggMoveLearnset, \ @@ -1253,7 +1253,7 @@ const struct SpeciesInfo gSpeciesInfoGen6[] = gOverworldPalette_Spewpa, \ gShinyOverworldPalette_Spewpa \ ) \ - .tmIlliterate = TRUE, \ + .teachingType = TM_ILLITERATE, \ .levelUpLearnset = sSpewpaLevelUpLearnset, \ .teachableLearnset = sSpewpaTeachableLearnset, \ .formSpeciesIdTable = sSpewpaFormSpeciesIdTable, \ diff --git a/src/data/pokemon/species_info/gen_7_families.h b/src/data/pokemon/species_info/gen_7_families.h index 3877ee2705..8feb551fa6 100644 --- a/src/data/pokemon/species_info/gen_7_families.h +++ b/src/data/pokemon/species_info/gen_7_families.h @@ -4291,6 +4291,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gOverworldPalette_Pyukumuku, gShinyOverworldPalette_Pyukumuku ) + .teachingType = TM_ILLITERATE, .levelUpLearnset = sPyukumukuLevelUpLearnset, .teachableLearnset = sPyukumukuTeachableLearnset, .eggMoveLearnset = sPyukumukuEggMoveLearnset, @@ -5900,7 +5901,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_Cosmog ) .isLegendary = TRUE, - .tmIlliterate = TRUE, + .teachingType = TM_ILLITERATE, .isFrontierBanned = TRUE, .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sCosmogLevelUpLearnset, @@ -5970,7 +5971,7 @@ const struct SpeciesInfo gSpeciesInfoGen7[] = gShinyOverworldPalette_Cosmoem ) .isLegendary = TRUE, - .tmIlliterate = TRUE, + .teachingType = TM_ILLITERATE, .isFrontierBanned = TRUE, .perfectIVCount = LEGENDARY_PERFECT_IV_COUNT, .levelUpLearnset = sCosmoemLevelUpLearnset, diff --git a/src/data/pokemon/species_info/gen_8_families.h b/src/data/pokemon/species_info/gen_8_families.h index 6ba7fed676..08f22c19aa 100644 --- a/src/data/pokemon/species_info/gen_8_families.h +++ b/src/data/pokemon/species_info/gen_8_families.h @@ -1230,7 +1230,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = gOverworldPalette_Blipbug, gShinyOverworldPalette_Blipbug ) - .tmIlliterate = TRUE, + .teachingType = TM_ILLITERATE, .levelUpLearnset = sBlipbugLevelUpLearnset, .teachableLearnset = sBlipbugTeachableLearnset, .eggMoveLearnset = sBlipbugEggMoveLearnset, @@ -2461,7 +2461,7 @@ const struct SpeciesInfo gSpeciesInfoGen8[] = gOverworldPalette_Applin, gShinyOverworldPalette_Applin ) - .tmIlliterate = TRUE, + .teachingType = TM_ILLITERATE, .levelUpLearnset = sApplinLevelUpLearnset, .teachableLearnset = sApplinTeachableLearnset, .eggMoveLearnset = sApplinEggMoveLearnset, diff --git a/src/data/pokemon/teachable_learnsets.h b/src/data/pokemon/teachable_learnsets.h index 8b400f5675..7c72a171ec 100644 --- a/src/data/pokemon/teachable_learnsets.h +++ b/src/data/pokemon/teachable_learnsets.h @@ -2,111 +2,111 @@ // DO NOT MODIFY THIS FILE! It is auto-generated by tools/learnset_helpers/make_teachables.py // -// *************************************************** // -// TM/HM moves found in "include/constants/tms_hms.h": // -// - 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_SOLAR_BEAM // -// - 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 // -// *************************************************** // -// Tutor moves found from map scripts: // -// - MOVE_BODY_SLAM // -// - MOVE_COUNTER // -// - MOVE_DEFENSE_CURL // -// - MOVE_DOUBLE_EDGE // -// - MOVE_DREAM_EATER // -// - MOVE_DYNAMIC_PUNCH // -// - MOVE_ENDURE // -// - MOVE_EXPLOSION // -// - MOVE_FIRE_PUNCH // -// - MOVE_FURY_CUTTER // -// - MOVE_ICE_PUNCH // -// - MOVE_ICY_WIND // -// - MOVE_MEGA_KICK // -// - MOVE_MEGA_PUNCH // -// - MOVE_METRONOME // -// - MOVE_MIMIC // -// - MOVE_MUD_SLAP // -// - MOVE_PSYCH_UP // -// - MOVE_ROCK_SLIDE // -// - MOVE_ROLLOUT // -// - MOVE_SEISMIC_TOSS // -// - MOVE_SLEEP_TALK // -// - MOVE_SNORE // -// - MOVE_SOFT_BOILED // -// - MOVE_SUBSTITUTE // -// - MOVE_SWAGGER // -// - MOVE_SWIFT // -// - MOVE_SWORDS_DANCE // -// - MOVE_THUNDER_PUNCH // -// - MOVE_THUNDER_WAVE // -// *************************************************** // -// Near-universal moves found from sUniversalMoves: // -// - MOVE_BIDE // -// - MOVE_FRUSTRATION // -// - MOVE_HIDDEN_POWER // -// - MOVE_MIMIC // -// - MOVE_NATURAL_GIFT // -// - MOVE_RAGE // -// - MOVE_RETURN // -// - MOVE_SECRET_POWER // -// - MOVE_SUBSTITUTE // -// - MOVE_TERA_BLAST // -// *************************************************** // +// ********************************************************* // +// TM/HM moves found in "include/constants/tms_hms.h": // +// - MOVE_AERIAL_ACE // +// - MOVE_ATTRACT // +// - MOVE_BLIZZARD // +// - MOVE_BRICK_BREAK // +// - MOVE_BULK_UP // +// - MOVE_BULLET_SEED // +// - MOVE_CALM_MIND // +// - MOVE_CUT // +// - MOVE_DIG // +// - MOVE_DIVE // +// - MOVE_DOUBLE_TEAM // +// - MOVE_DRAGON_CLAW // +// - MOVE_EARTHQUAKE // +// - MOVE_FACADE // +// - MOVE_FIRE_BLAST // +// - MOVE_FLAMETHROWER // +// - MOVE_FLASH // +// - MOVE_FLY // +// - MOVE_FOCUS_PUNCH // +// - MOVE_FRUSTRATION // +// - MOVE_GIGA_DRAIN // +// - MOVE_HAIL // +// - MOVE_HIDDEN_POWER // +// - MOVE_HYPER_BEAM // +// - MOVE_ICE_BEAM // +// - MOVE_IRON_TAIL // +// - MOVE_LIGHT_SCREEN // +// - MOVE_OVERHEAT // +// - MOVE_PROTECT // +// - MOVE_PSYCHIC // +// - MOVE_RAIN_DANCE // +// - MOVE_REFLECT // +// - MOVE_REST // +// - MOVE_RETURN // +// - MOVE_ROAR // +// - MOVE_ROCK_SMASH // +// - MOVE_ROCK_TOMB // +// - MOVE_SAFEGUARD // +// - MOVE_SANDSTORM // +// - MOVE_SECRET_POWER // +// - MOVE_SHADOW_BALL // +// - MOVE_SHOCK_WAVE // +// - MOVE_SKILL_SWAP // +// - MOVE_SLUDGE_BOMB // +// - MOVE_SNATCH // +// - MOVE_SOLAR_BEAM // +// - MOVE_STEEL_WING // +// - MOVE_STRENGTH // +// - MOVE_SUNNY_DAY // +// - MOVE_SURF // +// - MOVE_TAUNT // +// - MOVE_THIEF // +// - MOVE_THUNDER // +// - MOVE_THUNDERBOLT // +// - MOVE_TORMENT // +// - MOVE_TOXIC // +// - MOVE_WATERFALL // +// - MOVE_WATER_PULSE // +// ********************************************************* // +// Tutor moves found from map scripts: // +// - MOVE_BODY_SLAM // +// - MOVE_COUNTER // +// - MOVE_DEFENSE_CURL // +// - MOVE_DOUBLE_EDGE // +// - MOVE_DREAM_EATER // +// - MOVE_DYNAMIC_PUNCH // +// - MOVE_ENDURE // +// - MOVE_EXPLOSION // +// - MOVE_FIRE_PUNCH // +// - MOVE_FURY_CUTTER // +// - MOVE_ICE_PUNCH // +// - MOVE_ICY_WIND // +// - MOVE_MEGA_KICK // +// - MOVE_MEGA_PUNCH // +// - MOVE_METRONOME // +// - MOVE_MIMIC // +// - MOVE_MUD_SLAP // +// - MOVE_PSYCH_UP // +// - MOVE_ROCK_SLIDE // +// - MOVE_ROLLOUT // +// - MOVE_SEISMIC_TOSS // +// - MOVE_SLEEP_TALK // +// - MOVE_SNORE // +// - MOVE_SOFT_BOILED // +// - MOVE_SUBSTITUTE // +// - MOVE_SWAGGER // +// - MOVE_SWIFT // +// - MOVE_SWORDS_DANCE // +// - MOVE_THUNDER_PUNCH // +// - MOVE_THUNDER_WAVE // +// ********************************************************* // +// Near-universal moves found in data/special_movesets.json: // +// - MOVE_BIDE // +// - MOVE_FRUSTRATION // +// - MOVE_HIDDEN_POWER // +// - MOVE_MIMIC // +// - MOVE_NATURAL_GIFT // +// - MOVE_RAGE // +// - MOVE_RETURN // +// - MOVE_SECRET_POWER // +// - MOVE_SUBSTITUTE // +// - MOVE_TERA_BLAST // +// ********************************************************* // static const u16 sNoneTeachableLearnset[] = { MOVE_UNAVAILABLE, @@ -115,101 +115,119 @@ static const u16 sNoneTeachableLearnset[] = { #if P_FAMILY_BULBASAUR static const u16 sBulbasaurTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CUT, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sIvysaurTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CUT, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sVenusaurTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CUT, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BULBASAUR @@ -218,141 +236,159 @@ static const u16 sVenusaurTeachableLearnset[] = { static const u16 sCharmanderTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sCharmeleonTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sCharizardTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FLY, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SEISMIC_TOSS, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CHARMANDER @@ -361,132 +397,150 @@ static const u16 sCharizardTeachableLearnset[] = { static const u16 sSquirtleTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SURF, + MOVE_TOXIC, + MOVE_WATERFALL, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_ROLLOUT, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SURF, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TOXIC, - MOVE_WATERFALL, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; static const u16 sWartortleTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SURF, + MOVE_TOXIC, + MOVE_WATERFALL, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_ROLLOUT, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SURF, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TOXIC, - MOVE_WATERFALL, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; static const u16 sBlastoiseTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SURF, + MOVE_TOXIC, + MOVE_WATERFALL, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_ROLLOUT, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SURF, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TOXIC, - MOVE_WATERFALL, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SQUIRTLE @@ -504,31 +558,37 @@ static const u16 sMetapodTeachableLearnset[] = { static const u16 sButterfreeTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CATERPIE @@ -547,28 +607,34 @@ static const u16 sBeedrillTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_WEEDLE @@ -577,73 +643,91 @@ static const u16 sBeedrillTeachableLearnset[] = { static const u16 sPidgeyTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sPidgeottoTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sPidgeotTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PIDGEY @@ -652,78 +736,90 @@ static const u16 sPidgeotTeachableLearnset[] = { static const u16 sRattataTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sRaticateTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -731,29 +827,35 @@ static const u16 sRaticateTeachableLearnset[] = { static const u16 sRattataAlolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -761,32 +863,38 @@ static const u16 sRaticateAlolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_ALOLAN_FORMS @@ -796,47 +904,59 @@ static const u16 sRaticateAlolaTeachableLearnset[] = { static const u16 sSpearowTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sFearowTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SPEAROW @@ -844,62 +964,74 @@ static const u16 sFearowTeachableLearnset[] = { #if P_FAMILY_EKANS static const u16 sEkansTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sArbokTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_EKANS @@ -908,165 +1040,189 @@ static const u16 sArbokTeachableLearnset[] = { #if P_GEN_2_CROSS_EVOS static const u16 sPichuTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, - MOVE_SEISMIC_TOSS, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS static const u16 sPikachuTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_ROLLOUT, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sRaichuTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_ROLLOUT, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #if P_ALOLAN_FORMS static const u16 sRaichuAlolaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_ALOLAN_FORMS @@ -1076,81 +1232,93 @@ static const u16 sRaichuAlolaTeachableLearnset[] = { static const u16 sSandshrewTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sSandslashTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -1159,38 +1327,44 @@ static const u16 sSandshrewAlolaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -1198,39 +1372,45 @@ static const u16 sSandslashAlolaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_ALOLAN_FORMS @@ -1241,35 +1421,41 @@ static const u16 sNidoranFTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -1277,35 +1463,41 @@ static const u16 sNidorinaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -1313,186 +1505,210 @@ static const u16 sNidoqueenTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; static const u16 sNidoranMTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sNidorinoTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sNidokingTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_NIDORAN @@ -1501,47 +1717,53 @@ static const u16 sNidokingTeachableLearnset[] = { #if P_GEN_2_CROSS_EVOS static const u16 sCleffaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, - MOVE_ICY_WIND, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, + MOVE_SOLAR_BEAM, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, MOVE_SOFT_BOILED, - MOVE_SOLAR_BEAM, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_THUNDER_WAVE, - MOVE_TOXIC, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -1549,123 +1771,135 @@ static const u16 sCleffaTeachableLearnset[] = { static const u16 sClefairyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_ROLLOUT, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, - MOVE_SOFT_BOILED, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SOFT_BOILED, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sClefableTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_ROLLOUT, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, - MOVE_SOFT_BOILED, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SOFT_BOILED, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CLEFAIRY @@ -1673,60 +1907,72 @@ static const u16 sClefableTeachableLearnset[] = { #if P_FAMILY_VULPIX static const u16 sVulpixTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_OVERHEAT, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sNinetalesTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_OVERHEAT, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -1734,60 +1980,72 @@ static const u16 sNinetalesTeachableLearnset[] = { static const u16 sVulpixAlolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sNinetalesAlolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, + MOVE_SOLAR_BEAM, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SOLAR_BEAM, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_ALOLAN_FORMS @@ -1797,43 +2055,49 @@ static const u16 sNinetalesAlolaTeachableLearnset[] = { #if P_GEN_2_CROSS_EVOS static const u16 sIgglybuffTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, - MOVE_ICY_WIND, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_THUNDER_WAVE, - MOVE_TOXIC, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -1841,121 +2105,133 @@ static const u16 sIgglybuffTeachableLearnset[] = { static const u16 sJigglypuffTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sWigglytuffTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_JIGGLYPUFF @@ -1964,57 +2240,69 @@ static const u16 sWigglytuffTeachableLearnset[] = { static const u16 sZubatTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sGolbatTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -2022,29 +2310,35 @@ static const u16 sGolbatTeachableLearnset[] = { static const u16 sCrobatTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -2055,23 +2349,29 @@ static const u16 sOddishTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -2079,50 +2379,62 @@ static const u16 sGloomTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sVileplumeTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -2131,24 +2443,30 @@ static const u16 sBellossomTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -2158,67 +2476,79 @@ static const u16 sBellossomTeachableLearnset[] = { static const u16 sParasTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sParasectTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PARAS @@ -2226,54 +2556,66 @@ static const u16 sParasectTeachableLearnset[] = { #if P_FAMILY_VENONAT static const u16 sVenonatTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sVenomothTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_VENONAT @@ -2282,59 +2624,71 @@ static const u16 sVenomothTeachableLearnset[] = { static const u16 sDiglettTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sDugtrioTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -2342,54 +2696,66 @@ static const u16 sDugtrioTeachableLearnset[] = { static const u16 sDiglettAlolaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sDugtrioAlolaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_ALOLAN_FORMS @@ -2399,80 +2765,92 @@ static const u16 sDugtrioAlolaTeachableLearnset[] = { static const u16 sMeowthTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_ICY_WIND, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sPersianTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -2480,72 +2858,84 @@ static const u16 sPersianTeachableLearnset[] = { static const u16 sMeowthAlolaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, - MOVE_ICY_WIND, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sPersianAlolaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_ALOLAN_FORMS @@ -2554,55 +2944,67 @@ static const u16 sPersianAlolaTeachableLearnset[] = { static const u16 sMeowthGalarTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sPerrserkerTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_GALARIAN_FORMS @@ -2613,48 +3015,54 @@ static const u16 sPsyduckTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -2662,50 +3070,56 @@ static const u16 sGolduckTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PSYDUCK @@ -2714,130 +3128,148 @@ static const u16 sGolduckTeachableLearnset[] = { static const u16 sMankeyTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, - MOVE_ICE_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SEISMIC_TOSS, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; static const u16 sPrimeapeTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SEISMIC_TOSS, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #if P_GEN_9_CROSS_EVOS static const u16 sAnnihilapeTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, - MOVE_METRONOME, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; @@ -2848,116 +3280,140 @@ static const u16 sAnnihilapeTeachableLearnset[] = { static const u16 sGrowlitheTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sArcanineTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #if P_HISUIAN_FORMS static const u16 sGrowlitheHisuiTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sArcanineHisuiTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWIFT, MOVE_THIEF, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_HISUIAN_FORMS @@ -2967,124 +3423,142 @@ static const u16 sArcanineHisuiTeachableLearnset[] = { static const u16 sPoliwagTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_DEFENSE_CURL, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sPoliwhirlTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, + MOVE_PROTECT, + MOVE_PSYCHIC, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SURF, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_WATERFALL, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_PSYCHIC, MOVE_PSYCH_UP, - MOVE_RAIN_DANCE, - MOVE_REST, - MOVE_ROCK_SMASH, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SURF, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_THIEF, - MOVE_TOXIC, - MOVE_WATERFALL, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; static const u16 sPoliwrathTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SEISMIC_TOSS, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -3092,45 +3566,51 @@ static const u16 sPoliwrathTeachableLearnset[] = { static const u16 sPolitoedTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_PROTECT, + MOVE_PSYCHIC, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SURF, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_WATERFALL, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_PSYCHIC, MOVE_PSYCH_UP, - MOVE_RAIN_DANCE, - MOVE_REST, - MOVE_ROCK_SMASH, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SURF, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_THIEF, - MOVE_TOXIC, - MOVE_WATERFALL, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -3139,142 +3619,160 @@ static const u16 sPolitoedTeachableLearnset[] = { #if P_FAMILY_ABRA static const u16 sAbraTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, - MOVE_ICE_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sKadabraTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, - MOVE_ICE_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sAlakazamTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ABRA @@ -3282,125 +3780,143 @@ static const u16 sAlakazamTeachableLearnset[] = { #if P_FAMILY_MACHOP static const u16 sMachopTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_ICE_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sMachokeTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_ICE_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sMachampTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MACHOP @@ -3410,79 +3926,97 @@ static const u16 sBellsproutTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sWeepinbellTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sVictreebelTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BELLSPROUT @@ -3493,30 +4027,36 @@ static const u16 sTentacoolTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_CUT, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -3525,31 +4065,37 @@ static const u16 sTentacruelTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_CUT, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TENTACOOL @@ -3557,244 +4103,280 @@ static const u16 sTentacruelTeachableLearnset[] = { #if P_FAMILY_GEODUDE static const u16 sGeodudeTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FIRE_PUNCH, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sGravelerTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FIRE_PUNCH, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sGolemTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, + MOVE_PROTECT, + MOVE_REST, + MOVE_RETURN, + MOVE_ROAR, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_REST, - MOVE_ROAR, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, MOVE_ROLLOUT, - MOVE_SANDSTORM, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #if P_ALOLAN_FORMS static const u16 sGeodudeAlolaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_SUNNY_DAY, + MOVE_THUNDER, + MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FIRE_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_THUNDER, - MOVE_THUNDERBOLT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sGravelerAlolaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FIRE_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sGolemAlolaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FIRE_PUNCH, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_ALOLAN_FORMS @@ -3803,92 +4385,116 @@ static const u16 sGolemAlolaTeachableLearnset[] = { #if P_FAMILY_PONYTA static const u16 sPonytaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sRapidashTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #if P_GALARIAN_FORMS static const u16 sPonytaGalarTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sRapidashGalarTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, @@ -3900,45 +4506,51 @@ static const u16 sRapidashGalarTeachableLearnset[] = { static const u16 sSlowpokeTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -3946,57 +4558,63 @@ static const u16 sSlowbroTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -4004,61 +4622,67 @@ static const u16 sSlowbroTeachableLearnset[] = { static const u16 sSlowkingTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_TOXIC, + MOVE_WATERFALL, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, - MOVE_WATERFALL, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -4067,82 +4691,94 @@ static const u16 sSlowkingTeachableLearnset[] = { static const u16 sSlowpokeGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIG, MOVE_DIVE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWIFT, - MOVE_THUNDER_WAVE, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sSlowbroGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWIFT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -4150,48 +4786,54 @@ static const u16 sSlowbroGalarTeachableLearnset[] = { static const u16 sSlowkingGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_DIG, MOVE_DIVE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -4200,90 +4842,108 @@ static const u16 sSlowkingGalarTeachableLearnset[] = { #if P_FAMILY_MAGNEMITE static const u16 sMagnemiteTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sMagnetonTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #if P_GEN_4_CROSS_EVOS static const u16 sMagnezoneTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -4293,69 +4953,87 @@ static const u16 sMagnezoneTeachableLearnset[] = { static const u16 sFarfetchdTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #if P_GALARIAN_FORMS static const u16 sFarfetchdGalarTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, + MOVE_PROTECT, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, + MOVE_STEEL_WING, + MOVE_SUNNY_DAY, + MOVE_BODY_SLAM, MOVE_COUNTER, MOVE_DOUBLE_EDGE, MOVE_ENDURE, - MOVE_FACADE, MOVE_FURY_CUTTER, - MOVE_PROTECT, - MOVE_REST, - MOVE_ROCK_SMASH, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STEEL_WING, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sSirfetchdTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, + MOVE_PROTECT, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, + MOVE_STEEL_WING, + MOVE_SUNNY_DAY, + MOVE_BODY_SLAM, MOVE_COUNTER, MOVE_DOUBLE_EDGE, MOVE_ENDURE, - MOVE_FACADE, MOVE_FURY_CUTTER, - MOVE_PROTECT, - MOVE_REST, - MOVE_ROCK_SMASH, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STEEL_WING, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -4366,55 +5044,67 @@ static const u16 sSirfetchdTeachableLearnset[] = { static const u16 sDoduoTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sDodrioTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DODUO @@ -4423,59 +5113,71 @@ static const u16 sDodrioTeachableLearnset[] = { static const u16 sSeelTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sDewgongTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SEEL @@ -4483,170 +5185,194 @@ static const u16 sDewgongTeachableLearnset[] = { #if P_FAMILY_GRIMER static const u16 sGrimerTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, - MOVE_ICE_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; static const u16 sMukTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #if P_ALOLAN_FORMS static const u16 sGrimerAlolaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; static const u16 sMukAlolaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_ALOLAN_FORMS @@ -4657,57 +5383,69 @@ static const u16 sShellderTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sCloysterTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SHELLDER @@ -4716,117 +5454,135 @@ static const u16 sCloysterTeachableLearnset[] = { static const u16 sGastlyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, - MOVE_FIRE_PUNCH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; static const u16 sHaunterTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, - MOVE_FIRE_PUNCH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, - MOVE_METRONOME, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; static const u16 sGengarTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_DOUBLE_TEAM, + MOVE_FACADE, + MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, + MOVE_HYPER_BEAM, + MOVE_PROTECT, + MOVE_PSYCHIC, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, + MOVE_SHADOW_BALL, + MOVE_SKILL_SWAP, + MOVE_SLUDGE_BOMB, + MOVE_SNATCH, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_THUNDER, + MOVE_THUNDERBOLT, + MOVE_TORMENT, + MOVE_TOXIC, + MOVE_BODY_SLAM, MOVE_COUNTER, MOVE_DOUBLE_EDGE, - MOVE_DOUBLE_TEAM, MOVE_DREAM_EATER, MOVE_DYNAMIC_PUNCH, MOVE_ENDURE, MOVE_EXPLOSION, - MOVE_FACADE, MOVE_FIRE_PUNCH, - MOVE_FOCUS_PUNCH, - MOVE_GIGA_DRAIN, - MOVE_HYPER_BEAM, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, - MOVE_PROTECT, - MOVE_PSYCHIC, + MOVE_MIMIC, MOVE_PSYCH_UP, - MOVE_RAIN_DANCE, - MOVE_REST, - MOVE_ROCK_SMASH, MOVE_SEISMIC_TOSS, - MOVE_SHADOW_BALL, - MOVE_SKILL_SWAP, MOVE_SLEEP_TALK, - MOVE_SLUDGE_BOMB, - MOVE_SNATCH, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TAUNT, - MOVE_THIEF, - MOVE_THUNDER, - MOVE_THUNDERBOLT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TORMENT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GASTLY @@ -4834,70 +5590,82 @@ static const u16 sGengarTeachableLearnset[] = { #if P_FAMILY_ONIX static const u16 sOnixTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #if P_GEN_2_CROSS_EVOS static const u16 sSteelixTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -4906,92 +5674,104 @@ static const u16 sSteelixTeachableLearnset[] = { #if P_FAMILY_DROWZEE static const u16 sDrowzeeTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, - MOVE_ICE_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sHypnoTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DROWZEE @@ -5000,177 +5780,213 @@ static const u16 sHypnoTeachableLearnset[] = { static const u16 sKrabbyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sKinglerTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KRABBY #if P_FAMILY_VOLTORB static const u16 sVoltorbTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sElectrodeTeachableLearnset[] = { - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #if P_HISUIAN_FORMS static const u16 sVoltorbHisuiTeachableLearnset[] = { MOVE_BULLET_SEED, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sElectrodeHisuiTeachableLearnset[] = { MOVE_BULLET_SEED, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -5181,105 +5997,123 @@ static const u16 sElectrodeHisuiTeachableLearnset[] = { static const u16 sExeggcuteTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sExeggutorTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #if P_ALOLAN_FORMS static const u16 sExeggutorAlolaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_ALOLAN_FORMS @@ -5290,44 +6124,50 @@ static const u16 sCuboneTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -5335,45 +6175,51 @@ static const u16 sMarowakTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -5382,45 +6228,51 @@ static const u16 sMarowakAlolaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_ALOLAN_FORMS @@ -5430,110 +6282,128 @@ static const u16 sMarowakAlolaTeachableLearnset[] = { #if P_GEN_2_CROSS_EVOS static const u16 sTyrogueTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_THIEF, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS static const u16 sHitmonleeTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SEISMIC_TOSS, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sHitmonchanTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, + MOVE_DOUBLE_TEAM, + MOVE_EARTHQUAKE, + MOVE_FACADE, + MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, MOVE_COUNTER, MOVE_DOUBLE_EDGE, - MOVE_DOUBLE_TEAM, MOVE_DYNAMIC_PUNCH, - MOVE_EARTHQUAKE, MOVE_ENDURE, - MOVE_FACADE, MOVE_FIRE_PUNCH, - MOVE_FOCUS_PUNCH, MOVE_ICE_PUNCH, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_REST, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -5541,35 +6411,41 @@ static const u16 sHitmonchanTeachableLearnset[] = { static const u16 sHitmontopTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_ROLLOUT, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_THIEF, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -5579,57 +6455,63 @@ static const u16 sHitmontopTeachableLearnset[] = { static const u16 sLickitungTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; @@ -5637,55 +6519,61 @@ static const u16 sLickitungTeachableLearnset[] = { static const u16 sLickilickyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -5694,90 +6582,108 @@ static const u16 sLickilickyTeachableLearnset[] = { #if P_FAMILY_KOFFING static const u16 sKoffingTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sWeezingTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #if P_GALARIAN_FORMS static const u16 sWeezingGalarTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_GALARIAN_FORMS @@ -5787,93 +6693,105 @@ static const u16 sWeezingGalarTeachableLearnset[] = { static const u16 sRhyhornTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sRhydonTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; @@ -5881,51 +6799,57 @@ static const u16 sRhydonTeachableLearnset[] = { static const u16 sRhyperiorTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -5936,40 +6860,46 @@ static const u16 sRhyperiorTeachableLearnset[] = { static const u16 sHappinyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, - MOVE_ICY_WIND, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, + MOVE_SOLAR_BEAM, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_WATER_PULSE, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, MOVE_SOFT_BOILED, - MOVE_SOLAR_BEAM, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_THUNDER_WAVE, - MOVE_TOXIC, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -5977,66 +6907,72 @@ static const u16 sHappinyTeachableLearnset[] = { static const u16 sChanseyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, - MOVE_SOFT_BOILED, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SOFT_BOILED, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -6044,65 +6980,71 @@ static const u16 sChanseyTeachableLearnset[] = { static const u16 sBlisseyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, - MOVE_SOFT_BOILED, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SOFT_BOILED, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -6111,31 +7053,37 @@ static const u16 sBlisseyTeachableLearnset[] = { #if P_FAMILY_TANGELA static const u16 sTangelaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -6143,36 +7091,42 @@ static const u16 sTangelaTeachableLearnset[] = { static const u16 sTangrowthTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, MOVE_CUT, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -6183,56 +7137,62 @@ static const u16 sKangaskhanTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KANGASKHAN @@ -6242,24 +7202,30 @@ static const u16 sHorseaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -6267,25 +7233,31 @@ static const u16 sSeadraTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -6293,27 +7265,33 @@ static const u16 sSeadraTeachableLearnset[] = { static const u16 sKingdraTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -6323,59 +7301,71 @@ static const u16 sKingdraTeachableLearnset[] = { static const u16 sGoldeenTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sSeakingTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GOLDEEN @@ -6385,33 +7375,39 @@ static const u16 sStaryuTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -6419,36 +7415,42 @@ static const u16 sStarmieTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_STARYU @@ -6460,37 +7462,43 @@ static const u16 sMimeJrTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, - MOVE_ICY_WIND, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -6498,52 +7506,58 @@ static const u16 sMimeJrTeachableLearnset[] = { static const u16 sMrMimeTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -6551,36 +7565,42 @@ static const u16 sMrMimeTeachableLearnset[] = { static const u16 sMrMimeGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -6588,36 +7608,42 @@ static const u16 sMrMimeGalarTeachableLearnset[] = { static const u16 sMrRimeTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -6630,29 +7656,35 @@ static const u16 sScytherTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -6662,31 +7694,37 @@ static const u16 sScizorTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -6696,26 +7734,32 @@ static const u16 sKleavorTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, MOVE_UNAVAILABLE, }; #endif //P_GEN_8_CROSS_EVOS @@ -6726,40 +7770,46 @@ static const u16 sKleavorTeachableLearnset[] = { static const u16 sSmoochumTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_SEISMIC_TOSS, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -6767,45 +7817,51 @@ static const u16 sSmoochumTeachableLearnset[] = { static const u16 sJynxTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_SEISMIC_TOSS, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_JYNX @@ -6814,136 +7870,154 @@ static const u16 sJynxTeachableLearnset[] = { #if P_GEN_2_CROSS_EVOS static const u16 sElekidTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, - MOVE_ICE_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS static const u16 sElectabuzzTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #if P_GEN_4_CROSS_EVOS static const u16 sElectivireTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -6953,119 +8027,137 @@ static const u16 sElectivireTeachableLearnset[] = { #if P_GEN_2_CROSS_EVOS static const u16 sMagbyTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS static const u16 sMagmarTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TAUNT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #if P_GEN_4_CROSS_EVOS static const u16 sMagmortarTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -7074,34 +8166,40 @@ static const u16 sMagmortarTeachableLearnset[] = { #if P_FAMILY_PINSIR static const u16 sPinsirTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_THIEF, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PINSIR @@ -7110,112 +8208,136 @@ static const u16 sPinsirTeachableLearnset[] = { static const u16 sTaurosTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #if P_PALDEAN_FORMS static const u16 sTaurosPaldeaCombatTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BULK_UP, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, MOVE_THIEF, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sTaurosPaldeaBlazeTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BULK_UP, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THIEF, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sTaurosPaldeaAquaTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BULK_UP, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, MOVE_THIEF, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_PALDEAN_FORMS @@ -7229,41 +8351,47 @@ static const u16 sMagikarpTeachableLearnset[] = { static const u16 sGyaradosTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MAGIKARP @@ -7272,39 +8400,45 @@ static const u16 sGyaradosTeachableLearnset[] = { static const u16 sLaprasTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LAPRAS @@ -7318,208 +8452,244 @@ static const u16 sDittoTeachableLearnset[] = { #if P_FAMILY_EEVEE static const u16 sEeveeTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sVaporeonTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sJolteonTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sFlareonTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #if P_GEN_2_CROSS_EVOS static const u16 sEspeonTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sUmbreonTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -7528,68 +8698,80 @@ static const u16 sUmbreonTeachableLearnset[] = { static const u16 sLeafeonTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CALM_MIND, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sGlaceonTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -7597,36 +8779,42 @@ static const u16 sGlaceonTeachableLearnset[] = { #if P_GEN_6_CROSS_EVOS static const u16 sSylveonTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_GEN_6_CROSS_EVOS @@ -7636,35 +8824,41 @@ static const u16 sSylveonTeachableLearnset[] = { static const u16 sPorygonTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -7672,35 +8866,41 @@ static const u16 sPorygonTeachableLearnset[] = { static const u16 sPorygon2TeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -7708,35 +8908,41 @@ static const u16 sPorygon2TeachableLearnset[] = { static const u16 sPorygonZTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -7747,66 +8953,78 @@ static const u16 sPorygonZTeachableLearnset[] = { static const u16 sOmanyteTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sOmastarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SEISMIC_TOSS, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_OMANYTE @@ -7816,34 +9034,40 @@ static const u16 sKabutoTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -7851,42 +9075,48 @@ static const u16 sKabutopsTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MEGA_KICK, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SEISMIC_TOSS, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KABUTO @@ -7895,37 +9125,43 @@ static const u16 sKabutopsTeachableLearnset[] = { static const u16 sAerodactylTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_AERODACTYL @@ -7935,51 +9171,57 @@ static const u16 sAerodactylTeachableLearnset[] = { static const u16 sMunchlaxTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, + MOVE_PROTECT, + MOVE_PSYCHIC, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_SHADOW_BALL, + MOVE_SHOCK_WAVE, + MOVE_SNATCH, + MOVE_SOLAR_BEAM, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_SURF, + MOVE_THUNDER, + MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_PSYCHIC, - MOVE_RAIN_DANCE, - MOVE_REST, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, MOVE_ROLLOUT, - MOVE_SANDSTORM, - MOVE_SHADOW_BALL, - MOVE_SHOCK_WAVE, MOVE_SLEEP_TALK, - MOVE_SNATCH, MOVE_SNORE, - MOVE_SOLAR_BEAM, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, - MOVE_SURF, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_THUNDER, - MOVE_THUNDERBOLT, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -7987,56 +9229,62 @@ static const u16 sMunchlaxTeachableLearnset[] = { static const u16 sSnorlaxTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_PROTECT, + MOVE_PSYCHIC, + MOVE_RAIN_DANCE, + MOVE_REFLECT, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_SHADOW_BALL, + MOVE_SHOCK_WAVE, + MOVE_SNATCH, + MOVE_SOLAR_BEAM, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_SURF, + MOVE_THUNDER, + MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_PSYCHIC, MOVE_PSYCH_UP, - MOVE_RAIN_DANCE, - MOVE_REFLECT, - MOVE_REST, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, MOVE_ROLLOUT, - MOVE_SANDSTORM, MOVE_SEISMIC_TOSS, - MOVE_SHADOW_BALL, - MOVE_SHOCK_WAVE, MOVE_SLEEP_TALK, - MOVE_SNATCH, MOVE_SNORE, - MOVE_SOLAR_BEAM, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, - MOVE_SURF, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_THUNDER, - MOVE_THUNDERBOLT, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SNORLAX @@ -8045,32 +9293,38 @@ static const u16 sSnorlaxTeachableLearnset[] = { static const u16 sArticunoTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -8078,10 +9332,10 @@ static const u16 sArticunoTeachableLearnset[] = { static const u16 sArticunoGalarTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, @@ -8089,12 +9343,18 @@ static const u16 sArticunoGalarTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -8104,34 +9364,40 @@ static const u16 sArticunoGalarTeachableLearnset[] = { #if P_FAMILY_ZAPDOS static const u16 sZapdosTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FLY, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -8140,25 +9406,31 @@ static const u16 sZapdosGalarTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWIFT, MOVE_TAUNT, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_GALARIAN_FORMS @@ -8167,55 +9439,67 @@ static const u16 sZapdosGalarTeachableLearnset[] = { #if P_FAMILY_MOLTRES static const u16 sMoltresTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #if P_GALARIAN_FORMS static const u16 sMoltresGalarTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_GALARIAN_FORMS @@ -8225,74 +9509,86 @@ static const u16 sMoltresGalarTeachableLearnset[] = { static const u16 sDratiniTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sDragonairTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -8300,60 +9596,66 @@ static const u16 sDragoniteTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FLY, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DRATINI @@ -8362,66 +9664,72 @@ static const u16 sDragoniteTeachableLearnset[] = { static const u16 sMewtwoTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MEWTWO @@ -8429,6 +9737,94 @@ static const u16 sMewtwoTeachableLearnset[] = { #if P_FAMILY_MEW // Instead of reading this array for Mew, it checks for exceptions in CanLearnTeachableMove instead. static const u16 sMewTeachableLearnset[] = { + MOVE_AERIAL_ACE, + MOVE_ATTRACT, + MOVE_BLIZZARD, + MOVE_BRICK_BREAK, + MOVE_BULK_UP, + MOVE_BULLET_SEED, + MOVE_CALM_MIND, + MOVE_CUT, + MOVE_DIG, + MOVE_DIVE, + MOVE_DOUBLE_TEAM, + MOVE_DRAGON_CLAW, + MOVE_EARTHQUAKE, + MOVE_FACADE, + MOVE_FIRE_BLAST, + MOVE_FLAMETHROWER, + MOVE_FLASH, + MOVE_FLY, + MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_GIGA_DRAIN, + MOVE_HAIL, + MOVE_HIDDEN_POWER, + MOVE_HYPER_BEAM, + MOVE_ICE_BEAM, + MOVE_IRON_TAIL, + MOVE_LIGHT_SCREEN, + MOVE_OVERHEAT, + MOVE_PROTECT, + MOVE_PSYCHIC, + MOVE_RAIN_DANCE, + MOVE_REFLECT, + MOVE_REST, + MOVE_RETURN, + MOVE_ROAR, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SAFEGUARD, + MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_SHADOW_BALL, + MOVE_SHOCK_WAVE, + MOVE_SKILL_SWAP, + MOVE_SLUDGE_BOMB, + MOVE_SNATCH, + MOVE_SOLAR_BEAM, + MOVE_STEEL_WING, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_SURF, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_THUNDER, + MOVE_THUNDERBOLT, + MOVE_TORMENT, + MOVE_TOXIC, + MOVE_WATERFALL, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SOFT_BOILED, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MEW @@ -8436,97 +9832,115 @@ static const u16 sMewTeachableLearnset[] = { #if P_FAMILY_CHIKORITA static const u16 sChikoritaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, - MOVE_COUNTER, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sBayleefTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, - MOVE_COUNTER, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sMeganiumTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, - MOVE_COUNTER, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CHIKORITA @@ -8535,142 +9949,166 @@ static const u16 sMeganiumTeachableLearnset[] = { static const u16 sCyndaquilTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, + MOVE_SECRET_POWER, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, MOVE_ROLLOUT, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sQuilavaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, MOVE_ROLLOUT, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sTyphlosionTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #if P_HISUIAN_FORMS static const u16 sTyphlosionHisuiTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, - MOVE_ROLLOUT, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, @@ -8683,42 +10121,48 @@ static const u16 sTotodileTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_SEISMIC_TOSS, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -8726,46 +10170,52 @@ static const u16 sCroconawTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SEISMIC_TOSS, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -8773,48 +10223,54 @@ static const u16 sFeraligatrTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SEISMIC_TOSS, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TOTODILE @@ -8823,89 +10279,101 @@ static const u16 sFeraligatrTeachableLearnset[] = { static const u16 sSentretTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; static const u16 sFurretTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_ROLLOUT, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SENTRET @@ -8915,63 +10383,75 @@ static const u16 sHoothootTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FLY, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sNoctowlTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_HOOTHOOT @@ -8981,34 +10461,40 @@ static const u16 sLedybaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, - MOVE_ICE_PUNCH, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -9016,37 +10502,43 @@ static const u16 sLedianTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_LIGHT_SCREEN, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_ROLLOUT, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LEDYBA @@ -9054,51 +10546,63 @@ static const u16 sLedianTeachableLearnset[] = { #if P_FAMILY_SPINARAK static const u16 sSpinarakTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sAriadosTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SPINARAK @@ -9108,28 +10612,34 @@ static const u16 sChinchouTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -9137,29 +10647,35 @@ static const u16 sLanturnTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CHINCHOU @@ -9168,95 +10684,107 @@ static const u16 sLanturnTeachableLearnset[] = { static const u16 sTogepiTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_ROLLOUT, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, + MOVE_SOLAR_BEAM, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, MOVE_SOFT_BOILED, - MOVE_SOLAR_BEAM, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_THUNDER_WAVE, - MOVE_TOXIC, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; static const u16 sTogeticTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_FLY, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_ROLLOUT, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SOFT_BOILED, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SOFT_BOILED, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_THUNDER_WAVE, - MOVE_TOXIC, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; @@ -9264,46 +10792,52 @@ static const u16 sTogeticTeachableLearnset[] = { static const u16 sTogekissTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_FLY, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_ROLLOUT, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_THUNDER_WAVE, - MOVE_TOXIC, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -9314,32 +10848,38 @@ static const u16 sNatuTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_THIEF, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -9347,34 +10887,40 @@ static const u16 sXatuTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FLY, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_THIEF, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_NATU @@ -9382,118 +10928,136 @@ static const u16 sXatuTeachableLearnset[] = { #if P_FAMILY_MAREEP static const u16 sMareepTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sFlaaffyTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, - MOVE_ICE_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sAmpharosTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MAREEP @@ -9503,30 +11067,36 @@ static const u16 sAmpharosTeachableLearnset[] = { static const u16 sAzurillTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_GEN_3_CROSS_EVOS @@ -9534,85 +11104,97 @@ static const u16 sAzurillTeachableLearnset[] = { static const u16 sMarillTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_DEFENSE_CURL, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SURF, + MOVE_TOXIC, + MOVE_WATERFALL, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, MOVE_ROLLOUT, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SURF, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, - MOVE_WATERFALL, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; static const u16 sAzumarillTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_DEFENSE_CURL, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SURF, + MOVE_TOXIC, + MOVE_WATERFALL, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, MOVE_ROLLOUT, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SURF, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, - MOVE_WATERFALL, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MARILL @@ -9621,77 +11203,89 @@ static const u16 sAzumarillTeachableLearnset[] = { #if P_GEN_4_CROSS_EVOS static const u16 sBonslyTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS static const u16 sSudowoodoTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, + MOVE_DIG, + MOVE_DOUBLE_TEAM, + MOVE_EARTHQUAKE, + MOVE_FACADE, + MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, + MOVE_HYPER_BEAM, + MOVE_PROTECT, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_TORMENT, + MOVE_TOXIC, + MOVE_BODY_SLAM, MOVE_COUNTER, MOVE_DEFENSE_CURL, - MOVE_DIG, MOVE_DOUBLE_EDGE, - MOVE_DOUBLE_TEAM, MOVE_DYNAMIC_PUNCH, - MOVE_EARTHQUAKE, MOVE_ENDURE, MOVE_EXPLOSION, - MOVE_FACADE, MOVE_FIRE_PUNCH, - MOVE_FOCUS_PUNCH, - MOVE_HYPER_BEAM, MOVE_ICE_PUNCH, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, MOVE_PSYCH_UP, - MOVE_REST, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, MOVE_ROLLOUT, - MOVE_SANDSTORM, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TAUNT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TORMENT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SUDOWOODO @@ -9701,27 +11295,33 @@ static const u16 sHoppipTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BULLET_SEED, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -9729,27 +11329,33 @@ static const u16 sSkiploomTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BULLET_SEED, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -9757,28 +11363,34 @@ static const u16 sJumpluffTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BULLET_SEED, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_HOPPIP @@ -9787,50 +11399,56 @@ static const u16 sJumpluffTeachableLearnset[] = { static const u16 sAipomTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, - MOVE_ICE_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -9839,44 +11457,50 @@ static const u16 sAmbipomTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_IRON_TAIL, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -9887,25 +11511,31 @@ static const u16 sSunkernTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -9913,26 +11543,32 @@ static const u16 sSunfloraTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SUNKERN @@ -9941,28 +11577,34 @@ static const u16 sSunfloraTeachableLearnset[] = { static const u16 sYanmaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -9970,30 +11612,36 @@ static const u16 sYanmaTeachableLearnset[] = { static const u16 sYanmegaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -10003,140 +11651,164 @@ static const u16 sYanmegaTeachableLearnset[] = { static const u16 sWooperTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sQuagsireTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SEISMIC_TOSS, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #if P_PALDEAN_FORMS static const u16 sWooperPaldeaTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SURF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sClodsireTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SURF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_PALDEAN_FORMS @@ -10147,33 +11819,39 @@ static const u16 sMurkrowTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -10182,33 +11860,39 @@ static const u16 sHonchkrowTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -10219,36 +11903,42 @@ static const u16 sMisdreavusTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_CALM_MIND, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -10258,33 +11948,39 @@ static const u16 sMismagiusTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -10292,6 +11988,7 @@ static const u16 sMismagiusTeachableLearnset[] = { #if P_FAMILY_UNOWN static const u16 sUnownTeachableLearnset[] = { + MOVE_HIDDEN_POWER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_UNOWN @@ -10299,15 +11996,15 @@ static const u16 sUnownTeachableLearnset[] = { #if P_FAMILY_WOBBUFFET #if P_GEN_3_CROSS_EVOS static const u16 sWynautTeachableLearnset[] = { - MOVE_COUNTER, MOVE_SAFEGUARD, + MOVE_COUNTER, MOVE_UNAVAILABLE, }; #endif //P_GEN_3_CROSS_EVOS static const u16 sWobbuffetTeachableLearnset[] = { - MOVE_COUNTER, MOVE_SAFEGUARD, + MOVE_COUNTER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_WOBBUFFET @@ -10315,68 +12012,80 @@ static const u16 sWobbuffetTeachableLearnset[] = { #if P_FAMILY_GIRAFARIG static const u16 sGirafarigTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #if P_GEN_9_CROSS_EVOS static const u16 sFarigirafTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SUNNY_DAY, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -10386,71 +12095,83 @@ static const u16 sFarigirafTeachableLearnset[] = { #if P_FAMILY_PINECO static const u16 sPinecoTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sForretressTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PINECO @@ -10459,81 +12180,93 @@ static const u16 sForretressTeachableLearnset[] = { static const u16 sDunsparceTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #if P_GEN_9_CROSS_EVOS static const u16 sDudunsparceTeachableLearnset[] = { MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_GEN_9_CROSS_EVOS @@ -10544,38 +12277,44 @@ static const u16 sGligarTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -10584,38 +12323,44 @@ static const u16 sGliscorTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -10624,109 +12369,121 @@ static const u16 sGliscorTeachableLearnset[] = { #if P_FAMILY_SNUBBULL static const u16 sSnubbullTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_ICE_PUNCH, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sGranbullTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SNUBBULL @@ -10735,82 +12492,100 @@ static const u16 sGranbullTeachableLearnset[] = { static const u16 sQwilfishTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_DEFENSE_CURL, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #if P_HISUIAN_FORMS static const u16 sQwilfishHisuiTeachableLearnset[] = { MOVE_BLIZZARD, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, MOVE_SURF, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sOverqwilTeachableLearnset[] = { MOVE_BLIZZARD, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, MOVE_SURF, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_HISUIAN_FORMS @@ -10819,31 +12594,37 @@ static const u16 sOverqwilTeachableLearnset[] = { #if P_FAMILY_SHUCKLE static const u16 sShuckleTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SHUCKLE @@ -10852,37 +12633,43 @@ static const u16 sShuckleTeachableLearnset[] = { static const u16 sHeracrossTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_BULLET_SEED, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_THIEF, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_HERACROSS @@ -10894,47 +12681,53 @@ static const u16 sSneaselTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -10945,46 +12738,52 @@ static const u16 sWeavileTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_COUNTER, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -10995,25 +12794,31 @@ static const u16 sSneaselHisuiTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_DIG, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -11022,29 +12827,35 @@ static const u16 sSneaslerTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_DIG, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_HISUIAN_FORMS @@ -11054,166 +12865,190 @@ static const u16 sSneaslerTeachableLearnset[] = { static const u16 sTeddiursaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROAR, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_TORMENT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, MOVE_FURY_CUTTER, MOVE_ICE_PUNCH, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_REST, - MOVE_ROAR, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, MOVE_ROLLOUT, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TORMENT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sUrsaringTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROAR, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_TORMENT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, MOVE_ICE_PUNCH, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_REST, - MOVE_ROAR, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, MOVE_ROLLOUT, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TORMENT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #if P_GEN_8_CROSS_EVOS static const u16 sUrsalunaTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, - MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; static const u16 sUrsalunaBloodmoonTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; @@ -11223,65 +13058,77 @@ static const u16 sUrsalunaBloodmoonTeachableLearnset[] = { #if P_FAMILY_SLUGMA static const u16 sSlugmaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sMagcargoTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SLUGMA @@ -11290,67 +13137,79 @@ static const u16 sMagcargoTeachableLearnset[] = { static const u16 sSwinubTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sPiloswineTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -11358,34 +13217,40 @@ static const u16 sPiloswineTeachableLearnset[] = { static const u16 sMamoswineTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -11395,41 +13260,47 @@ static const u16 sMamoswineTeachableLearnset[] = { static const u16 sCorsolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -11437,65 +13308,77 @@ static const u16 sCorsolaTeachableLearnset[] = { static const u16 sCorsolaGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIG, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, MOVE_SURF, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sCursolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIG, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, MOVE_SURF, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_GALARIAN_FORMS @@ -11506,33 +13389,39 @@ static const u16 sRemoraidTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_BULLET_SEED, - MOVE_DEFENSE_CURL, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -11540,35 +13429,41 @@ static const u16 sOctilleryTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_BULLET_SEED, - MOVE_DEFENSE_CURL, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SEISMIC_TOSS, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_REMORAID @@ -11578,36 +13473,42 @@ static const u16 sDelibirdTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_STEEL_WING, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_REST, MOVE_ROLLOUT, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STEEL_WING, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_THIEF, - MOVE_TOXIC, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DELIBIRD @@ -11619,27 +13520,33 @@ static const u16 sMantykeTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -11648,32 +13555,38 @@ static const u16 sMantineTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MANTINE @@ -11682,36 +13595,42 @@ static const u16 sMantineTeachableLearnset[] = { static const u16 sSkarmoryTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_COUNTER, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FLY, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SKARMORY @@ -11719,73 +13638,85 @@ static const u16 sSkarmoryTeachableLearnset[] = { #if P_FAMILY_HOUNDOUR static const u16 sHoundourTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sHoundoomTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_HOUNDOUR @@ -11793,66 +13724,78 @@ static const u16 sHoundoomTeachableLearnset[] = { #if P_FAMILY_PHANPY static const u16 sPhanpyTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sDonphanTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PHANPY @@ -11860,72 +13803,84 @@ static const u16 sDonphanTeachableLearnset[] = { #if P_FAMILY_STANTLER static const u16 sStantlerTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #if P_GEN_8_CROSS_EVOS static const u16 sWyrdeerTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -11942,129 +13897,147 @@ static const u16 sSmeargleTeachableLearnset[] = { static const u16 sMiltankTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MILTANK #if P_FAMILY_RAIKOU static const u16 sRaikouTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_RAIKOU #if P_FAMILY_ENTEI static const u16 sEnteiTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ENTEI @@ -12072,39 +14045,45 @@ static const u16 sEnteiTeachableLearnset[] = { #if P_FAMILY_SUICUNE static const u16 sSuicuneTeachableLearnset[] = { MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_CUT, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SUICUNE @@ -12112,62 +14091,74 @@ static const u16 sSuicuneTeachableLearnset[] = { #if P_FAMILY_LARVITAR static const u16 sLarvitarTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sPupitarTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -12175,55 +14166,61 @@ static const u16 sTyranitarTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LARVITAR @@ -12232,52 +14229,58 @@ static const u16 sTyranitarTeachableLearnset[] = { static const u16 sLugiaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FLY, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LUGIA @@ -12285,47 +14288,53 @@ static const u16 sLugiaTeachableLearnset[] = { #if P_FAMILY_HO_OH static const u16 sHoOhTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_FLY, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_HO_OH @@ -12335,39 +14344,45 @@ static const u16 sCelebiTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_CALM_MIND, MOVE_CUT, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_WATER_PULSE, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, - MOVE_TOXIC, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CELEBI @@ -12376,133 +14391,151 @@ static const u16 sCelebiTeachableLearnset[] = { static const u16 sTreeckoTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sGrovyleTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sSceptileTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TREECKO @@ -12511,122 +14544,140 @@ static const u16 sSceptileTeachableLearnset[] = { static const u16 sTorchicTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sCombuskenTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sBlazikenTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SEISMIC_TOSS, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TORCHIC @@ -12635,126 +14686,144 @@ static const u16 sBlazikenTeachableLearnset[] = { static const u16 sMudkipTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sMarshtompTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SURF, + MOVE_TOXIC, + MOVE_WATERFALL, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_ROLLOUT, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SURF, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TOXIC, - MOVE_WATERFALL, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; static const u16 sSwampertTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SURF, + MOVE_TOXIC, + MOVE_WATERFALL, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_ROLLOUT, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SURF, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TOXIC, - MOVE_WATERFALL, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MUDKIP @@ -12762,63 +14831,75 @@ static const u16 sSwampertTeachableLearnset[] = { #if P_FAMILY_POOCHYENA static const u16 sPoochyenaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sMightyenaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_POOCHYENA @@ -12827,79 +14908,91 @@ static const u16 sMightyenaTeachableLearnset[] = { static const u16 sZigzagoonTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_ROLLOUT, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sLinooneTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, - MOVE_ROLLOUT, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -12907,28 +15000,34 @@ static const u16 sLinooneTeachableLearnset[] = { static const u16 sZigzagoonGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -12936,29 +15035,35 @@ static const u16 sZigzagoonGalarTeachableLearnset[] = { static const u16 sLinooneGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -12966,35 +15071,41 @@ static const u16 sLinooneGalarTeachableLearnset[] = { static const u16 sObstagoonTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, @@ -13015,26 +15126,32 @@ static const u16 sSilcoonTeachableLearnset[] = { static const u16 sBeautiflyTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -13045,27 +15162,33 @@ static const u16 sCascoonTeachableLearnset[] = { static const u16 sDustoxTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_WURMPLE @@ -13074,123 +15197,141 @@ static const u16 sDustoxTeachableLearnset[] = { static const u16 sLotadTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sLombreTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, - MOVE_COUNTER, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, + MOVE_SOLAR_BEAM, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_SURF, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_WATERFALL, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_REST, - MOVE_ROCK_SMASH, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SOLAR_BEAM, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, - MOVE_SURF, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, - MOVE_WATERFALL, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; static const u16 sLudicoloTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, - MOVE_COUNTER, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, + MOVE_SOLAR_BEAM, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_SURF, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_WATERFALL, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_REST, - MOVE_ROCK_SMASH, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SOLAR_BEAM, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, - MOVE_SURF, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, - MOVE_WATERFALL, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LOTAD @@ -13198,117 +15339,135 @@ static const u16 sLudicoloTeachableLearnset[] = { #if P_FAMILY_SEEDOT static const u16 sSeedotTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_ROLLOUT, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sNuzleafTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MEGA_KICK, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FURY_CUTTER, + MOVE_MEGA_KICK, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sShiftryTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, - MOVE_MEGA_KICK, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SEEDOT @@ -13317,49 +15476,61 @@ static const u16 sShiftryTeachableLearnset[] = { static const u16 sTaillowTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sSwellowTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TAILLOW @@ -13369,29 +15540,35 @@ static const u16 sWingullTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -13399,31 +15576,37 @@ static const u16 sPelipperTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_WINGULL @@ -13431,141 +15614,159 @@ static const u16 sPelipperTeachableLearnset[] = { #if P_FAMILY_RALTS static const u16 sRaltsTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sKirliaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sGardevoirTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -13573,57 +15774,63 @@ static const u16 sGardevoirTeachableLearnset[] = { static const u16 sGalladeTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -13633,31 +15840,37 @@ static const u16 sGalladeTeachableLearnset[] = { static const u16 sSurskitTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -13665,32 +15878,38 @@ static const u16 sMasquerainTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SURSKIT @@ -13698,76 +15917,88 @@ static const u16 sMasquerainTeachableLearnset[] = { #if P_FAMILY_SHROOMISH static const u16 sShroomishTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sBreloomTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_BULLET_SEED, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SHROOMISH @@ -13777,49 +16008,55 @@ static const u16 sSlakothTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_SHADOW_BALL, + MOVE_SHOCK_WAVE, + MOVE_SOLAR_BEAM, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_THUNDER, + MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_REST, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, MOVE_SEISMIC_TOSS, - MOVE_SHADOW_BALL, - MOVE_SHOCK_WAVE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SOLAR_BEAM, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_THIEF, - MOVE_THUNDER, - MOVE_THUNDERBOLT, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; @@ -13827,54 +16064,60 @@ static const u16 sVigorothTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROAR, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_SHADOW_BALL, + MOVE_SHOCK_WAVE, + MOVE_SOLAR_BEAM, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_THUNDER, + MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_REST, - MOVE_ROAR, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, MOVE_SEISMIC_TOSS, - MOVE_SHADOW_BALL, - MOVE_SHOCK_WAVE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SOLAR_BEAM, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TAUNT, - MOVE_THIEF, - MOVE_THUNDER, - MOVE_THUNDERBOLT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; @@ -13882,55 +16125,61 @@ static const u16 sSlakingTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROAR, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_SHADOW_BALL, + MOVE_SHOCK_WAVE, + MOVE_SOLAR_BEAM, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_THUNDER, + MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_REST, - MOVE_ROAR, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, MOVE_SEISMIC_TOSS, - MOVE_SHADOW_BALL, - MOVE_SHOCK_WAVE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SOLAR_BEAM, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TAUNT, - MOVE_THIEF, - MOVE_THUNDER, - MOVE_THUNDERBOLT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SLAKOTH @@ -13940,24 +16189,30 @@ static const u16 sNincadaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, - MOVE_MUD_SLAP, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -13966,28 +16221,34 @@ static const u16 sNinjaskTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -13995,27 +16256,33 @@ static const u16 sShedinjaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_NINCADA @@ -14024,140 +16291,158 @@ static const u16 sShedinjaTeachableLearnset[] = { static const u16 sWhismurTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_DOUBLE_TEAM, + MOVE_FACADE, + MOVE_FIRE_BLAST, + MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, + MOVE_ICE_BEAM, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROAR, + MOVE_SECRET_POWER, + MOVE_SHADOW_BALL, + MOVE_SHOCK_WAVE, + MOVE_SOLAR_BEAM, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_WATER_PULSE, MOVE_BODY_SLAM, MOVE_COUNTER, MOVE_DEFENSE_CURL, MOVE_DOUBLE_EDGE, - MOVE_DOUBLE_TEAM, MOVE_DYNAMIC_PUNCH, MOVE_ENDURE, - MOVE_FACADE, - MOVE_FIRE_BLAST, MOVE_FIRE_PUNCH, - MOVE_FLAMETHROWER, - MOVE_ICE_BEAM, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, MOVE_PSYCH_UP, - MOVE_RAIN_DANCE, - MOVE_REST, - MOVE_ROAR, MOVE_ROLLOUT, MOVE_SEISMIC_TOSS, - MOVE_SHADOW_BALL, - MOVE_SHOCK_WAVE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SOLAR_BEAM, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; static const u16 sLoudredTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_DOUBLE_TEAM, + MOVE_EARTHQUAKE, + MOVE_FACADE, + MOVE_FIRE_BLAST, + MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, + MOVE_ICE_BEAM, + MOVE_OVERHEAT, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROAR, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_SHADOW_BALL, + MOVE_SHOCK_WAVE, + MOVE_SOLAR_BEAM, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_TORMENT, + MOVE_TOXIC, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, MOVE_COUNTER, MOVE_DEFENSE_CURL, MOVE_DOUBLE_EDGE, - MOVE_DOUBLE_TEAM, MOVE_DYNAMIC_PUNCH, - MOVE_EARTHQUAKE, MOVE_ENDURE, - MOVE_FACADE, - MOVE_FIRE_BLAST, MOVE_FIRE_PUNCH, - MOVE_FLAMETHROWER, - MOVE_ICE_BEAM, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_OVERHEAT, - MOVE_PROTECT, MOVE_PSYCH_UP, - MOVE_RAIN_DANCE, - MOVE_REST, - MOVE_ROAR, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, MOVE_ROLLOUT, MOVE_SEISMIC_TOSS, - MOVE_SHADOW_BALL, - MOVE_SHOCK_WAVE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SOLAR_BEAM, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TAUNT, MOVE_THUNDER_PUNCH, - MOVE_TORMENT, - MOVE_TOXIC, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; static const u16 sExploudTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, MOVE_TAUNT, - MOVE_THUNDER_PUNCH, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_WHISMUR @@ -14165,84 +16450,96 @@ static const u16 sExploudTeachableLearnset[] = { #if P_FAMILY_MAKUHITA static const u16 sMakuhitaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_SURF, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_REST, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, - MOVE_SURF, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TAUNT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sHariyamaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_SURF, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_REST, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, - MOVE_SURF, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TAUNT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MAKUHITA @@ -14250,75 +16547,87 @@ static const u16 sHariyamaTeachableLearnset[] = { #if P_FAMILY_NOSEPASS static const u16 sNosepassTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, - MOVE_FIRE_PUNCH, - MOVE_ICE_PUNCH, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #if P_GEN_4_CROSS_EVOS static const u16 sProbopassTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, - MOVE_FIRE_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -14328,81 +16637,93 @@ static const u16 sProbopassTeachableLearnset[] = { static const u16 sSkittyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sDelcattyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_ROLLOUT, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SKITTY @@ -14411,56 +16732,62 @@ static const u16 sDelcattyTeachableLearnset[] = { static const u16 sSableyeTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SABLEYE @@ -14468,47 +16795,53 @@ static const u16 sSableyeTeachableLearnset[] = { #if P_FAMILY_MAWILE static const u16 sMawileTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_SHADOW_BALL, + MOVE_SLUDGE_BOMB, + MOVE_SNATCH, + MOVE_SOLAR_BEAM, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_TORMENT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, MOVE_PSYCH_UP, - MOVE_RAIN_DANCE, - MOVE_REST, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, - MOVE_SANDSTORM, MOVE_SEISMIC_TOSS, - MOVE_SHADOW_BALL, MOVE_SLEEP_TALK, - MOVE_SLUDGE_BOMB, - MOVE_SNATCH, MOVE_SNORE, - MOVE_SOLAR_BEAM, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TAUNT, MOVE_THUNDER_PUNCH, - MOVE_TORMENT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MAWILE @@ -14517,70 +16850,82 @@ static const u16 sMawileTeachableLearnset[] = { static const u16 sAronTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sLaironTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -14588,57 +16933,63 @@ static const u16 sAggronTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ARON @@ -14647,97 +16998,109 @@ static const u16 sAggronTeachableLearnset[] = { static const u16 sMedititeTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, - MOVE_ICE_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; static const u16 sMedichamTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MEDITITE @@ -14745,63 +17108,75 @@ static const u16 sMedichamTeachableLearnset[] = { #if P_FAMILY_ELECTRIKE static const u16 sElectrikeTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLAMETHROWER, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sManectricTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLAMETHROWER, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ELECTRIKE @@ -14809,37 +17184,43 @@ static const u16 sManectricTeachableLearnset[] = { #if P_FAMILY_PLUSLE static const u16 sPlusleTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_DOUBLE_TEAM, + MOVE_FACADE, + MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, + MOVE_IRON_TAIL, + MOVE_LIGHT_SCREEN, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_SHOCK_WAVE, + MOVE_SKILL_SWAP, + MOVE_THUNDER, + MOVE_THUNDERBOLT, + MOVE_TOXIC, MOVE_BODY_SLAM, MOVE_COUNTER, MOVE_DEFENSE_CURL, MOVE_DOUBLE_EDGE, - MOVE_DOUBLE_TEAM, MOVE_DYNAMIC_PUNCH, MOVE_ENDURE, - MOVE_FACADE, - MOVE_FLASH, - MOVE_IRON_TAIL, - MOVE_LIGHT_SCREEN, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_REST, MOVE_ROLLOUT, MOVE_SEISMIC_TOSS, - MOVE_SHOCK_WAVE, - MOVE_SKILL_SWAP, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_THUNDER, - MOVE_THUNDERBOLT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PLUSLE @@ -14847,36 +17228,42 @@ static const u16 sPlusleTeachableLearnset[] = { #if P_FAMILY_MINUN static const u16 sMinunTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_DOUBLE_TEAM, + MOVE_FACADE, + MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, + MOVE_IRON_TAIL, + MOVE_LIGHT_SCREEN, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_SHOCK_WAVE, + MOVE_THUNDER, + MOVE_THUNDERBOLT, + MOVE_TOXIC, MOVE_BODY_SLAM, MOVE_COUNTER, MOVE_DEFENSE_CURL, MOVE_DOUBLE_EDGE, - MOVE_DOUBLE_TEAM, MOVE_DYNAMIC_PUNCH, MOVE_ENDURE, - MOVE_FACADE, - MOVE_FLASH, - MOVE_IRON_TAIL, - MOVE_LIGHT_SCREEN, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_REST, MOVE_ROLLOUT, MOVE_SEISMIC_TOSS, - MOVE_SHOCK_WAVE, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_THUNDER, - MOVE_THUNDERBOLT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MINUN @@ -14885,87 +17272,99 @@ static const u16 sMinunTeachableLearnset[] = { static const u16 sVolbeatTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, - MOVE_ICE_PUNCH, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SEISMIC_TOSS, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sIllumiseTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, - MOVE_ICE_PUNCH, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SEISMIC_TOSS, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_VOLBEAT_ILLUMISE @@ -14977,87 +17376,105 @@ static const u16 sBudewTeachableLearnset[] = { MOVE_BULLET_SEED, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, - MOVE_MUD_SLAP, + MOVE_HIDDEN_POWER, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS static const u16 sRoseliaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, - MOVE_MUD_SLAP, + MOVE_HIDDEN_POWER, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #if P_GEN_4_CROSS_EVOS static const u16 sRoseradeTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -15066,89 +17483,101 @@ static const u16 sRoseradeTeachableLearnset[] = { #if P_FAMILY_GULPIN static const u16 sGulpinTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, + MOVE_DOUBLE_TEAM, + MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, + MOVE_ICE_BEAM, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, + MOVE_SHADOW_BALL, + MOVE_SHOCK_WAVE, + MOVE_SLUDGE_BOMB, + MOVE_SNATCH, + MOVE_SOLAR_BEAM, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, MOVE_COUNTER, MOVE_DEFENSE_CURL, MOVE_DOUBLE_EDGE, - MOVE_DOUBLE_TEAM, MOVE_DREAM_EATER, MOVE_DYNAMIC_PUNCH, MOVE_ENDURE, MOVE_EXPLOSION, - MOVE_FACADE, MOVE_FIRE_PUNCH, - MOVE_GIGA_DRAIN, - MOVE_ICE_BEAM, MOVE_ICE_PUNCH, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_REST, - MOVE_ROCK_SMASH, MOVE_ROLLOUT, - MOVE_SHADOW_BALL, - MOVE_SHOCK_WAVE, MOVE_SLEEP_TALK, - MOVE_SLUDGE_BOMB, - MOVE_SNATCH, MOVE_SNORE, - MOVE_SOLAR_BEAM, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_THIEF, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; static const u16 sSwalotTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, - MOVE_FIRE_PUNCH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_ROLLOUT, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GULPIN @@ -15158,29 +17587,35 @@ static const u16 sCarvanhaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -15188,35 +17623,41 @@ static const u16 sSharpedoTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CARVANHA @@ -15225,65 +17666,77 @@ static const u16 sSharpedoTeachableLearnset[] = { static const u16 sWailmerTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_DEFENSE_CURL, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sWailordTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_DEFENSE_CURL, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_WAILMER @@ -15291,68 +17744,80 @@ static const u16 sWailordTeachableLearnset[] = { #if P_FAMILY_NUMEL static const u16 sNumelTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sCameruptTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_NUMEL @@ -15360,34 +17825,40 @@ static const u16 sCameruptTeachableLearnset[] = { #if P_FAMILY_TORKOAL static const u16 sTorkoalTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TORKOAL @@ -15395,87 +17866,99 @@ static const u16 sTorkoalTeachableLearnset[] = { #if P_FAMILY_SPOINK static const u16 sSpoinkTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_ICY_WIND, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sGrumpigTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_SEISMIC_TOSS, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SPOINK @@ -15483,52 +17966,58 @@ static const u16 sGrumpigTeachableLearnset[] = { #if P_FAMILY_SPINDA static const u16 sSpindaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, + MOVE_DIG, + MOVE_DOUBLE_TEAM, + MOVE_FACADE, + MOVE_FLASH, + MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, + MOVE_PROTECT, + MOVE_PSYCHIC, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SAFEGUARD, + MOVE_SECRET_POWER, + MOVE_SHADOW_BALL, + MOVE_SHOCK_WAVE, + MOVE_SKILL_SWAP, + MOVE_SNATCH, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, MOVE_COUNTER, MOVE_DEFENSE_CURL, - MOVE_DIG, MOVE_DOUBLE_EDGE, - MOVE_DOUBLE_TEAM, MOVE_DREAM_EATER, MOVE_DYNAMIC_PUNCH, MOVE_ENDURE, - MOVE_FACADE, MOVE_FIRE_PUNCH, - MOVE_FLASH, - MOVE_FOCUS_PUNCH, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_PSYCHIC, MOVE_PSYCH_UP, - MOVE_RAIN_DANCE, - MOVE_REST, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, MOVE_ROLLOUT, - MOVE_SAFEGUARD, MOVE_SEISMIC_TOSS, - MOVE_SHADOW_BALL, - MOVE_SHOCK_WAVE, - MOVE_SKILL_SWAP, MOVE_SLEEP_TALK, - MOVE_SNATCH, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SPINDA @@ -15536,105 +18025,123 @@ static const u16 sSpindaTeachableLearnset[] = { #if P_FAMILY_TRAPINCH static const u16 sTrapinchTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sVibravaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sFlygonTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FLY, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TRAPINCH @@ -15642,80 +18149,92 @@ static const u16 sFlygonTeachableLearnset[] = { #if P_FAMILY_CACNEA static const u16 sCacneaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_SOLAR_BEAM, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SOLAR_BEAM, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sCacturneTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SANDSTORM, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CACNEA @@ -15724,66 +18243,78 @@ static const u16 sCacturneTeachableLearnset[] = { static const u16 sSwabluTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sAltariaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SWABLU @@ -15793,58 +18324,64 @@ static const u16 sZangooseTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ZANGOOSE @@ -15852,36 +18389,42 @@ static const u16 sZangooseTeachableLearnset[] = { #if P_FAMILY_SEVIPER static const u16 sSeviperTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLAMETHROWER, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SEVIPER @@ -15889,83 +18432,95 @@ static const u16 sSeviperTeachableLearnset[] = { #if P_FAMILY_LUNATONE static const u16 sLunatoneTeachableLearnset[] = { MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LUNATONE #if P_FAMILY_SOLROCK static const u16 sSolrockTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SOLROCK @@ -15975,30 +18530,36 @@ static const u16 sBarboachTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -16006,35 +18567,41 @@ static const u16 sWhiscashTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BARBOACH @@ -16044,38 +18611,44 @@ static const u16 sCorphishTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -16083,41 +18656,47 @@ static const u16 sCrawdauntTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CORPHISH @@ -16126,73 +18705,85 @@ static const u16 sCrawdauntTeachableLearnset[] = { static const u16 sBaltoyTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sClaydolTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BALTOY @@ -16200,62 +18791,74 @@ static const u16 sClaydolTeachableLearnset[] = { #if P_FAMILY_LILEEP static const u16 sLileepTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, - MOVE_MUD_SLAP, + MOVE_HIDDEN_POWER, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sCradilyTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LILEEP @@ -16264,63 +18867,75 @@ static const u16 sCradilyTeachableLearnset[] = { static const u16 sAnorithTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sArmaldoTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ANORITH @@ -16330,58 +18945,70 @@ static const u16 sFeebasTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sMiloticTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FEEBAS @@ -16390,37 +19017,43 @@ static const u16 sMiloticTeachableLearnset[] = { static const u16 sCastformTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CASTFORM @@ -16430,58 +19063,64 @@ static const u16 sKecleonTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KECLEON @@ -16489,74 +19128,86 @@ static const u16 sKecleonTeachableLearnset[] = { #if P_FAMILY_SHUPPET static const u16 sShuppetTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_ICY_WIND, - MOVE_METRONOME, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sBanetteTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SHUPPET @@ -16565,82 +19216,94 @@ static const u16 sBanetteTeachableLearnset[] = { static const u16 sDuskullTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sDusclopsTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_PROTECT, + MOVE_PSYCHIC, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_SHADOW_BALL, + MOVE_SKILL_SWAP, + MOVE_SNATCH, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_TORMENT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_PSYCHIC, MOVE_PSYCH_UP, - MOVE_RAIN_DANCE, - MOVE_REST, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, MOVE_SEISMIC_TOSS, - MOVE_SHADOW_BALL, - MOVE_SKILL_SWAP, MOVE_SLEEP_TALK, - MOVE_SNATCH, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TAUNT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TORMENT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -16648,47 +19311,53 @@ static const u16 sDusclopsTeachableLearnset[] = { static const u16 sDusknoirTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_PROTECT, + MOVE_PSYCHIC, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_SHADOW_BALL, + MOVE_SKILL_SWAP, + MOVE_SNATCH, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_TORMENT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_PSYCHIC, MOVE_PSYCH_UP, - MOVE_RAIN_DANCE, - MOVE_REST, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, - MOVE_SHADOW_BALL, - MOVE_SKILL_SWAP, MOVE_SLEEP_TALK, - MOVE_SNATCH, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TAUNT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TORMENT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -16698,36 +19367,42 @@ static const u16 sDusknoirTeachableLearnset[] = { static const u16 sTropiusTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CALM_MIND, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FLY, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TROPIUS @@ -16737,35 +19412,41 @@ static const u16 sTropiusTeachableLearnset[] = { static const u16 sChinglingTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_ICY_WIND, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -16773,36 +19454,42 @@ static const u16 sChinglingTeachableLearnset[] = { static const u16 sChimechoTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_ICY_WIND, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CHIMECHO @@ -16812,51 +19499,57 @@ static const u16 sAbsolTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ABSOL @@ -16865,60 +19558,72 @@ static const u16 sAbsolTeachableLearnset[] = { static const u16 sSnoruntTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sGlalieTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -16926,40 +19631,46 @@ static const u16 sGlalieTeachableLearnset[] = { static const u16 sFroslassTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -16969,107 +19680,125 @@ static const u16 sFroslassTeachableLearnset[] = { static const u16 sSphealTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_DEFENSE_CURL, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sSealeoTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_DEFENSE_CURL, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sWalreinTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_DEFENSE_CURL, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SPHEAL @@ -17078,87 +19807,105 @@ static const u16 sWalreinTeachableLearnset[] = { static const u16 sClamperlTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sHuntailTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SNATCH, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sGorebyssTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CLAMPERL @@ -17167,35 +19914,41 @@ static const u16 sGorebyssTeachableLearnset[] = { static const u16 sRelicanthTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_RELICANTH @@ -17205,26 +19958,32 @@ static const u16 sLuvdiscTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LUVDISC @@ -17233,104 +19992,122 @@ static const u16 sLuvdiscTeachableLearnset[] = { static const u16 sBagonTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, - MOVE_FURY_CUTTER, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sShelgonTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, - MOVE_FURY_CUTTER, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_ROLLOUT, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sSalamenceTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLY, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BAGON @@ -17342,137 +20119,155 @@ static const u16 sBeldumTeachableLearnset[] = { static const u16 sMetangTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sMetagrossTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BELDUM #if P_FAMILY_REGIROCK static const u16 sRegirockTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_DIG, + MOVE_DOUBLE_TEAM, + MOVE_EARTHQUAKE, + MOVE_FACADE, + MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, + MOVE_HYPER_BEAM, + MOVE_PROTECT, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SAFEGUARD, + MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_SHOCK_WAVE, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_THUNDER, + MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_BODY_SLAM, MOVE_COUNTER, MOVE_DEFENSE_CURL, - MOVE_DIG, MOVE_DOUBLE_EDGE, - MOVE_DOUBLE_TEAM, MOVE_DYNAMIC_PUNCH, - MOVE_EARTHQUAKE, MOVE_ENDURE, MOVE_EXPLOSION, - MOVE_FACADE, MOVE_FIRE_PUNCH, - MOVE_FOCUS_PUNCH, - MOVE_HYPER_BEAM, MOVE_ICE_PUNCH, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, MOVE_PSYCH_UP, - MOVE_REST, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, MOVE_ROLLOUT, - MOVE_SAFEGUARD, - MOVE_SANDSTORM, MOVE_SEISMIC_TOSS, - MOVE_SHOCK_WAVE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_THUNDER, - MOVE_THUNDERBOLT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_REGIROCK @@ -17480,46 +20275,52 @@ static const u16 sRegirockTeachableLearnset[] = { #if P_FAMILY_REGICE static const u16 sRegiceTeachableLearnset[] = { MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_DOUBLE_TEAM, + MOVE_EARTHQUAKE, + MOVE_FACADE, + MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HAIL, + MOVE_HIDDEN_POWER, + MOVE_HYPER_BEAM, + MOVE_ICE_BEAM, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SAFEGUARD, + MOVE_SECRET_POWER, + MOVE_SHOCK_WAVE, + MOVE_STRENGTH, + MOVE_THUNDER, + MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_BODY_SLAM, MOVE_COUNTER, MOVE_DEFENSE_CURL, MOVE_DOUBLE_EDGE, - MOVE_DOUBLE_TEAM, MOVE_DYNAMIC_PUNCH, - MOVE_EARTHQUAKE, MOVE_ENDURE, MOVE_EXPLOSION, - MOVE_FACADE, - MOVE_FOCUS_PUNCH, - MOVE_HAIL, - MOVE_HYPER_BEAM, - MOVE_ICE_BEAM, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, MOVE_PSYCH_UP, - MOVE_RAIN_DANCE, - MOVE_REST, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, MOVE_ROLLOUT, - MOVE_SAFEGUARD, MOVE_SEISMIC_TOSS, - MOVE_SHOCK_WAVE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_THUNDER, - MOVE_THUNDERBOLT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_REGICE @@ -17527,45 +20328,51 @@ static const u16 sRegiceTeachableLearnset[] = { #if P_FAMILY_REGISTEEL static const u16 sRegisteelTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_DOUBLE_TEAM, + MOVE_EARTHQUAKE, + MOVE_FACADE, + MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, + MOVE_HYPER_BEAM, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SAFEGUARD, + MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_SHOCK_WAVE, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_THUNDER, + MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_BODY_SLAM, MOVE_COUNTER, MOVE_DEFENSE_CURL, MOVE_DOUBLE_EDGE, - MOVE_DOUBLE_TEAM, MOVE_DYNAMIC_PUNCH, - MOVE_EARTHQUAKE, MOVE_ENDURE, MOVE_EXPLOSION, - MOVE_FACADE, - MOVE_FOCUS_PUNCH, - MOVE_HYPER_BEAM, MOVE_ICE_PUNCH, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, MOVE_PSYCH_UP, - MOVE_RAIN_DANCE, - MOVE_REST, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, MOVE_ROLLOUT, - MOVE_SAFEGUARD, - MOVE_SANDSTORM, MOVE_SEISMIC_TOSS, - MOVE_SHOCK_WAVE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_THUNDER, - MOVE_THUNDERBOLT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_REGISTEEL @@ -17574,50 +20381,56 @@ static const u16 sRegisteelTeachableLearnset[] = { static const u16 sLatiasTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_CUT, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FLY, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LATIAS @@ -17626,50 +20439,56 @@ static const u16 sLatiasTeachableLearnset[] = { static const u16 sLatiosTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_CUT, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FLY, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LATIOS @@ -17677,43 +20496,49 @@ static const u16 sLatiosTeachableLearnset[] = { #if P_FAMILY_KYOGRE static const u16 sKyogreTeachableLearnset[] = { MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_DEFENSE_CURL, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KYOGRE @@ -17721,56 +20546,62 @@ static const u16 sKyogreTeachableLearnset[] = { #if P_FAMILY_GROUDON static const u16 sGroudonTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_THUNDER, + MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THUNDER, - MOVE_THUNDERBOLT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GROUDON @@ -17779,51 +20610,57 @@ static const u16 sGroudonTeachableLearnset[] = { static const u16 sRayquazaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLY, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_RAYQUAZA @@ -17831,47 +20668,53 @@ static const u16 sRayquazaTeachableLearnset[] = { #if P_FAMILY_JIRACHI static const u16 sJirachiTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_JIRACHI @@ -17879,223 +20722,247 @@ static const u16 sJirachiTeachableLearnset[] = { #if P_FAMILY_DEOXYS static const u16 sDeoxysNormalTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sDeoxysAttackTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sDeoxysDefenseTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sDeoxysSpeedTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DEOXYS @@ -18103,99 +20970,117 @@ static const u16 sDeoxysSpeedTeachableLearnset[] = { #if P_FAMILY_TURTWIG static const u16 sTurtwigTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sGrotleTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sTorterraTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TURTWIG @@ -18206,40 +21091,46 @@ static const u16 sChimcharTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_TORMENT, + MOVE_TOXIC, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, MOVE_ROLLOUT, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TORMENT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -18248,88 +21139,100 @@ static const u16 sMonfernoTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_TORMENT, + MOVE_TOXIC, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, MOVE_ROLLOUT, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TORMENT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sInfernapeTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_TORMENT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TORMENT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CHIMCHAR @@ -18343,28 +21246,34 @@ static const u16 sPiplupTeachableLearnset[] = { MOVE_CUT, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -18376,29 +21285,35 @@ static const u16 sPrinplupTeachableLearnset[] = { MOVE_CUT, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -18406,41 +21321,47 @@ static const u16 sEmpoleonTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PIPLUP @@ -18449,70 +21370,88 @@ static const u16 sEmpoleonTeachableLearnset[] = { static const u16 sStarlyTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sStaraviaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sStaraptorTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_STARLY @@ -18522,36 +21461,42 @@ static const u16 sBidoofTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_ROLLOUT, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -18559,43 +21504,49 @@ static const u16 sBibarelTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_ROLLOUT, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BIDOOF @@ -18613,25 +21564,31 @@ static const u16 sKricketuneTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KRICKETOT @@ -18639,93 +21596,111 @@ static const u16 sKricketuneTeachableLearnset[] = { #if P_FAMILY_SHINX static const u16 sShinxTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sLuxioTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sLuxrayTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SHINX @@ -18734,84 +21709,96 @@ static const u16 sLuxrayTeachableLearnset[] = { static const u16 sCranidosTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; static const u16 sRampardosTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CRANIDOS @@ -18820,84 +21807,97 @@ static const u16 sRampardosTeachableLearnset[] = { static const u16 sShieldonTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sBastiodonTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SHIELDON #if P_FAMILY_BURMY static const u16 sBurmyTeachableLearnset[] = { + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_SNORE, MOVE_UNAVAILABLE, @@ -18908,27 +21908,33 @@ static const u16 sWormadamPlantTeachableLearnset[] = { MOVE_BULLET_SEED, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -18936,32 +21942,38 @@ static const u16 sWormadamSandyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -18969,27 +21981,33 @@ static const u16 sWormadamTrashTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -18997,29 +22015,35 @@ static const u16 sMothimTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BURMY @@ -19038,24 +22062,30 @@ static const u16 sVespiquenTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_COMBEE @@ -19065,32 +22095,38 @@ static const u16 sPachirisuTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_DEFENSE_CURL, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PACHIRISU @@ -19104,76 +22140,88 @@ static const u16 sBuizelTeachableLearnset[] = { MOVE_DIG, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sFloatzelTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BUIZEL @@ -19182,49 +22230,61 @@ static const u16 sFloatzelTeachableLearnset[] = { static const u16 sCherubiTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sCherrimTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CHERUBI @@ -19233,65 +22293,77 @@ static const u16 sCherrimTeachableLearnset[] = { static const u16 sShellosTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sGastrodonTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_DIG, MOVE_DIVE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SHELLOS @@ -19300,75 +22372,87 @@ static const u16 sGastrodonTeachableLearnset[] = { static const u16 sDrifloonTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_FLY, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sDrifblimTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DRIFLOON @@ -19377,37 +22461,43 @@ static const u16 sDrifblimTeachableLearnset[] = { static const u16 sBunearyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -19415,41 +22505,47 @@ static const u16 sLopunnyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BUNEARY @@ -19460,27 +22556,21 @@ static const u16 sGlameowTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, @@ -19488,39 +22578,43 @@ static const u16 sGlameowTeachableLearnset[] = { MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sPuruglyTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROLLOUT, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, @@ -19528,6 +22622,20 @@ static const u16 sPuruglyTeachableLearnset[] = { MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GLAMEOW @@ -19535,143 +22643,167 @@ static const u16 sPuruglyTeachableLearnset[] = { #if P_FAMILY_STUNKY static const u16 sStunkyTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sSkuntankTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_STUNKY #if P_FAMILY_BRONZOR static const u16 sBronzorTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sBronzongTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BRONZOR @@ -19681,23 +22813,29 @@ static const u16 sChatotTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CHATOT @@ -19705,34 +22843,40 @@ static const u16 sChatotTeachableLearnset[] = { #if P_FAMILY_SPIRITOMB static const u16 sSpiritombTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SPIRITOMB @@ -19741,111 +22885,129 @@ static const u16 sSpiritombTeachableLearnset[] = { static const u16 sGibleTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sGabiteTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sGarchompTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GIBLE @@ -19856,81 +23018,93 @@ static const u16 sRioluTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, - MOVE_ICE_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sLucarioTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_IRON_TAIL, + MOVE_PROTECT, + MOVE_PSYCHIC, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROAR, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_SHADOW_BALL, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_PSYCHIC, MOVE_PSYCH_UP, - MOVE_RAIN_DANCE, - MOVE_REST, - MOVE_ROAR, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, - MOVE_SHADOW_BALL, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_RIOLU @@ -19938,58 +23112,70 @@ static const u16 sLucarioTeachableLearnset[] = { #if P_FAMILY_HIPPOPOTAS static const u16 sHippopotasTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sHippowdonTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_HIPPOPOTAS @@ -20002,29 +23188,35 @@ static const u16 sSkorupiTeachableLearnset[] = { MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -20036,32 +23228,38 @@ static const u16 sDrapionTeachableLearnset[] = { MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SKORUPI @@ -20072,39 +23270,45 @@ static const u16 sCroagunkTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_SHADOW_BALL, + MOVE_SLUDGE_BOMB, + MOVE_SNATCH, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_TORMENT, + MOVE_TOXIC, + MOVE_COUNTER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, MOVE_FURY_CUTTER, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_REST, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, - MOVE_SHADOW_BALL, MOVE_SLEEP_TALK, - MOVE_SLUDGE_BOMB, - MOVE_SNATCH, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TAUNT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TORMENT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -20113,42 +23317,48 @@ static const u16 sToxicroakTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_SHADOW_BALL, + MOVE_SLUDGE_BOMB, + MOVE_SNATCH, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_TORMENT, + MOVE_TOXIC, + MOVE_COUNTER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FURY_CUTTER, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_REST, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, - MOVE_SHADOW_BALL, MOVE_SLEEP_TALK, - MOVE_SLUDGE_BOMB, - MOVE_SNATCH, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TAUNT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TORMENT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CROAGUNK @@ -20159,24 +23369,30 @@ static const u16 sCarnivineTeachableLearnset[] = { MOVE_BULLET_SEED, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CARNIVINE @@ -20187,26 +23403,32 @@ static const u16 sFinneonTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -20216,27 +23438,33 @@ static const u16 sLumineonTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FINNEON @@ -20245,77 +23473,89 @@ static const u16 sLumineonTeachableLearnset[] = { static const u16 sSnoverTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sAbomasnowTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SNOVER @@ -20323,30 +23563,36 @@ static const u16 sAbomasnowTeachableLearnset[] = { #if P_FAMILY_ROTOM static const u16 sRotomTeachableLearnset[] = { MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ROTOM @@ -20355,41 +23601,47 @@ static const u16 sRotomTeachableLearnset[] = { static const u16 sUxieTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_UXIE @@ -20398,42 +23650,48 @@ static const u16 sUxieTeachableLearnset[] = { static const u16 sMespritTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MESPRIT @@ -20441,46 +23699,52 @@ static const u16 sMespritTeachableLearnset[] = { #if P_FAMILY_AZELF static const u16 sAzelfTeachableLearnset[] = { MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_AZELF @@ -20489,45 +23753,51 @@ static const u16 sAzelfTeachableLearnset[] = { static const u16 sDialgaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CUT, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DIALGA @@ -20536,7 +23806,6 @@ static const u16 sDialgaTeachableLearnset[] = { static const u16 sPalkiaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CUT, @@ -20544,41 +23813,48 @@ static const u16 sPalkiaTeachableLearnset[] = { MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PALKIA @@ -20586,34 +23862,40 @@ static const u16 sPalkiaTeachableLearnset[] = { #if P_FAMILY_HEATRAN static const u16 sHeatranTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_HEATRAN @@ -20621,40 +23903,46 @@ static const u16 sHeatranTeachableLearnset[] = { #if P_FAMILY_REGIGIGAS static const u16 sRegigigasTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SAFEGUARD, + MOVE_SECRET_POWER, + MOVE_SHOCK_WAVE, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_THUNDER, + MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, MOVE_PSYCH_UP, - MOVE_RAIN_DANCE, - MOVE_REST, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, - MOVE_SAFEGUARD, - MOVE_SHOCK_WAVE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_THUNDER, - MOVE_THUNDERBOLT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_REGIGIGAS @@ -20662,42 +23950,48 @@ static const u16 sRegigigasTeachableLearnset[] = { #if P_FAMILY_GIRATINA static const u16 sGiratinaTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GIRATINA @@ -20705,38 +23999,44 @@ static const u16 sGiratinaTeachableLearnset[] = { #if P_FAMILY_CRESSELIA static const u16 sCresseliaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CRESSELIA @@ -20747,25 +24047,31 @@ static const u16 sPhioneTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -20774,32 +24080,38 @@ static const u16 sManaphyTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MANAPHY @@ -20812,41 +24124,47 @@ static const u16 sDarkraiTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DARKRAI @@ -20855,55 +24173,67 @@ static const u16 sDarkraiTeachableLearnset[] = { static const u16 sShayminLandTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BULLET_SEED, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sShayminSkyTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BULLET_SEED, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SHAYMIN @@ -20912,66 +24242,72 @@ static const u16 sShayminSkyTeachableLearnset[] = { static const u16 sArceusTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_BULLET_SEED, MOVE_CALM_MIND, MOVE_CUT, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_FLY, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ARCEUS @@ -20979,40 +24315,46 @@ static const u16 sArceusTeachableLearnset[] = { #if P_FAMILY_VICTINI static const u16 sVictiniTeachableLearnset[] = { MOVE_BRICK_BREAK, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_VICTINI @@ -21024,29 +24366,35 @@ static const u16 sSnivyTeachableLearnset[] = { MOVE_BULLET_SEED, MOVE_CALM_MIND, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -21056,65 +24404,77 @@ static const u16 sServineTeachableLearnset[] = { MOVE_BULLET_SEED, MOVE_CALM_MIND, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sSerperiorTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CALM_MIND, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SNIVY @@ -21122,109 +24482,127 @@ static const u16 sSerperiorTeachableLearnset[] = { #if P_FAMILY_TEPIG static const u16 sTepigTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sPigniteTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; static const u16 sEmboarTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TEPIG @@ -21238,28 +24616,34 @@ static const u16 sOshawottTeachableLearnset[] = { MOVE_DIG, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -21272,28 +24656,34 @@ static const u16 sDewottTeachableLearnset[] = { MOVE_DIG, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -21301,36 +24691,42 @@ static const u16 sSamurottTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, MOVE_DIG, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -21338,28 +24734,34 @@ static const u16 sSamurottTeachableLearnset[] = { static const u16 sSamurottHisuiTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_HISUIAN_FORMS @@ -21373,19 +24775,25 @@ static const u16 sPatratTeachableLearnset[] = { MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THUNDERBOLT, MOVE_TOXIC, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -21395,34 +24803,40 @@ static const u16 sWatchogTeachableLearnset[] = { MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PATRAT @@ -21433,24 +24847,30 @@ static const u16 sLillipupTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, + MOVE_SUNNY_DAY, + MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -21459,26 +24879,32 @@ static const u16 sHerdierTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -21487,28 +24913,34 @@ static const u16 sStoutlandTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LILLIPUP @@ -21519,26 +24951,32 @@ static const u16 sPurrloinTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -21547,28 +24985,34 @@ static const u16 sLiepardTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PURRLOIN @@ -21583,21 +25027,27 @@ static const u16 sPansageTeachableLearnset[] = { MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -21611,23 +25061,29 @@ static const u16 sSimisageTeachableLearnset[] = { MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PANSAGE @@ -21640,24 +25096,30 @@ static const u16 sPansearTeachableLearnset[] = { MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_FIRE_PUNCH, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -21669,26 +25131,32 @@ static const u16 sSimisearTeachableLearnset[] = { MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_FIRE_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PANSEAR @@ -21703,26 +25171,32 @@ static const u16 sPanpourTeachableLearnset[] = { MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -21736,28 +25210,34 @@ static const u16 sSimipourTeachableLearnset[] = { MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PANPOUR @@ -21766,65 +25246,77 @@ static const u16 sSimipourTeachableLearnset[] = { static const u16 sMunnaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, - MOVE_DEFENSE_CURL, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, + MOVE_TORMENT, + MOVE_TOXIC, + MOVE_DEFENSE_CURL, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_THUNDER_WAVE, - MOVE_TORMENT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sMusharnaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, - MOVE_DEFENSE_CURL, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, + MOVE_TORMENT, + MOVE_TOXIC, + MOVE_DEFENSE_CURL, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_THUNDER_WAVE, - MOVE_TORMENT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MUNNA @@ -21834,20 +25326,26 @@ static const u16 sPidoveTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -21855,20 +25353,26 @@ static const u16 sTranquillTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -21876,22 +25380,28 @@ static const u16 sUnfezantTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PIDOVE @@ -21899,58 +25409,70 @@ static const u16 sUnfezantTeachableLearnset[] = { #if P_FAMILY_BLITZLE static const u16 sBlitzleTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sZebstrikaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BLITZLE @@ -21960,21 +25482,27 @@ static const u16 sRoggenrolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -21982,21 +25510,27 @@ static const u16 sBoldoreTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -22004,23 +25538,29 @@ static const u16 sGigalithTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ROGGENROLA @@ -22031,33 +25571,39 @@ static const u16 sWoobatTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FLY, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STEEL_WING, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -22066,34 +25612,40 @@ static const u16 sSwoobatTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FLY, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STEEL_WING, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_WOOBAT @@ -22105,57 +25657,69 @@ static const u16 sDrilburTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sExcadrillTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DRILBUR @@ -22164,48 +25728,54 @@ static const u16 sExcadrillTeachableLearnset[] = { static const u16 sAudinoTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_AUDINO @@ -22215,33 +25785,39 @@ static const u16 sTimburrTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, - MOVE_ICE_PUNCH, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; @@ -22249,70 +25825,82 @@ static const u16 sGurdurrTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, - MOVE_ICE_PUNCH, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; static const u16 sConkeldurrTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TIMBURR @@ -22321,44 +25909,56 @@ static const u16 sConkeldurrTeachableLearnset[] = { static const u16 sTympoleTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sPalpitoadTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -22369,30 +25969,36 @@ static const u16 sSeismitoadTeachableLearnset[] = { MOVE_DIVE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_SLUDGE_BOMB, + MOVE_STRENGTH, + MOVE_SURF, + MOVE_TOXIC, + MOVE_WATER_PULSE, + MOVE_ENDURE, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_REST, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, MOVE_SLEEP_TALK, - MOVE_SLUDGE_BOMB, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SURF, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TOXIC, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TYMPOLE @@ -22400,34 +26006,40 @@ static const u16 sSeismitoadTeachableLearnset[] = { #if P_FAMILY_THROH static const u16 sThrohTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, - MOVE_ICE_PUNCH, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TAUNT, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_THROH @@ -22437,31 +26049,37 @@ static const u16 sSawkTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, - MOVE_ICE_PUNCH, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SAWK @@ -22472,22 +26090,28 @@ static const u16 sSewaddleTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -22496,22 +26120,28 @@ static const u16 sSwadloonTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -22522,26 +26152,32 @@ static const u16 sLeavannyTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SEWADDLE @@ -22549,77 +26185,95 @@ static const u16 sLeavannyTeachableLearnset[] = { #if P_FAMILY_VENIPEDE static const u16 sVenipedeTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sWhirlipedeTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sScolipedeTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_VENIPEDE @@ -22628,49 +26282,61 @@ static const u16 sScolipedeTeachableLearnset[] = { static const u16 sCottoneeTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sWhimsicottTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_COTTONEE @@ -22681,20 +26347,26 @@ static const u16 sPetililTeachableLearnset[] = { MOVE_BULLET_SEED, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -22703,24 +26375,30 @@ static const u16 sLilligantTeachableLearnset[] = { MOVE_BULLET_SEED, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -22729,20 +26407,26 @@ static const u16 sLilligantHisuiTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MEGA_KICK, - MOVE_METRONOME, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -22755,67 +26439,85 @@ static const u16 sBasculinTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_CUT, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #if P_HISUIAN_FORMS static const u16 sBasculinWhiteStripedTeachableLearnset[] = { MOVE_BLIZZARD, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWIFT, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sBasculegionTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SURF, - MOVE_SWIFT, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_HISUIAN_FORMS @@ -22824,113 +26526,131 @@ static const u16 sBasculegionTeachableLearnset[] = { #if P_FAMILY_SANDILE static const u16 sSandileTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sKrokorokTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_STRENGTH, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sKrookodileTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_STRENGTH, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SANDILE @@ -22941,72 +26661,84 @@ static const u16 sDarumakaTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sDarmanitanTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -23016,61 +26748,73 @@ static const u16 sDarumakaGalarTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_BRICK_BREAK, MOVE_DIG, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sDarmanitanGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_DIG, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_GALARIAN_FORMS @@ -23082,19 +26826,25 @@ static const u16 sMaractusTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MARACTUS @@ -23103,55 +26853,67 @@ static const u16 sMaractusTeachableLearnset[] = { static const u16 sDwebbleTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, + MOVE_TOXIC, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sCrustleTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, + MOVE_TOXIC, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DWEBBLE @@ -23161,81 +26923,93 @@ static const u16 sScraggyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, - MOVE_ICE_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_PUNCH, MOVE_TORMENT, MOVE_TOXIC, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; static const u16 sScraftyTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_PUNCH, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SCRAGGY @@ -23246,34 +27020,40 @@ static const u16 sSigilyphTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_THIEF, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SIGILYPH @@ -23283,25 +27063,31 @@ static const u16 sYamaskTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -23309,26 +27095,32 @@ static const u16 sCofagrigusTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -23337,21 +27129,27 @@ static const u16 sYamaskGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, + MOVE_THIEF, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_THIEF, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; @@ -23359,23 +27157,29 @@ static const u16 sRunerigusTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_TAUNT, MOVE_THIEF, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_GALARIAN_FORMS @@ -23385,65 +27189,77 @@ static const u16 sRunerigusTeachableLearnset[] = { static const u16 sTirtougaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIG, MOVE_DIVE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sCarracostaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIG, MOVE_DIVE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TIRTOUGA @@ -23457,24 +27273,30 @@ static const u16 sArchenTeachableLearnset[] = { MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STEEL_WING, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -23486,26 +27308,32 @@ static const u16 sArcheopsTeachableLearnset[] = { MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STEEL_WING, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ARCHEN @@ -23514,47 +27342,59 @@ static const u16 sArcheopsTeachableLearnset[] = { static const u16 sTrubbishTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sGarbodorTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THIEF, MOVE_THUNDERBOLT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TRUBBISH @@ -23564,69 +27404,81 @@ static const u16 sZoruaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sZoroarkTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -23635,53 +27487,65 @@ static const u16 sZoruaHisuiTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_CALM_MIND, MOVE_DIG, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sZoroarkHisuiTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_DIG, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_HISUIAN_FORMS @@ -23694,24 +27558,30 @@ static const u16 sMinccinoTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -23720,29 +27590,35 @@ static const u16 sCinccinoTeachableLearnset[] = { MOVE_BULLET_SEED, MOVE_CALM_MIND, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MINCCINO @@ -23752,34 +27628,40 @@ static const u16 sGothitaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -23787,74 +27669,86 @@ static const u16 sGothoritaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sGothitelleTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GOTHITA @@ -23864,34 +27758,40 @@ static const u16 sSolosisTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, + MOVE_THUNDER, + MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_THUNDER, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -23899,78 +27799,90 @@ static const u16 sDuosionTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, + MOVE_THUNDER, + MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_THUNDER, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sReuniclusTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_LIGHT_SCREEN, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_THUNDER, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_THUNDER, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SOLOSIS @@ -23980,25 +27892,31 @@ static const u16 sDucklettTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -24006,26 +27924,32 @@ static const u16 sSwannaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DUCKLETT @@ -24035,22 +27959,28 @@ static const u16 sVanilliteTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_TAUNT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -24058,22 +27988,28 @@ static const u16 sVanillishTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_TAUNT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -24081,23 +28017,29 @@ static const u16 sVanilluxeTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_TAUNT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_VANILLITE @@ -24105,59 +28047,71 @@ static const u16 sVanilluxeTeachableLearnset[] = { #if P_FAMILY_DEERLING static const u16 sDeerlingTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sSawsbuckTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DEERLING @@ -24168,25 +28122,31 @@ static const u16 sEmolgaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_EMOLGA @@ -24195,47 +28155,59 @@ static const u16 sEmolgaTeachableLearnset[] = { static const u16 sKarrablastTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_COUNTER, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_TOXIC, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sEscavalierTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_COUNTER, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, + MOVE_SECRET_POWER, MOVE_TAUNT, MOVE_TOXIC, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KARRABLAST @@ -24243,50 +28215,62 @@ static const u16 sEscavalierTeachableLearnset[] = { #if P_FAMILY_FOONGUS static const u16 sFoongusTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, - MOVE_DEFENSE_CURL, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sAmoongussTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, - MOVE_DEFENSE_CURL, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FOONGUS @@ -24297,31 +28281,37 @@ static const u16 sFrillishTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -24330,32 +28320,38 @@ static const u16 sJellicentTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FRILLISH @@ -24364,32 +28360,38 @@ static const u16 sJellicentTeachableLearnset[] = { static const u16 sAlomomolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ALOMOMOLA @@ -24399,25 +28401,31 @@ static const u16 sJoltikTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -24425,26 +28433,32 @@ static const u16 sGalvantulaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_JOLTIK @@ -24454,23 +28468,29 @@ static const u16 sFerroseedTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, + MOVE_SOLAR_BEAM, + MOVE_SUNNY_DAY, + MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, MOVE_ROLLOUT, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SOLAR_BEAM, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -24480,28 +28500,34 @@ static const u16 sFerrothornTeachableLearnset[] = { MOVE_BULLET_SEED, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FERROSEED @@ -24509,59 +28535,77 @@ static const u16 sFerrothornTeachableLearnset[] = { #if P_FAMILY_KLINK static const u16 sKlinkTeachableLearnset[] = { MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, + MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sKlangTeachableLearnset[] = { MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, + MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sKlinklangTeachableLearnset[] = { MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KLINK @@ -24574,65 +28618,77 @@ static const u16 sTynamoTeachableLearnset[] = { static const u16 sEelektrikTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sEelektrossTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CUT, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TYNAMO @@ -24642,32 +28698,38 @@ static const u16 sElgyemTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_STEEL_WING, - MOVE_SWAGGER, MOVE_THIEF, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -24675,33 +28737,39 @@ static const u16 sBeheeyemTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_STEEL_WING, - MOVE_SWAGGER, MOVE_THIEF, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ELGYEM @@ -24711,28 +28779,34 @@ static const u16 sLitwickTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -24740,28 +28814,34 @@ static const u16 sLampentTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -24769,29 +28849,35 @@ static const u16 sChandelureTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LITWICK @@ -24801,32 +28887,38 @@ static const u16 sAxewTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_TAUNT, + MOVE_TOXIC, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -24834,69 +28926,81 @@ static const u16 sFraxureTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_TAUNT, + MOVE_TOXIC, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sHaxorusTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_TAUNT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_AXEW @@ -24906,35 +29010,41 @@ static const u16 sCubchooTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -24942,43 +29052,49 @@ static const u16 sBearticTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CUT, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CUBCHOO @@ -24987,26 +29103,32 @@ static const u16 sBearticTeachableLearnset[] = { static const u16 sCryogonalTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CRYOGONAL @@ -25014,44 +29136,56 @@ static const u16 sCryogonalTeachableLearnset[] = { #if P_FAMILY_SHELMET static const u16 sShelmetTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, - MOVE_MUD_SLAP, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sAccelgorTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SHELMET @@ -25062,49 +29196,61 @@ static const u16 sStunfiskTeachableLearnset[] = { MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #if P_GALARIAN_FORMS static const u16 sStunfiskGalarTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_COUNTER, MOVE_DIG, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SURF, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -25120,28 +29266,34 @@ static const u16 sMienfooTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -25152,31 +29304,37 @@ static const u16 sMienshaoTeachableLearnset[] = { MOVE_BULK_UP, MOVE_CALM_MIND, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MIENFOO @@ -25185,135 +29343,153 @@ static const u16 sMienshaoTeachableLearnset[] = { static const u16 sDruddigonTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, MOVE_TAUNT, - MOVE_THUNDER_PUNCH, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DRUDDIGON #if P_FAMILY_GOLETT static const u16 sGolettTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, + MOVE_PROTECT, + MOVE_PSYCHIC, + MOVE_RAIN_DANCE, + MOVE_REFLECT, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SAFEGUARD, + MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_SHADOW_BALL, + MOVE_SHOCK_WAVE, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_PSYCHIC, MOVE_PSYCH_UP, - MOVE_RAIN_DANCE, - MOVE_REFLECT, - MOVE_REST, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, MOVE_ROLLOUT, - MOVE_SAFEGUARD, - MOVE_SANDSTORM, - MOVE_SHADOW_BALL, - MOVE_SHOCK_WAVE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sGolurkTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FLY, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_PROTECT, + MOVE_PSYCHIC, + MOVE_RAIN_DANCE, + MOVE_REFLECT, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SAFEGUARD, + MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_SHADOW_BALL, + MOVE_SHOCK_WAVE, + MOVE_SOLAR_BEAM, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_ICY_WIND, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_PSYCHIC, MOVE_PSYCH_UP, - MOVE_RAIN_DANCE, - MOVE_REFLECT, - MOVE_REST, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, MOVE_ROLLOUT, - MOVE_SAFEGUARD, - MOVE_SANDSTORM, - MOVE_SHADOW_BALL, - MOVE_SHOCK_WAVE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SOLAR_BEAM, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_THIEF, - MOVE_THUNDERBOLT, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GOLETT @@ -25326,25 +29502,31 @@ static const u16 sPawniardTeachableLearnset[] = { MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SNATCH, - MOVE_SNORE, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -25355,26 +29537,32 @@ static const u16 sBisharpTeachableLearnset[] = { MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SNATCH, - MOVE_SNORE, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -25383,21 +29571,27 @@ static const u16 sKingambitTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, MOVE_DIG, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SWORDS_DANCE, + MOVE_SECRET_POWER, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_WAVE, MOVE_TORMENT, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_9_CROSS_EVOS @@ -25407,28 +29601,34 @@ static const u16 sKingambitTeachableLearnset[] = { static const u16 sBouffalantTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CUT, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BOUFFALANT @@ -25437,83 +29637,101 @@ static const u16 sBouffalantTeachableLearnset[] = { static const u16 sRuffletTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULK_UP, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sBraviaryTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULK_UP, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #if P_HISUIAN_FORMS static const u16 sBraviaryHisuiTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_BULK_UP, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SUNNY_DAY, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -25525,29 +29743,35 @@ static const u16 sVullabyTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -25555,31 +29779,37 @@ static const u16 sMandibuzzTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_VULLABY @@ -25588,33 +29818,39 @@ static const u16 sMandibuzzTeachableLearnset[] = { static const u16 sHeatmorTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_HEATMOR @@ -25626,21 +29862,27 @@ static const u16 sDurantTeachableLearnset[] = { MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DURANT @@ -25648,90 +29890,108 @@ static const u16 sDurantTeachableLearnset[] = { #if P_FAMILY_DEINO static const u16 sDeinoTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sZweilousTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sHydreigonTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DEINO @@ -25739,43 +29999,48 @@ static const u16 sHydreigonTeachableLearnset[] = { #if P_FAMILY_LARVESTA static const u16 sLarvestaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sVolcaronaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLY, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_OVERHEAT, @@ -25783,13 +30048,20 @@ static const u16 sVolcaronaTeachableLearnset[] = { MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LARVESTA @@ -25797,34 +30069,40 @@ static const u16 sVolcaronaTeachableLearnset[] = { #if P_FAMILY_COBALION static const u16 sCobalionTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_COBALION @@ -25832,34 +30110,40 @@ static const u16 sCobalionTeachableLearnset[] = { #if P_FAMILY_TERRAKION static const u16 sTerrakionTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_TAUNT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TERRAKION @@ -25867,36 +30151,42 @@ static const u16 sTerrakionTeachableLearnset[] = { #if P_FAMILY_VIRIZION static const u16 sVirizionTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, MOVE_CALM_MIND, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_VIRIZION @@ -25905,33 +30195,39 @@ static const u16 sVirizionTeachableLearnset[] = { static const u16 sTornadusTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TORNADUS @@ -25939,51 +30235,56 @@ static const u16 sTornadusTeachableLearnset[] = { #if P_FAMILY_THUNDURUS static const u16 sThundurusTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_THUNDURUS #if P_FAMILY_RESHIRAM static const u16 sReshiramTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_OVERHEAT, @@ -25992,38 +30293,44 @@ static const u16 sReshiramTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_RESHIRAM #if P_FAMILY_ZEKROM static const u16 sZekromTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FLY, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, @@ -26031,25 +30338,32 @@ static const u16 sZekromTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ZEKROM @@ -26057,37 +30371,43 @@ static const u16 sZekromTeachableLearnset[] = { #if P_FAMILY_LANDORUS static const u16 sLandorusTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CALM_MIND, MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LANDORUS @@ -26096,37 +30416,43 @@ static const u16 sLandorusTeachableLearnset[] = { static const u16 sKyuremTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CUT, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KYUREM @@ -26137,32 +30463,38 @@ static const u16 sKeldeoTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KELDEO @@ -26172,39 +30504,45 @@ static const u16 sMeloettaTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_THUNDER, + MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THUNDER, - MOVE_THUNDERBOLT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MELOETTA @@ -26214,14 +30552,13 @@ static const u16 sGenesectTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_FLY, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_LIGHT_SCREEN, @@ -26229,16 +30566,23 @@ static const u16 sGenesectTeachableLearnset[] = { MOVE_PSYCHIC, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GENESECT @@ -26247,128 +30591,146 @@ static const u16 sGenesectTeachableLearnset[] = { static const u16 sChespinTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_BULLET_SEED, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sQuilladinTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_BULLET_SEED, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sChesnaughtTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_BULLET_SEED, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CHESPIN @@ -26379,30 +30741,36 @@ static const u16 sFennekinTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -26411,34 +30779,40 @@ static const u16 sBraixenTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -26447,38 +30821,44 @@ static const u16 sDelphoxTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FENNEKIN @@ -26488,34 +30868,40 @@ static const u16 sFroakieTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SNATCH, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -26523,36 +30909,42 @@ static const u16 sFrogadierTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SNATCH, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -26561,37 +30953,43 @@ static const u16 sGreninjaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_BRICK_BREAK, - MOVE_COUNTER, MOVE_CUT, MOVE_DIG, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SNATCH, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FROAKIE @@ -26602,73 +31000,85 @@ static const u16 sBunnelbyTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DEFENSE_CURL, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sDiggersbyTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CUT, - MOVE_DEFENSE_CURL, MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, - MOVE_THUNDER_PUNCH, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BUNNELBY @@ -26677,54 +31087,66 @@ static const u16 sDiggersbyTeachableLearnset[] = { static const u16 sFletchlingTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SNATCH, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sFletchinderTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SNATCH, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -26732,30 +31154,36 @@ static const u16 sTalonflameTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BULK_UP, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FLETCHLING @@ -26775,27 +31203,33 @@ static const u16 sVivillonTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SCATTERBUG @@ -26803,66 +31237,78 @@ static const u16 sVivillonTeachableLearnset[] = { #if P_FAMILY_LITLEO static const u16 sLitleoTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sPyroarTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LITLEO @@ -26872,23 +31318,29 @@ static const u16 sFlabebeTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -26896,25 +31348,31 @@ static const u16 sFloetteTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -26922,25 +31380,31 @@ static const u16 sFloetteEternalTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -26948,26 +31412,32 @@ static const u16 sFlorgesTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FLABEBE @@ -26975,70 +31445,82 @@ static const u16 sFlorgesTeachableLearnset[] = { #if P_FAMILY_SKIDDO static const u16 sSkiddoTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_BULLET_SEED, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sGogoatTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_BULLET_SEED, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SKIDDO @@ -27047,47 +31529,52 @@ static const u16 sGogoatTeachableLearnset[] = { static const u16 sPanchamTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, - MOVE_ICE_PUNCH, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SEISMIC_TOSS, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, - MOVE_THUNDER_PUNCH, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; static const u16 sPangoroTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CUT, @@ -27095,36 +31582,43 @@ static const u16 sPangoroTeachableLearnset[] = { MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SEISMIC_TOSS, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_PUNCH, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PANCHAM @@ -27136,19 +31630,25 @@ static const u16 sFurfrouTeachableLearnset[] = { MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_TOXIC, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FURFROU @@ -27159,32 +31659,38 @@ static const u16 sEspurrTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -27194,33 +31700,39 @@ static const u16 sMeowsticMTeachableLearnset[] = { MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -27230,33 +31742,39 @@ static const u16 sMeowsticFTeachableLearnset[] = { MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ESPURR @@ -27268,21 +31786,27 @@ static const u16 sHonedgeTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -27292,21 +31816,27 @@ static const u16 sDoubladeTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -27316,24 +31846,30 @@ static const u16 sAegislashTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_HONEDGE @@ -27343,25 +31879,31 @@ static const u16 sSpritzeeTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -27369,28 +31911,34 @@ static const u16 sAromatisseTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SPRITZEE @@ -27400,26 +31948,32 @@ static const u16 sSwirlixTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLAMETHROWER, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, MOVE_THIEF, MOVE_THUNDERBOLT, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -27427,29 +31981,35 @@ static const u16 sSlurpuffTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLAMETHROWER, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SWIRLIX @@ -27461,30 +32021,36 @@ static const u16 sInkayTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLAMETHROWER, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -27494,31 +32060,37 @@ static const u16 sMalamarTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLAMETHROWER, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_INKAY @@ -27533,32 +32105,38 @@ static const u16 sBinacleTeachableLearnset[] = { MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -27574,33 +32152,39 @@ static const u16 sBarbaracleTeachableLearnset[] = { MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BINACLE @@ -27610,27 +32194,33 @@ static const u16 sSkrelpTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, - MOVE_ICY_WIND, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, MOVE_THIEF, MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -27638,29 +32228,35 @@ static const u16 sDragalgeTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SKRELP @@ -27672,58 +32268,70 @@ static const u16 sClauncherTeachableLearnset[] = { MOVE_CUT, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sClawitzerTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CLAUNCHER @@ -27734,29 +32342,35 @@ static const u16 sHelioptileTeachableLearnset[] = { MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -27765,36 +32379,42 @@ static const u16 sHelioliskTeachableLearnset[] = { MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_HELIOPTILE @@ -27803,57 +32423,69 @@ static const u16 sHelioliskTeachableLearnset[] = { static const u16 sTyruntTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sTyrantrumTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TYRUNT @@ -27862,77 +32494,89 @@ static const u16 sTyrantrumTeachableLearnset[] = { static const u16 sAmauraTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, + MOVE_SECRET_POWER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sAurorusTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, + MOVE_SECRET_POWER, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_AMAURA @@ -27941,39 +32585,45 @@ static const u16 sAurorusTeachableLearnset[] = { static const u16 sHawluchaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLY, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_TORMENT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TORMENT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_HAWLUCHA @@ -27985,60 +32635,72 @@ static const u16 sDedenneTeachableLearnset[] = { MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DEDENNE #if P_FAMILY_CARBINK static const u16 sCarbinkTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CARBINK @@ -28046,149 +32708,179 @@ static const u16 sCarbinkTeachableLearnset[] = { #if P_FAMILY_GOOMY static const u16 sGoomyTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sSliggooTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sGoodraTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #if P_HISUIAN_FORMS static const u16 sSliggooHisuiTeachableLearnset[] = { MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sGoodraHisuiTeachableLearnset[] = { MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, MOVE_SURF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_HISUIAN_FORMS @@ -28200,27 +32892,33 @@ static const u16 sKlefkiTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KLEFKI @@ -28231,29 +32929,35 @@ static const u16 sPhantumpTeachableLearnset[] = { MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -28263,31 +32967,37 @@ static const u16 sTrevenantTeachableLearnset[] = { MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PHANTUMP @@ -28297,31 +33007,37 @@ static const u16 sPumpkabooTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; @@ -28329,32 +33045,38 @@ static const u16 sGourgeistTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THIEF, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PUMPKABOO @@ -28363,85 +33085,103 @@ static const u16 sGourgeistTeachableLearnset[] = { static const u16 sBergmiteTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sAvaluggTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #if P_HISUIAN_FORMS static const u16 sAvaluggHisuiTeachableLearnset[] = { MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_HISUIAN_FORMS @@ -28455,97 +33195,115 @@ static const u16 sNoibatTeachableLearnset[] = { MOVE_CUT, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sNoivernTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLAMETHROWER, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_NOIBAT #if P_FAMILY_XERNEAS static const u16 sXerneasTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, + MOVE_SECRET_POWER, + MOVE_SUNNY_DAY, + MOVE_THUNDER, + MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_THUNDER, - MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_XERNEAS @@ -28553,94 +33311,112 @@ static const u16 sXerneasTeachableLearnset[] = { #if P_FAMILY_YVELTAL static const u16 sYveltalTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_CUT, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_YVELTAL #if P_FAMILY_ZYGARDE static const u16 sZygardeTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ZYGARDE #if P_FAMILY_DIANCIE static const u16 sDiancieTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DIANCIE @@ -28650,40 +33426,46 @@ static const u16 sHoopaConfinedTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -28691,78 +33473,90 @@ static const u16 sHoopaUnboundTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_HOOPA #if P_FAMILY_VOLCANION static const u16 sVolcanionTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_VOLCANION @@ -28773,23 +33567,29 @@ static const u16 sRowletTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -28798,23 +33598,29 @@ static const u16 sDartrixTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -28823,25 +33629,31 @@ static const u16 sDecidueyeTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -28852,23 +33664,29 @@ static const u16 sDecidueyeHisuiTeachableLearnset[] = { MOVE_BULK_UP, MOVE_BULLET_SEED, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, MOVE_UNAVAILABLE, }; #endif //P_HISUIAN_FORMS @@ -28877,87 +33695,105 @@ static const u16 sDecidueyeHisuiTeachableLearnset[] = { #if P_FAMILY_LITTEN static const u16 sLittenTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULK_UP, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sTorracatTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULK_UP, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sIncineroarTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_PUNCH, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LITTEN @@ -28968,82 +33804,100 @@ static const u16 sPopplioTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sBrionneTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sPrimarinaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_POPPLIO @@ -29055,20 +33909,26 @@ static const u16 sPikipekTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_BULLET_SEED, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -29078,21 +33938,27 @@ static const u16 sTrumbeakTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_BULLET_SEED, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -29102,24 +33968,30 @@ static const u16 sToucannonTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_BULLET_SEED, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_OVERHEAT, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PIKIPEK @@ -29128,61 +34000,73 @@ static const u16 sToucannonTeachableLearnset[] = { static const u16 sYungoosTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sGumshoosTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_PUNCH, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_YUNGOOS @@ -29192,20 +34076,26 @@ static const u16 sGrubbinTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, + MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -29213,21 +34103,27 @@ static const u16 sCharjabugTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -29235,25 +34131,31 @@ static const u16 sVikavoltTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GRUBBIN @@ -29261,68 +34163,80 @@ static const u16 sVikavoltTeachableLearnset[] = { #if P_FAMILY_CRABRAWLER static const u16 sCrabrawlerTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, - MOVE_ICE_PUNCH, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sCrabominableTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_DIG, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CRABRAWLER @@ -29333,25 +34247,31 @@ static const u16 sOricorioTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, - MOVE_ICY_WIND, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ORICORIO @@ -29362,24 +34282,30 @@ static const u16 sCutieflyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -29388,26 +34314,32 @@ static const u16 sRibombeeTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CUTIEFLY @@ -29415,117 +34347,141 @@ static const u16 sRibombeeTeachableLearnset[] = { #if P_FAMILY_ROCKRUFF static const u16 sRockruffTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, + MOVE_SECRET_POWER, MOVE_TAUNT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sLycanrocMiddayTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sLycanrocMidnightTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TAUNT, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sLycanrocDuskTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, + MOVE_SECRET_POWER, MOVE_TAUNT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ROCKRUFF @@ -29534,24 +34490,30 @@ static const u16 sLycanrocDuskTeachableLearnset[] = { static const u16 sWishiwashiTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_WISHIWASHI @@ -29561,50 +34523,62 @@ static const u16 sMareanieTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sToxapexTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MAREANIE @@ -29612,56 +34586,68 @@ static const u16 sToxapexTeachableLearnset[] = { #if P_FAMILY_MUDBRAY static const u16 sMudbrayTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_MEGA_KICK, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sMudsdaleTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MEGA_KICK, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MUDBRAY @@ -29671,48 +34657,60 @@ static const u16 sDewpiderTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sAraquanidTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DEWPIDER @@ -29722,20 +34720,26 @@ static const u16 sFomantisTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -29745,22 +34749,28 @@ static const u16 sLurantisTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_BULLET_SEED, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FOMANTIS @@ -29769,48 +34779,60 @@ static const u16 sLurantisTeachableLearnset[] = { static const u16 sMorelullTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sShiinoticTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLASH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MORELULL @@ -29820,57 +34842,69 @@ static const u16 sSalanditTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sSalazzleTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SALANDIT @@ -29881,65 +34915,77 @@ static const u16 sStuffulTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, + MOVE_PROTECT, + MOVE_REST, + MOVE_RETURN, + MOVE_ROAR, + MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_TAUNT, + MOVE_TOXIC, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, MOVE_ICE_PUNCH, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, - MOVE_PROTECT, - MOVE_REST, - MOVE_ROAR, + MOVE_MIMIC, MOVE_ROCK_SLIDE, - MOVE_ROCK_TOMB, MOVE_ROLLOUT, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TAUNT, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sBewearTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, + MOVE_PROTECT, + MOVE_REST, + MOVE_RETURN, + MOVE_ROAR, + MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_TAUNT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, MOVE_ICE_PUNCH, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, - MOVE_PROTECT, - MOVE_REST, - MOVE_ROAR, + MOVE_MIMIC, MOVE_ROCK_SLIDE, - MOVE_ROCK_TOMB, MOVE_ROLLOUT, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TAUNT, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_STUFFUL @@ -29949,21 +34995,27 @@ static const u16 sBounsweetTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -29971,21 +35023,27 @@ static const u16 sSteeneeTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -29993,24 +35051,30 @@ static const u16 sTsareenaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BOUNSWEET @@ -30021,24 +35085,30 @@ static const u16 sComfeyTeachableLearnset[] = { MOVE_BULLET_SEED, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_COMFEY @@ -30046,38 +35116,44 @@ static const u16 sComfeyTeachableLearnset[] = { #if P_FAMILY_ORANGURU static const u16 sOranguruTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ORANGURU @@ -30086,37 +35162,43 @@ static const u16 sOranguruTeachableLearnset[] = { static const u16 sPassimianTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SEISMIC_TOSS, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PASSIMIAN @@ -30124,23 +35206,29 @@ static const u16 sPassimianTeachableLearnset[] = { #if P_FAMILY_WIMPOD static const u16 sWimpodTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_DEFENSE_CURL, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_TOXIC, MOVE_WATERFALL, + MOVE_DEFENSE_CURL, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -30150,35 +35238,41 @@ static const u16 sGolisopodTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_DEFENSE_CURL, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DEFENSE_CURL, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_WIMPOD @@ -30188,53 +35282,65 @@ static const u16 sSandygastTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, - MOVE_MUD_SLAP, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sPalossandTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SANDYGAST @@ -30242,21 +35348,22 @@ static const u16 sPalossandTeachableLearnset[] = { #if P_FAMILY_PYUKUMUKU static const u16 sPyukumukuTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_COUNTER, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_HAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_TOXIC, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PYUKUMUKU @@ -30264,62 +35371,74 @@ static const u16 sPyukumukuTeachableLearnset[] = { #if P_FAMILY_TYPE_NULL static const u16 sTypeNullTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_SUNNY_DAY, + MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sSilvallyTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TYPE_NULL @@ -30328,31 +35447,37 @@ static const u16 sSilvallyTeachableLearnset[] = { static const u16 sMiniorTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_SOLAR_BEAM, + MOVE_TOXIC, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SOLAR_BEAM, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MINIOR @@ -30360,30 +35485,36 @@ static const u16 sMiniorTeachableLearnset[] = { #if P_FAMILY_KOMALA static const u16 sKomalaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CALM_MIND, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, MOVE_ROLLOUT, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_THIEF, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KOMALA @@ -30391,33 +35522,39 @@ static const u16 sKomalaTeachableLearnset[] = { #if P_FAMILY_TURTONATOR static const u16 sTurtonatorTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULK_UP, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TURTONATOR @@ -30425,26 +35562,32 @@ static const u16 sTurtonatorTeachableLearnset[] = { #if P_FAMILY_TOGEDEMARU static const u16 sTogedemaruTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_DEFENSE_CURL, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_DEFENSE_CURL, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TOGEDEMARU @@ -30454,31 +35597,37 @@ static const u16 sMimikyuTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULK_UP, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MIMIKYU @@ -30491,12 +35640,11 @@ static const u16 sBruxishTeachableLearnset[] = { MOVE_BULK_UP, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, @@ -30504,18 +35652,25 @@ static const u16 sBruxishTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SNATCH, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BRUXISH @@ -30528,36 +35683,42 @@ static const u16 sDrampaTeachableLearnset[] = { MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DRAMPA @@ -30569,24 +35730,30 @@ static const u16 sDhelmiseTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DHELMISE @@ -30595,106 +35762,124 @@ static const u16 sDhelmiseTeachableLearnset[] = { static const u16 sJangmoOTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, + MOVE_SECRET_POWER, MOVE_TAUNT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sHakamoOTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sKommoOTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_JANGMO_O @@ -30704,32 +35889,38 @@ static const u16 sTapuKokoTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STEEL_WING, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_PUNCH, - MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TAPU_KOKO @@ -30738,28 +35929,34 @@ static const u16 sTapuKokoTeachableLearnset[] = { static const u16 sTapuLeleTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TAPU_LELE @@ -30770,31 +35967,37 @@ static const u16 sTapuBuluTeachableLearnset[] = { MOVE_BULK_UP, MOVE_BULLET_SEED, MOVE_CALM_MIND, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_MEGA_PUNCH, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TAPU_BULU @@ -30805,29 +36008,35 @@ static const u16 sTapuFiniTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SURF, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TAPU_FINI @@ -30842,38 +36051,44 @@ static const u16 sCosmoemTeachableLearnset[] = { }; static const u16 sSolgaleoTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -30882,89 +36097,107 @@ static const u16 sLunalaTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_DREAM_EATER, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_DREAM_EATER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_COSMOG #if P_FAMILY_NIHILEGO static const u16 sNihilegoTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, - MOVE_SNORE, - MOVE_SWAGGER, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_NIHILEGO #if P_FAMILY_BUZZWOLE static const u16 sBuzzwoleTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DOUBLE_TEAM, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, - MOVE_ICE_PUNCH, - MOVE_MEGA_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_TAUNT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TAUNT, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BUZZWOLE @@ -30974,22 +36207,28 @@ static const u16 sPheromosaTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_BRICK_BREAK, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PHEROMOSA @@ -30998,52 +36237,64 @@ static const u16 sPheromosaTeachableLearnset[] = { static const u16 sXurkitreeTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_XURKITREE #if P_FAMILY_CELESTEELA static const u16 sCelesteelaTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLY, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, + MOVE_SOLAR_BEAM, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SOLAR_BEAM, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CELESTEELA @@ -31055,45 +36306,57 @@ static const u16 sKartanaTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_FURY_CUTTER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_FURY_CUTTER, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KARTANA #if P_FAMILY_GUZZLORD static const u16 sGuzzlordTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_THIEF, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GUZZLORD @@ -31101,47 +36364,51 @@ static const u16 sGuzzlordTeachableLearnset[] = { #if P_FAMILY_NECROZMA static const u16 sNecrozmaTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_THIEF, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_NECROZMA #if P_FAMILY_MAGEARNA static const u16 sMagearnaTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_DEFENSE_CURL, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_LIGHT_SCREEN, @@ -31149,17 +36416,25 @@ static const u16 sMagearnaTeachableLearnset[] = { MOVE_PSYCHIC, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -31170,46 +36445,58 @@ static const u16 sMarshadowTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CALM_MIND, - MOVE_COUNTER, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, + MOVE_PROTECT, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_SHADOW_BALL, + MOVE_SNATCH, + MOVE_THIEF, + MOVE_TOXIC, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, MOVE_ICE_PUNCH, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, - MOVE_PROTECT, + MOVE_MIMIC, MOVE_PSYCH_UP, - MOVE_REST, MOVE_ROCK_SLIDE, - MOVE_ROCK_TOMB, - MOVE_SHADOW_BALL, MOVE_SLEEP_TALK, - MOVE_SNATCH, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, - MOVE_THIEF, MOVE_THUNDER_PUNCH, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MARSHADOW #if P_FAMILY_POIPOLE static const u16 sPoipoleTeachableLearnset[] = { - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; @@ -31217,48 +36504,60 @@ static const u16 sNaganadelTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, MOVE_SNATCH, - MOVE_SNORE, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDERBOLT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_POIPOLE #if P_FAMILY_STAKATAKA static const u16 sStakatakaTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_TOXIC, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_STAKATAKA @@ -31267,28 +36566,34 @@ static const u16 sStakatakaTeachableLearnset[] = { static const u16 sBlacephalonTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FIRE_PUNCH, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BLACEPHALON @@ -31300,69 +36605,87 @@ static const u16 sZeraoraTeachableLearnset[] = { MOVE_BULK_UP, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SNATCH, - MOVE_SNORE, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ZERAORA #if P_FAMILY_MELTAN static const u16 sMeltanTeachableLearnset[] = { - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_THUNDERBOLT, + MOVE_SUBSTITUTE, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sMelmetalTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_DYNAMIC_PUNCH, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MELTAN @@ -31370,77 +36693,95 @@ static const u16 sMelmetalTeachableLearnset[] = { #if P_FAMILY_GROOKEY static const u16 sGrookeyTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sThwackeyTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sRillaboomTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_BULLET_SEED, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GROOKEY @@ -31448,69 +36789,87 @@ static const u16 sRillaboomTeachableLearnset[] = { #if P_FAMILY_SCORBUNNY static const u16 sScorbunnyTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, - MOVE_MEGA_KICK, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWIFT, - MOVE_TAUNT, MOVE_UNAVAILABLE, }; static const u16 sRabootTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULK_UP, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, - MOVE_MEGA_KICK, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, MOVE_UNAVAILABLE, }; static const u16 sCinderaceTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULK_UP, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MEGA_KICK, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, + MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MIMIC, + MOVE_MUD_SLAP, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SCORBUNNY @@ -31520,20 +36879,26 @@ static const u16 sSobbleTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWIFT, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -31541,20 +36906,26 @@ static const u16 sDrizzileTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWIFT, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -31563,28 +36934,34 @@ static const u16 sInteleonTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_DIVE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SURF, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SOBBLE @@ -31592,48 +36969,60 @@ static const u16 sInteleonTeachableLearnset[] = { #if P_FAMILY_SKWOVET static const u16 sSkwovetTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_THIEF, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, MOVE_ROLLOUT, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_THIEF, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sGreedentTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, - MOVE_COUNTER, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_SUNNY_DAY, + MOVE_THIEF, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, MOVE_ROLLOUT, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWORDS_DANCE, - MOVE_THIEF, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SKWOVET @@ -31642,64 +37031,82 @@ static const u16 sGreedentTeachableLearnset[] = { static const u16 sRookideeTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, - MOVE_SWIFT, + MOVE_SECRET_POWER, MOVE_TAUNT, MOVE_THIEF, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sCorvisquireTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sCorviknightTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULK_UP, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ROOKIDEE @@ -31712,40 +37119,52 @@ static const u16 sBlipbugTeachableLearnset[] = { static const u16 sDottlerTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, + MOVE_SOLAR_BEAM, + MOVE_ENDURE, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SOLAR_BEAM, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sOrbeetleTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, + MOVE_SOLAR_BEAM, + MOVE_ENDURE, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SOLAR_BEAM, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BLIPBUG @@ -31754,35 +37173,47 @@ static const u16 sOrbeetleTeachableLearnset[] = { static const u16 sNickitTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIG, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWIFT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sThievulTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIG, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_NICKIT @@ -31791,33 +37222,45 @@ static const u16 sThievulTeachableLearnset[] = { static const u16 sGossifleurTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sEldegossTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GOSSIFLEUR @@ -31825,15 +37268,21 @@ static const u16 sEldegossTeachableLearnset[] = { #if P_FAMILY_WOOLOO static const u16 sWoolooTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, + MOVE_PROTECT, + MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_COUNTER, MOVE_DEFENSE_CURL, MOVE_DOUBLE_EDGE, MOVE_ENDURE, - MOVE_FACADE, - MOVE_PROTECT, - MOVE_REST, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, @@ -31841,18 +37290,24 @@ static const u16 sWoolooTeachableLearnset[] = { static const u16 sDubwoolTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, + MOVE_HYPER_BEAM, + MOVE_PROTECT, + MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_BODY_SLAM, MOVE_COUNTER, MOVE_DEFENSE_CURL, MOVE_DOUBLE_EDGE, MOVE_ENDURE, - MOVE_FACADE, - MOVE_HYPER_BEAM, MOVE_MEGA_KICK, - MOVE_PROTECT, - MOVE_REST, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, @@ -31863,48 +37318,60 @@ static const u16 sDubwoolTeachableLearnset[] = { #if P_FAMILY_CHEWTLE static const u16 sChewtleTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_DIVE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sDrednawTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWORDS_DANCE, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CHEWTLE @@ -31913,17 +37380,23 @@ static const u16 sDrednawTeachableLearnset[] = { static const u16 sYamperTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWIFT, + MOVE_SECRET_POWER, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -31932,18 +37405,24 @@ static const u16 sBoltundTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULK_UP, MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWIFT, + MOVE_SECRET_POWER, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -31952,72 +37431,90 @@ static const u16 sBoltundTeachableLearnset[] = { #if P_FAMILY_ROLYCOLY static const u16 sRolycolyTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sCarkolTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_SUNNY_DAY, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sCoalossalTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FIRE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ROLYCOLY @@ -32034,83 +37531,107 @@ static const u16 sFlappleTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BULLET_SEED, - MOVE_DEFENSE_CURL, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_SOLAR_BEAM, + MOVE_SUNNY_DAY, + MOVE_DEFENSE_CURL, + MOVE_ENDURE, + MOVE_MIMIC, MOVE_ROLLOUT, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SOLAR_BEAM, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sAppletunTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, - MOVE_DEFENSE_CURL, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #if P_GEN_9_CROSS_EVOS static const u16 sDipplinTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BULLET_SEED, - MOVE_DEFENSE_CURL, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sHydrappleTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BULLET_SEED, - MOVE_DEFENSE_CURL, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_GEN_9_CROSS_EVOS @@ -32119,38 +37640,50 @@ static const u16 sHydrappleTeachableLearnset[] = { #if P_FAMILY_SILICOBRA static const u16 sSilicobraTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sSandacondaTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIG, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SILICOBRA @@ -32161,21 +37694,27 @@ static const u16 sCramorantTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_STEEL_WING, MOVE_SURF, MOVE_THIEF, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CRAMORANT @@ -32185,18 +37724,24 @@ static const u16 sArrokudaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_DIVE, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWIFT, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -32205,20 +37750,26 @@ static const u16 sBarraskewdaTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_BRICK_BREAK, MOVE_DIVE, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWIFT, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ARROKUDA @@ -32226,72 +37777,90 @@ static const u16 sBarraskewdaTeachableLearnset[] = { #if P_FAMILY_TOXEL static const u16 sToxelTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_ENDURE, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sToxtricityAmpedTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sToxtricityLowKeyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TOXIC, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TOXEL @@ -32299,34 +37868,46 @@ static const u16 sToxtricityLowKeyTeachableLearnset[] = { #if P_FAMILY_SIZZLIPEDE static const u16 sSizzlipedeTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_DEFENSE_CURL, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_SUNNY_DAY, + MOVE_DEFENSE_CURL, + MOVE_ENDURE, + MOVE_MIMIC, MOVE_ROLLOUT, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sCentiskorchTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_DEFENSE_CURL, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_SOLAR_BEAM, + MOVE_SUNNY_DAY, + MOVE_DEFENSE_CURL, + MOVE_ENDURE, + MOVE_MIMIC, MOVE_ROLLOUT, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SOLAR_BEAM, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SIZZLIPEDE @@ -32334,46 +37915,58 @@ static const u16 sCentiskorchTeachableLearnset[] = { #if P_FAMILY_CLOBBOPUS static const u16 sClobbopusTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_DIVE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_ICE_PUNCH, - MOVE_MEGA_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, + MOVE_TAUNT, + MOVE_WATERFALL, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, MOVE_SEISMIC_TOSS, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_TAUNT, - MOVE_WATERFALL, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sGrapploctTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_DIG, MOVE_DIVE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SEISMIC_TOSS, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, MOVE_TAUNT, MOVE_WATERFALL, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CLOBBOPUS @@ -32381,36 +37974,48 @@ static const u16 sGrapploctTeachableLearnset[] = { #if P_FAMILY_SINISTEA static const u16 sSinisteaTeachableLearnset[] = { MOVE_CALM_MIND, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, - MOVE_METRONOME, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sPolteageistTeachableLearnset[] = { MOVE_CALM_MIND, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SINISTEA @@ -32419,20 +38024,26 @@ static const u16 sPolteageistTeachableLearnset[] = { static const u16 sHatennaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, @@ -32441,20 +38052,26 @@ static const u16 sHatennaTeachableLearnset[] = { static const u16 sHattremTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, @@ -32463,22 +38080,28 @@ static const u16 sHattremTeachableLearnset[] = { static const u16 sHattereneTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, @@ -32489,72 +38112,90 @@ static const u16 sHattereneTeachableLearnset[] = { #if P_FAMILY_IMPIDIMP static const u16 sImpidimpTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_WAVE, MOVE_TORMENT, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sMorgremTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_WAVE, MOVE_TORMENT, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sGrimmsnarlTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_LIGHT_SCREEN, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_TAUNT, MOVE_THIEF, + MOVE_TORMENT, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TORMENT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_IMPIDIMP @@ -32562,55 +38203,73 @@ static const u16 sGrimmsnarlTeachableLearnset[] = { #if P_FAMILY_MILCERY static const u16 sMilceryTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_ENDURE, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sAlcremieTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, + MOVE_SOLAR_BEAM, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SOLAR_BEAM, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MILCERY #if P_FAMILY_FALINKS static const u16 sFalinksTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_SUNNY_DAY, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -32619,19 +38278,25 @@ static const u16 sFalinksTeachableLearnset[] = { #if P_FAMILY_PINCURCHIN static const u16 sPincurchinTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -32640,13 +38305,19 @@ static const u16 sPincurchinTeachableLearnset[] = { #if P_FAMILY_SNOM static const u16 sSnomTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_ENDURE, MOVE_FACADE, - MOVE_ICY_WIND, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; @@ -32654,20 +38325,26 @@ static const u16 sFrosmothTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_CALM_MIND, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -32676,22 +38353,28 @@ static const u16 sFrosmothTeachableLearnset[] = { #if P_FAMILY_STONJOURNER static const u16 sStonjournerTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MEGA_KICK, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_SUNNY_DAY, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_SUNNY_DAY, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_STONJOURNER @@ -32700,25 +38383,31 @@ static const u16 sStonjournerTeachableLearnset[] = { static const u16 sEiscueTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIVE, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_EISCUE @@ -32726,41 +38415,53 @@ static const u16 sEiscueTeachableLearnset[] = { #if P_FAMILY_INDEEDEE static const u16 sIndeedeeMTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_ENDURE, MOVE_FACADE, - MOVE_METRONOME, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sIndeedeeFTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -32771,22 +38472,28 @@ static const u16 sMorpekoTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWAGGER, - MOVE_SWIFT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_TORMENT, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_TORMENT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MORPEKO @@ -32794,53 +38501,65 @@ static const u16 sMorpekoTeachableLearnset[] = { #if P_FAMILY_CUFANT static const u16 sCufantTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_MEGA_KICK, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sCopperajahTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MEGA_KICK, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_STRENGTH, + MOVE_TAUNT, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, MOVE_SLEEP_TALK, MOVE_SNORE, - MOVE_STRENGTH, + MOVE_SUBSTITUTE, MOVE_SWAGGER, - MOVE_TAUNT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CUFANT @@ -32848,28 +38567,34 @@ static const u16 sCopperajahTeachableLearnset[] = { #if P_FAMILY_DRACOZOLT static const u16 sDracozoltTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, @@ -32879,27 +38604,33 @@ static const u16 sDracozoltTeachableLearnset[] = { #if P_FAMILY_ARCTOZOLT static const u16 sArctozoltTeachableLearnset[] = { MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, @@ -32908,22 +38639,28 @@ static const u16 sArctozoltTeachableLearnset[] = { #if P_FAMILY_DRACOVISH static const u16 sDracovishTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_DIVE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MEGA_KICK, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, MOVE_WATERFALL, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DRACOVISH @@ -32931,23 +38668,29 @@ static const u16 sDracovishTeachableLearnset[] = { #if P_FAMILY_ARCTOVISH static const u16 sArctovishTeachableLearnset[] = { MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIVE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SURF, MOVE_WATERFALL, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ARCTOVISH @@ -32955,54 +38698,66 @@ static const u16 sArctovishTeachableLearnset[] = { #if P_FAMILY_DURALUDON static const u16 sDuraludonTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_DOUBLE_EDGE, MOVE_DRAGON_CLAW, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, - MOVE_SWORDS_DANCE, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #if P_GEN_9_CROSS_EVOS static const u16 sArchaludonTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_DOUBLE_EDGE, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, - MOVE_SWORDS_DANCE, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -33013,12 +38768,18 @@ static const u16 sArchaludonTeachableLearnset[] = { static const u16 sDreepyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_ENDURE, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, @@ -33027,58 +38788,70 @@ static const u16 sDreepyTeachableLearnset[] = { static const u16 sDrakloakTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_STEEL_WING, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sDragapultTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -33086,17 +38859,23 @@ static const u16 sDragapultTeachableLearnset[] = { #if P_FAMILY_ZACIAN static const u16 sZacianTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, @@ -33105,11 +38884,11 @@ static const u16 sZacianTeachableLearnset[] = { #if P_FAMILY_ZAMAZENTA static const u16 sZamazentaTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, @@ -33117,13 +38896,19 @@ static const u16 sZamazentaTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_SAFEGUARD, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -33131,25 +38916,31 @@ static const u16 sZamazentaTeachableLearnset[] = { #if P_FAMILY_ETERNATUS static const u16 sEternatusTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ETERNATUS @@ -33158,25 +38949,31 @@ static const u16 sEternatusTeachableLearnset[] = { static const u16 sKubfuTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, + MOVE_FACADE, + MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, + MOVE_PROTECT, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_SMASH, + MOVE_SECRET_POWER, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_DOUBLE_EDGE, MOVE_DYNAMIC_PUNCH, MOVE_ENDURE, - MOVE_FACADE, MOVE_FIRE_PUNCH, - MOVE_FOCUS_PUNCH, MOVE_ICE_PUNCH, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, - MOVE_PROTECT, - MOVE_REST, - MOVE_ROCK_SMASH, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWORDS_DANCE, MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, @@ -33185,31 +38982,37 @@ static const u16 sKubfuTeachableLearnset[] = { static const u16 sUrshifuSingleStrikeTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, + MOVE_FACADE, + MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, + MOVE_PROTECT, + MOVE_REST, + MOVE_RETURN, + MOVE_ROAR, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_TAUNT, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_DOUBLE_EDGE, MOVE_DYNAMIC_PUNCH, MOVE_ENDURE, - MOVE_FACADE, MOVE_FIRE_PUNCH, - MOVE_FOCUS_PUNCH, MOVE_ICE_PUNCH, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, - MOVE_PROTECT, - MOVE_REST, - MOVE_ROAR, + MOVE_MIMIC, MOVE_ROCK_SLIDE, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; @@ -33217,34 +39020,40 @@ static const u16 sUrshifuSingleStrikeTeachableLearnset[] = { static const u16 sUrshifuRapidStrikeTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, MOVE_DIVE, - MOVE_DOUBLE_EDGE, - MOVE_DYNAMIC_PUNCH, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, - MOVE_ICE_PUNCH, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, + MOVE_TAUNT, + MOVE_WATERFALL, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, MOVE_THUNDER_PUNCH, - MOVE_WATERFALL, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KUBFU @@ -33252,56 +39061,68 @@ static const u16 sUrshifuRapidStrikeTeachableLearnset[] = { #if P_FAMILY_ZARUDE static const u16 sZarudeTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_BULLET_SEED, MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, - MOVE_SNORE, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWAGGER, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, - MOVE_THIEF, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ZARUDE #if P_FAMILY_REGIELEKI static const u16 sRegielekiTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, - MOVE_SNORE, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -33309,19 +39130,25 @@ static const u16 sRegielekiTeachableLearnset[] = { #if P_FAMILY_REGIDRAGO static const u16 sRegidragoTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -33330,42 +39157,54 @@ static const u16 sRegidragoTeachableLearnset[] = { #if P_FAMILY_GLASTRIER static const u16 sGlastrierTeachableLearnset[] = { MOVE_BLIZZARD, + MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HAIL, + MOVE_HIDDEN_POWER, + MOVE_HYPER_BEAM, + MOVE_ICE_BEAM, + MOVE_PROTECT, + MOVE_REST, + MOVE_RETURN, + MOVE_ROAR, + MOVE_SECRET_POWER, + MOVE_TAUNT, + MOVE_TORMENT, MOVE_BODY_SLAM, MOVE_DOUBLE_EDGE, MOVE_ENDURE, - MOVE_FACADE, - MOVE_HAIL, - MOVE_HYPER_BEAM, - MOVE_ICE_BEAM, MOVE_ICY_WIND, - MOVE_PROTECT, - MOVE_REST, - MOVE_ROAR, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWORDS_DANCE, - MOVE_TAUNT, - MOVE_TORMENT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GLASTRIER #if P_FAMILY_SPECTRIER static const u16 sSpectrierTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, + MOVE_TAUNT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, MOVE_SLEEP_TALK, MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWIFT, - MOVE_TAUNT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SPECTRIER @@ -33374,23 +39213,29 @@ static const u16 sSpectrierTeachableLearnset[] = { static const u16 sCalyrexTeachableLearnset[] = { MOVE_BULLET_SEED, MOVE_CALM_MIND, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -33398,63 +39243,75 @@ static const u16 sCalyrexTeachableLearnset[] = { #if P_FUSION_FORMS static const u16 sCalyrexIceTeachableLearnset[] = { MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, MOVE_HAIL, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TORMENT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sCalyrexShadowTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SNORE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWIFT, MOVE_TAUNT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FUSION_FORMS @@ -33462,23 +39319,29 @@ static const u16 sCalyrexShadowTeachableLearnset[] = { #if P_FAMILY_ENAMORUS static const u16 sEnamorusTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_SMASH, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_TORMENT, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ENAMORUS @@ -33486,32 +39349,44 @@ static const u16 sEnamorusTeachableLearnset[] = { #if P_FAMILY_SPRIGATITO static const u16 sSprigatitoTeachableLearnset[] = { MOVE_BULLET_SEED, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, - MOVE_MUD_SLAP, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, - MOVE_SWIFT, MOVE_TAUNT, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sFloragatoTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BULLET_SEED, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, - MOVE_MUD_SLAP, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, - MOVE_SWIFT, MOVE_TAUNT, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; @@ -33521,21 +39396,27 @@ static const u16 sMeowscaradaTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_BULLET_SEED, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SOLAR_BEAM, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; @@ -33543,57 +39424,75 @@ static const u16 sMeowscaradaTeachableLearnset[] = { #if P_FAMILY_FUECOCO static const u16 sFuecocoTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sCrocalorTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sSkeledirgeTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_DIG, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FUECOCO @@ -33601,30 +39500,42 @@ static const u16 sSkeledirgeTeachableLearnset[] = { #if P_FAMILY_QUAXLY static const u16 sQuaxlyTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sQuaxwellTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWIFT, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -33632,130 +39543,172 @@ static const u16 sQuaquavalTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, - MOVE_MEGA_KICK, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_WATER_PULSE, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_QUAXLY #if P_FAMILY_LECHONK static const u16 sLechonkTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, MOVE_THIEF, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sOinkologneTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, MOVE_THIEF, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LECHONK #if P_FAMILY_TAROUNTULA static const u16 sTarountulaTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BULLET_SEED, - MOVE_COUNTER, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, MOVE_THIEF, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sSpidopsTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, - MOVE_COUNTER, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TAROUNTULA #if P_FAMILY_NYMBLE static const u16 sNymbleTeachableLearnset[] = { - MOVE_COUNTER, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, MOVE_THIEF, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sLokixTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_NYMBLE @@ -33763,35 +39716,47 @@ static const u16 sLokixTeachableLearnset[] = { #if P_FAMILY_PAWMI static const u16 sPawmiTeachableLearnset[] = { MOVE_DIG, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sPawmoTeachableLearnset[] = { MOVE_DIG, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, @@ -33801,24 +39766,30 @@ static const u16 sPawmotTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, - MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, - MOVE_SWIFT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, @@ -33830,20 +39801,26 @@ static const u16 sTandemausTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BULLET_SEED, MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_WAVE, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -33851,58 +39828,76 @@ static const u16 sMausholdTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BULLET_SEED, MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_WAVE, MOVE_WATER_PULSE, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TANDEMAUS #if P_FAMILY_FIDOUGH static const u16 sFidoughTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sDachsbunTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FIDOUGH @@ -33910,48 +39905,66 @@ static const u16 sDachsbunTeachableLearnset[] = { #if P_FAMILY_SMOLIV static const u16 sSmolivTeachableLearnset[] = { MOVE_BULLET_SEED, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sDollivTeachableLearnset[] = { MOVE_BULLET_SEED, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sArbolivaTeachableLearnset[] = { MOVE_BULLET_SEED, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SAFEGUARD, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_UNAVAILABLE, }; @@ -33960,79 +39973,103 @@ static const u16 sArbolivaTeachableLearnset[] = { #if P_FAMILY_SQUAWKABILLY static const u16 sSquawkabillyTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SQUAWKABILLY #if P_FAMILY_NACLI static const u16 sNacliTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_DIG, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sNaclstackTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sGarganaclTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; @@ -34040,36 +40077,48 @@ static const u16 sGarganaclTeachableLearnset[] = { #if P_FAMILY_CHARCADET static const u16 sCharcadetTeachableLearnset[] = { - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sArmarougeTeachableLearnset[] = { MOVE_CALM_MIND, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TAUNT, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; @@ -34077,59 +40126,77 @@ static const u16 sCeruledgeTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_DRAGON_CLAW, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_OVERHEAT, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SUNNY_DAY, - MOVE_SWORDS_DANCE, MOVE_TAUNT, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CHARCADET #if P_FAMILY_TADBULB static const u16 sTadbulbTeachableLearnset[] = { - MOVE_ENDURE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SWIFT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sBelliboltTeachableLearnset[] = { - MOVE_ENDURE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SWIFT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, + MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TADBULB @@ -34137,31 +40204,43 @@ static const u16 sBelliboltTeachableLearnset[] = { #if P_FAMILY_WATTREL static const u16 sWattrelTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SWIFT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sKilowattrelTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SWIFT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -34169,39 +40248,51 @@ static const u16 sKilowattrelTeachableLearnset[] = { #if P_FAMILY_MASCHIFF static const u16 sMaschiffTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sMabosstiffTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MASCHIFF @@ -34209,45 +40300,57 @@ static const u16 sMabosstiffTeachableLearnset[] = { #if P_FAMILY_SHROODLE static const u16 sShroodleTeachableLearnset[] = { MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_METRONOME, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sGrafaiaiTeachableLearnset[] = { MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_METRONOME, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, - MOVE_SWAGGER, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SHROODLE @@ -34255,34 +40358,46 @@ static const u16 sGrafaiaiTeachableLearnset[] = { #if P_FAMILY_BRAMBLIN static const u16 sBramblinTeachableLearnset[] = { MOVE_BULLET_SEED, - MOVE_DEFENSE_CURL, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SOLAR_BEAM, MOVE_THIEF, + MOVE_DEFENSE_CURL, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sBrambleghastTeachableLearnset[] = { MOVE_BULLET_SEED, - MOVE_DEFENSE_CURL, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SOLAR_BEAM, MOVE_THIEF, + MOVE_DEFENSE_CURL, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BRAMBLIN @@ -34290,64 +40405,82 @@ static const u16 sBrambleghastTeachableLearnset[] = { #if P_FAMILY_TOEDSCOOL static const u16 sToedscoolTeachableLearnset[] = { MOVE_BULLET_SEED, - MOVE_ENDURE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, - MOVE_SWIFT, MOVE_TAUNT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sToedscruelTeachableLearnset[] = { MOVE_BULLET_SEED, - MOVE_ENDURE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, - MOVE_SWIFT, MOVE_TAUNT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TOEDSCOOL #if P_FAMILY_KLAWF static const u16 sKlawfTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, - MOVE_SWORDS_DANCE, MOVE_THIEF, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KLAWF @@ -34355,83 +40488,107 @@ static const u16 sKlawfTeachableLearnset[] = { #if P_FAMILY_CAPSAKID static const u16 sCapsakidTeachableLearnset[] = { MOVE_BULLET_SEED, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_THIEF, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sScovillainTeachableLearnset[] = { MOVE_BULLET_SEED, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_THIEF, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CAPSAKID #if P_FAMILY_RELLOR static const u16 sRellorTeachableLearnset[] = { - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_ENDURE, MOVE_FACADE, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_THIEF, + MOVE_DEFENSE_CURL, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sRabscaTeachableLearnset[] = { MOVE_CALM_MIND, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, MOVE_THIEF, + MOVE_DEFENSE_CURL, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_RELLOR @@ -34439,107 +40596,137 @@ static const u16 sRabscaTeachableLearnset[] = { #if P_FAMILY_FLITTLE static const u16 sFlittleTeachableLearnset[] = { MOVE_CALM_MIND, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SUNNY_DAY, - MOVE_SWIFT, MOVE_THIEF, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sEspathraTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, MOVE_SUNNY_DAY, - MOVE_SWIFT, MOVE_THIEF, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FLITTLE #if P_FAMILY_TINKATINK static const u16 sTinkatinkTeachableLearnset[] = { - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SWORDS_DANCE, MOVE_THIEF, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sTinkatuffTeachableLearnset[] = { MOVE_BRICK_BREAK, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SWORDS_DANCE, MOVE_THIEF, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sTinkatonTeachableLearnset[] = { MOVE_BRICK_BREAK, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SECRET_POWER, MOVE_SKILL_SWAP, - MOVE_SLEEP_TALK, - MOVE_SWORDS_DANCE, MOVE_THIEF, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -34549,37 +40736,49 @@ static const u16 sTinkatonTeachableLearnset[] = { static const u16 sWiglettTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_DIG, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWIFT, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sWugtrioTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_DIG, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWIFT, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_WIGLETT @@ -34587,23 +40786,29 @@ static const u16 sWugtrioTeachableLearnset[] = { #if P_FAMILY_BOMBIRDIER static const u16 sBombirdierTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BOMBIRDIER @@ -34611,92 +40816,116 @@ static const u16 sBombirdierTeachableLearnset[] = { #if P_FAMILY_FINIZEN static const u16 sFinizenTeachableLearnset[] = { MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_DIVE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWIFT, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; static const u16 sPalafinTeachableLearnset[] = { MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIVE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, - MOVE_SWIFT, MOVE_TAUNT, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FINIZEN #if P_FAMILY_VAROOM static const u16 sVaroomTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; static const u16 sRevavroomTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_VAROOM @@ -34704,86 +40933,110 @@ static const u16 sRevavroomTeachableLearnset[] = { #if P_FAMILY_CYCLIZAR static const u16 sCyclizarTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DRAGON_CLAW, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CYCLIZAR #if P_FAMILY_ORTHWORM static const u16 sOrthwormTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ORTHWORM #if P_FAMILY_GLIMMET static const u16 sGlimmetTeachableLearnset[] = { - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sGlimmoraTeachableLearnset[] = { - MOVE_ENDURE, - MOVE_EXPLOSION, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GLIMMET @@ -34791,38 +41044,50 @@ static const u16 sGlimmoraTeachableLearnset[] = { #if P_FAMILY_GREAVARD static const u16 sGreavardTeachableLearnset[] = { MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_MUD_SLAP, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SUNNY_DAY, MOVE_THIEF, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sHoundstoneTeachableLearnset[] = { MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SUNNY_DAY, MOVE_THIEF, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GREAVARD @@ -34832,19 +41097,25 @@ static const u16 sFlamigoTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BULK_UP, MOVE_DOUBLE_TEAM, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MEGA_KICK, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SWORDS_DANCE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_TAUNT, MOVE_THIEF, MOVE_WATER_PULSE, + MOVE_ENDURE, + MOVE_MEGA_KICK, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FLAMIGO @@ -34852,38 +41123,50 @@ static const u16 sFlamigoTeachableLearnset[] = { #if P_FAMILY_CETODDLE static const u16 sCetoddleTeachableLearnset[] = { MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sCetitanTeachableLearnset[] = { MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CETODDLE @@ -34891,86 +41174,110 @@ static const u16 sCetitanTeachableLearnset[] = { #if P_FAMILY_VELUZA static const u16 sVeluzaTeachableLearnset[] = { MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_VELUZA #if P_FAMILY_DONDOZO static const u16 sDondozoTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_DIVE, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DONDOZO #if P_FAMILY_TATSUGIRI static const u16 sTatsugiriTeachableLearnset[] = { - MOVE_COUNTER, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SURF, MOVE_TAUNT, MOVE_WATER_PULSE, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TATSUGIRI #if P_FAMILY_GREAT_TUSK static const u16 sGreatTuskTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_DEFENSE_CURL, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, - MOVE_ROLLOUT, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, MOVE_TAUNT, + MOVE_BODY_SLAM, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GREAT_TUSK @@ -34978,57 +41285,69 @@ static const u16 sGreatTuskTeachableLearnset[] = { #if P_FAMILY_SCREAM_TAIL static const u16 sScreamTailTeachableLearnset[] = { MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BULK_UP, MOVE_CALM_MIND, MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, - MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SCREAM_TAIL #if P_FAMILY_BRUTE_BONNET static const u16 sBruteBonnetTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BULLET_SEED, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BRUTE_BONNET @@ -35036,18 +41355,24 @@ static const u16 sBruteBonnetTeachableLearnset[] = { #if P_FAMILY_FLUTTER_MANE static const u16 sFlutterManeTeachableLearnset[] = { MOVE_CALM_MIND, - MOVE_ENDURE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SUNNY_DAY, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -35056,42 +41381,54 @@ static const u16 sFlutterManeTeachableLearnset[] = { #if P_FAMILY_SLITHER_WING static const u16 sSlitherWingTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SLITHER_WING #if P_FAMILY_SANDY_SHOCKS static const u16 sSandyShocksTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, - MOVE_SWIFT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -35099,21 +41436,27 @@ static const u16 sSandyShocksTeachableLearnset[] = { #if P_FAMILY_IRON_TREADS static const u16 sIronTreadsTeachableLearnset[] = { + MOVE_EARTHQUAKE, + MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, + MOVE_HYPER_BEAM, + MOVE_PROTECT, + MOVE_REST, + MOVE_RETURN, + MOVE_ROCK_TOMB, + MOVE_SANDSTORM, + MOVE_SECRET_POWER, + MOVE_THUNDER, MOVE_BODY_SLAM, MOVE_DEFENSE_CURL, MOVE_DOUBLE_EDGE, - MOVE_EARTHQUAKE, - MOVE_FACADE, - MOVE_HYPER_BEAM, + MOVE_MIMIC, MOVE_MUD_SLAP, - MOVE_PROTECT, - MOVE_REST, MOVE_ROCK_SLIDE, - MOVE_ROCK_TOMB, MOVE_ROLLOUT, - MOVE_SANDSTORM, MOVE_SLEEP_TALK, - MOVE_THUNDER, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_IRON_TREADS @@ -35121,47 +41464,59 @@ static const u16 sIronTreadsTeachableLearnset[] = { #if P_FAMILY_IRON_BUNDLE static const u16 sIronBundleTeachableLearnset[] = { MOVE_BLIZZARD, - MOVE_BODY_SLAM, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SWIFT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_TAUNT, MOVE_THIEF, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_IRON_BUNDLE #if P_FAMILY_IRON_HANDS static const u16 sIronHandsTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, - MOVE_METRONOME, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, - MOVE_SEISMIC_TOSS, - MOVE_SLEEP_TALK, - MOVE_SWORDS_DANCE, + MOVE_SECRET_POWER, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWORDS_DANCE, MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; @@ -35169,43 +41524,55 @@ static const u16 sIronHandsTeachableLearnset[] = { #if P_FAMILY_IRON_JUGULIS static const u16 sIronJugulisTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, MOVE_TAUNT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_IRON_JUGULIS #if P_FAMILY_IRON_MOTH static const u16 sIronMothTeachableLearnset[] = { - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWIFT, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_IRON_MOTH @@ -35213,32 +41580,38 @@ static const u16 sIronMothTeachableLearnset[] = { #if P_FAMILY_IRON_THORNS static const u16 sIronThornsTeachableLearnset[] = { MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, - MOVE_FIRE_PUNCH, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICE_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWORDS_DANCE, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, @@ -35248,17 +41621,23 @@ static const u16 sIronThornsTeachableLearnset[] = { #if P_FAMILY_FRIGIBAX static const u16 sFrigibaxTeachableLearnset[] = { MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_DIG, MOVE_DRAGON_CLAW, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -35266,18 +41645,24 @@ static const u16 sFrigibaxTeachableLearnset[] = { static const u16 sArctibaxTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, MOVE_DRAGON_CLAW, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -35285,21 +41670,27 @@ static const u16 sArctibaxTeachableLearnset[] = { static const u16 sBaxcaliburTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -35307,32 +41698,44 @@ static const u16 sBaxcaliburTeachableLearnset[] = { #if P_FAMILY_GIMMIGHOUL static const u16 sGimmighoulTeachableLearnset[] = { - MOVE_ENDURE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_THIEF, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sGholdengoTeachableLearnset[] = { - MOVE_ENDURE, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, MOVE_SANDSTORM, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, @@ -35341,22 +41744,28 @@ static const u16 sGholdengoTeachableLearnset[] = { #if P_FAMILY_WO_CHIEN static const u16 sWoChienTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BULLET_SEED, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TAUNT, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_WO_CHIEN @@ -35366,48 +41775,61 @@ static const u16 sChienPaoTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, MOVE_BRICK_BREAK, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_SLEEP_TALK, - MOVE_SWORDS_DANCE, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_TAUNT, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CHIEN_PAO #if P_FAMILY_TING_LU static const u16 sTingLuTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_SLIDE, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, MOVE_TAUNT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TING_LU #if P_FAMILY_CHI_YU static const u16 sChiYuTeachableLearnset[] = { - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_OVERHEAT, @@ -35415,10 +41837,15 @@ static const u16 sChiYuTeachableLearnset[] = { MOVE_PSYCHIC, MOVE_REFLECT, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, - MOVE_SWAGGER, MOVE_TAUNT, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CHI_YU @@ -35426,25 +41853,31 @@ static const u16 sChiYuTeachableLearnset[] = { #if P_FAMILY_ROARING_MOON static const u16 sRoaringMoonTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, MOVE_TAUNT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ROARING_MOON @@ -35455,26 +41888,32 @@ static const u16 sIronValiantTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, + MOVE_HYPER_BEAM, + MOVE_LIGHT_SCREEN, + MOVE_PROTECT, + MOVE_PSYCHIC, + MOVE_REFLECT, + MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_SHADOW_BALL, + MOVE_SKILL_SWAP, + MOVE_TAUNT, + MOVE_THUNDERBOLT, MOVE_ENDURE, MOVE_FIRE_PUNCH, MOVE_FURY_CUTTER, - MOVE_HYPER_BEAM, MOVE_ICE_PUNCH, MOVE_ICY_WIND, - MOVE_LIGHT_SCREEN, MOVE_METRONOME, - MOVE_PROTECT, - MOVE_PSYCHIC, + MOVE_MIMIC, MOVE_PSYCH_UP, - MOVE_REFLECT, - MOVE_REST, - MOVE_SHADOW_BALL, - MOVE_SKILL_SWAP, MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, - MOVE_THUNDERBOLT, MOVE_THUNDER_PUNCH, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, @@ -35483,54 +41922,66 @@ static const u16 sIronValiantTeachableLearnset[] = { #if P_FAMILY_KORAIDON static const u16 sKoraidonTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, MOVE_DRAGON_CLAW, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_MUD_SLAP, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_SMASH, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWORDS_DANCE, MOVE_TAUNT, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KORAIDON #if P_FAMILY_MIRAIDON static const u16 sMiraidonTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DRAGON_CLAW, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SOLAR_BEAM, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -35538,23 +41989,29 @@ static const u16 sMiraidonTeachableLearnset[] = { #if P_FAMILY_WALKING_WAKE static const u16 sWalkingWakeTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DRAGON_CLAW, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_SWIFT, MOVE_WATERFALL, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_WALKING_WAKE @@ -35564,18 +42021,24 @@ static const u16 sIronLeavesTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, - MOVE_SLEEP_TALK, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, + MOVE_TAUNT, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_SWIFT, MOVE_SWORDS_DANCE, - MOVE_TAUNT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_IRON_LEAVES @@ -35583,58 +42046,76 @@ static const u16 sIronLeavesTeachableLearnset[] = { #if P_FAMILY_POLTCHAGEIST static const u16 sPoltchageistTeachableLearnset[] = { MOVE_CALM_MIND, - MOVE_ENDURE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SOLAR_BEAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; static const u16 sSinistchaTeachableLearnset[] = { MOVE_CALM_MIND, - MOVE_ENDURE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REFLECT, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SOLAR_BEAM, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_POLTCHAGEIST #if P_FAMILY_OKIDOGI static const u16 sOkidogiTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, - MOVE_COUNTER, MOVE_DIG, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, - MOVE_FIRE_PUNCH, MOVE_FOCUS_PUNCH, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICE_PUNCH, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, MOVE_ROCK_TOMB, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SLUDGE_BOMB, MOVE_TAUNT, MOVE_THIEF, - MOVE_THUNDER_PUNCH, MOVE_TOXIC, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_FIRE_PUNCH, + MOVE_ICE_PUNCH, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_THUNDER_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_OKIDOGI @@ -35642,23 +42123,29 @@ static const u16 sOkidogiTeachableLearnset[] = { #if P_FAMILY_MUNKIDORI static const u16 sMunkidoriTeachableLearnset[] = { MOVE_CALM_MIND, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, - MOVE_METRONOME, - MOVE_MUD_SLAP, MOVE_PROTECT, MOVE_PSYCHIC, - MOVE_PSYCH_UP, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SWIFT, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWIFT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MUNKIDORI @@ -35668,24 +42155,30 @@ static const u16 sFezandipitiTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_CALM_MIND, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLY, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, - MOVE_ICY_WIND, MOVE_LIGHT_SCREEN, MOVE_PROTECT, - MOVE_PSYCH_UP, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, - MOVE_SWAGGER, - MOVE_SWIFT, - MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, + MOVE_ENDURE, + MOVE_ICY_WIND, + MOVE_MIMIC, + MOVE_PSYCH_UP, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FEZANDIPITI @@ -35694,64 +42187,82 @@ static const u16 sFezandipitiTeachableLearnset[] = { static const u16 sOgerponTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_BULLET_SEED, - MOVE_COUNTER, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, MOVE_GIGA_DRAIN, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_SWORDS_DANCE, MOVE_TAUNT, + MOVE_COUNTER, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_OGERPON #if P_FAMILY_GOUGING_FIRE static const u16 sGougingFireTeachableLearnset[] = { - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SUNNY_DAY, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GOUGING_FIRE #if P_FAMILY_RAGING_BOLT static const u16 sRagingBoltTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, + MOVE_SECRET_POWER, MOVE_SHOCK_WAVE, - MOVE_SLEEP_TALK, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -35760,39 +42271,51 @@ static const u16 sRagingBoltTeachableLearnset[] = { #if P_FAMILY_IRON_BOULDER static const u16 sIronBoulderTeachableLearnset[] = { MOVE_AERIAL_ACE, - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, + MOVE_RETURN, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_SLEEP_TALK, - MOVE_SWORDS_DANCE, + MOVE_SECRET_POWER, MOVE_TAUNT, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, + MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_IRON_BOULDER #if P_FAMILY_IRON_CROWN static const u16 sIronCrownTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, - MOVE_ENDURE, MOVE_FACADE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, + MOVE_RETURN, + MOVE_SECRET_POWER, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -35800,21 +42323,20 @@ static const u16 sIronCrownTeachableLearnset[] = { #if P_FAMILY_TERAPAGOS static const u16 sTerapagosTeachableLearnset[] = { - MOVE_BODY_SLAM, MOVE_CALM_MIND, - MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, - MOVE_ENDURE, MOVE_FACADE, MOVE_FLAMETHROWER, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_RETURN, MOVE_ROAR, - MOVE_ROCK_SLIDE, - MOVE_SLEEP_TALK, + MOVE_SECRET_POWER, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_SURF, @@ -35822,21 +42344,68 @@ static const u16 sTerapagosTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROCK_SLIDE, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TERAPAGOS #if P_FAMILY_PECHARUNT static const u16 sPecharuntTeachableLearnset[] = { - MOVE_DEFENSE_CURL, - MOVE_ENDURE, + MOVE_FRUSTRATION, + MOVE_HIDDEN_POWER, MOVE_PROTECT, MOVE_REST, - MOVE_ROLLOUT, + MOVE_RETURN, + MOVE_SECRET_POWER, MOVE_SHADOW_BALL, - MOVE_SLEEP_TALK, MOVE_SLUDGE_BOMB, MOVE_TOXIC, + MOVE_DEFENSE_CURL, + MOVE_ENDURE, + MOVE_MIMIC, + MOVE_ROLLOUT, + MOVE_SLEEP_TALK, + MOVE_SUBSTITUTE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PECHARUNT + +const u16 gTutorMoves[] = { + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DEFENSE_CURL, + MOVE_DOUBLE_EDGE, + MOVE_DREAM_EATER, + MOVE_DYNAMIC_PUNCH, + MOVE_ENDURE, + MOVE_EXPLOSION, + MOVE_FIRE_PUNCH, + MOVE_FURY_CUTTER, + MOVE_ICE_PUNCH, + MOVE_ICY_WIND, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, + MOVE_MIMIC, + MOVE_MUD_SLAP, + MOVE_PSYCH_UP, + MOVE_ROCK_SLIDE, + MOVE_ROLLOUT, + MOVE_SEISMIC_TOSS, + MOVE_SLEEP_TALK, + MOVE_SNORE, + MOVE_SOFT_BOILED, + MOVE_SUBSTITUTE, + MOVE_SWAGGER, + MOVE_SWIFT, + MOVE_SWORDS_DANCE, + MOVE_THUNDER_PUNCH, + MOVE_THUNDER_WAVE, + MOVE_UNAVAILABLE, +}; diff --git a/src/pokedex_plus_hgss.c b/src/pokedex_plus_hgss.c index 9a28f13a54..5fcd7d3ef0 100644 --- a/src/pokedex_plus_hgss.c +++ b/src/pokedex_plus_hgss.c @@ -290,9 +290,6 @@ static EWRAM_DATA u16 sLastSelectedPokemon = 0; static EWRAM_DATA u8 sPokeBallRotation = 0; static EWRAM_DATA struct PokedexListItem *sPokedexListItem = NULL; //Pokedex Plus HGSS_Ui -#define MOVES_COUNT_TOTAL (EGG_MOVES_ARRAY_COUNT + MAX_LEVEL_UP_MOVES + NUM_ALL_MACHINES) -EWRAM_DATA static u16 sStatsMoves[MOVES_COUNT_TOTAL] = {0}; -EWRAM_DATA static u16 sStatsMovesTMHM_ID[NUM_ALL_MACHINES] = {0}; struct SearchOptionText @@ -409,8 +406,7 @@ struct PokedexView u8 categoryIconSpriteId; //Physical/Special/Status category u8 numEggMoves; u8 numLevelUpMoves; - u8 numTMHMMoves; - u8 numTutorMoves; + u8 numTeachableMoves; u8 numPreEvolutions; struct PokemonStats sPokemonStats; struct EvoScreenData sEvoScreenData; @@ -4871,7 +4867,7 @@ static void Task_LoadStatsScreen(u8 taskId) sPokedexView->movesTotal = 0; sPokedexView->numEggMoves = 0; sPokedexView->numLevelUpMoves = 0; - sPokedexView->numTMHMMoves = 0; + sPokedexView->numTeachableMoves = 0; if (CalculateMoves()) gMain.state++; break; @@ -5059,87 +5055,15 @@ static void PrintStatsScreen_DestroyMoveItemIcon(u8 taskId) DestroySprite(&gSprites[gTasks[taskId].data[3]]); //Destroy item icon } -static u16 AddTMTutorMoves(u16 species, u16 movesTotal, u8 *numTMHMMoves, u8 *numTutorMoves) -{ - u16 i, move; - bool8 isTMMove[MOVES_COUNT] = {0}; - const u16 *teachableLearnset = GetSpeciesTeachableLearnset(species); - - // TM Moves - if (HGSS_SORT_TMS_BY_NUM) - { - for (i = 0; i < NUM_ALL_MACHINES; i++) - { - move = GetTMHMMoveId(i + 1); - if (move != MOVE_NONE && CanLearnTeachableMove(species, move)) - { - isTMMove[move] = TRUE; - sStatsMovesTMHM_ID[*numTMHMMoves] = GetTMHMItemId(i + 1); - (*numTMHMMoves)++; - sStatsMoves[movesTotal] = move; - movesTotal++; - } - } - } - else - { - for (i = 0; teachableLearnset[i] != MOVE_UNAVAILABLE; i++) - { - move = teachableLearnset[i]; - for (u16 j = 0; j < NUM_ALL_MACHINES; j++) - { - if (GetTMHMMoveId(j + 1) == move) - { - isTMMove[move] = TRUE; - sStatsMovesTMHM_ID[*numTMHMMoves] = GetTMHMItemId(j + 1); - (*numTMHMMoves)++; - sStatsMoves[movesTotal] = move; - movesTotal++; - break; - } - } - } - } - - // Tutor Moves -#if P_TUTOR_MOVES_ARRAY - for (i = 0; gTutorMoves[i] != MOVE_UNAVAILABLE; i++) - { - move = gTutorMoves[i]; - if (!isTMMove[move] && CanLearnTeachableMove(species, move)) - { - sStatsMoves[movesTotal] = move; - movesTotal++; - (*numTutorMoves)++; - } - } -#else - for (i = 0; teachableLearnset[i] != MOVE_UNAVAILABLE; i++) - { - move = teachableLearnset[i]; - if (!isTMMove[move] && CanLearnTeachableMove(species, move)) - { - sStatsMoves[movesTotal] = move; - movesTotal++; - (*numTutorMoves)++; - } - } -#endif - return movesTotal; -} - static bool8 CalculateMoves(void) { u16 species = NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum); u16 statsMovesEgg[EGG_MOVES_ARRAY_COUNT] = {0}; - u16 statsMovesLevelUp[MAX_LEVEL_UP_MOVES] = {0}; u8 numEggMoves = 0; u8 numLevelUpMoves = 0; - u8 numTMHMMoves = 0; - u8 numTutorMoves = 0; - u16 movesTotal = 0; + u8 numTeachableMoves = 0; u8 i; // Mega and Gmax Pokémon don't have distinct learnsets from their base form; so use base species for calculation @@ -5161,57 +5085,91 @@ static bool8 CalculateMoves(void) numEggMoves = GetEggMovesBySpecies(species, statsMovesEgg); } - for (i = 0; i < numEggMoves; i++) - { - sStatsMoves[movesTotal] = statsMovesEgg[i]; - movesTotal++; - } - // Level up moves - numLevelUpMoves = GetLevelUpMovesBySpecies(species, statsMovesLevelUp); - for (i = 0; i < numLevelUpMoves; i++) - { - sStatsMoves[movesTotal] = statsMovesLevelUp[i]; - movesTotal++; - } + const struct LevelUpMove *learnset = GetSpeciesLevelUpLearnset(species); + for (i = 0; i < MAX_LEVEL_UP_MOVES && learnset[i].move != LEVEL_UP_MOVE_END; i++) + numLevelUpMoves++; // TM and Tutor moves - movesTotal = AddTMTutorMoves(species, movesTotal, &numTMHMMoves, &numTutorMoves); + const u16 *teachableLearnset = GetSpeciesTeachableLearnset(species); + for (i = 0; teachableLearnset[i] != MOVE_UNAVAILABLE; i++) + numTeachableMoves++; sPokedexView->numEggMoves = numEggMoves; sPokedexView->numLevelUpMoves = numLevelUpMoves; - sPokedexView->numTMHMMoves = numTMHMMoves; - sPokedexView->numTutorMoves = numTutorMoves; - sPokedexView->movesTotal = movesTotal; + sPokedexView->numTeachableMoves = numTeachableMoves; + sPokedexView->movesTotal = (numEggMoves + numLevelUpMoves + numTeachableMoves); return TRUE; } +static u16 GetSelectedMove(u32 species, u32 selected) +{ + if (selected < sPokedexView->numEggMoves) + return GetSpeciesEggMoves(species)[selected]; + selected -= sPokedexView->numEggMoves; + if (selected < sPokedexView->numLevelUpMoves) + return GetSpeciesLevelUpLearnset(species)[selected].move; + selected -= sPokedexView->numLevelUpMoves; + if (selected < sPokedexView->numTeachableMoves) + return GetSpeciesTeachableLearnset(species)[selected]; + return MOVE_NONE; //It should never get here but it allows us to visually see errors +} + static void PrintStatsScreen_Moves_Top(u8 taskId) { - u8 numEggMoves = sPokedexView->numEggMoves; - u8 numLevelUpMoves = sPokedexView->numLevelUpMoves; - u8 numTMHMMoves = sPokedexView->numTMHMMoves; - u8 numTutorMoves = sPokedexView->numTutorMoves; - u16 movesTotal = sPokedexView->movesTotal; - u16 selected = sPokedexView->moveSelected; - u8 level; u8 moves_x = 5; u8 moves_y = 3; - u16 move; - u16 item; - - u16 species = NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum); - - //Move - move = sStatsMoves[selected]; + u32 item = ITEM_MASTER_BALL; + u32 species = NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum); + u32 selected = sPokedexView->moveSelected; + u32 move = GetSelectedMove(species, selected); //Moves selected from move max ConvertIntToDecimalStringN(gStringVar1, (selected+1), STR_CONV_MODE_RIGHT_ALIGN, 3); - ConvertIntToDecimalStringN(gStringVar2, movesTotal, STR_CONV_MODE_RIGHT_ALIGN, 3); + ConvertIntToDecimalStringN(gStringVar2, sPokedexView->movesTotal, STR_CONV_MODE_RIGHT_ALIGN, 3); StringExpandPlaceholders(gStringVar1, sText_Stats_MoveSelectedMax); PrintStatsScreenTextSmallWhite(WIN_STATS_MOVES_TOP, gStringVar1, moves_x-1, moves_y+1); + //Calculate and retrieve correct move from the arrays + if (selected < sPokedexView->numEggMoves) + { + PrintStatsScreenTextSmall(WIN_STATS_MOVES_TOP, gText_ThreeDashes, moves_x + 113, moves_y + 9); + item = ITEM_LUCKY_EGG; + } + else if (selected < (sPokedexView->numLevelUpMoves + sPokedexView->numEggMoves)) + { + u32 level = GetSpeciesLevelUpLearnset(species)[selected - sPokedexView->numEggMoves].level; + ConvertIntToDecimalStringN(gStringVar1, level, STR_CONV_MODE_LEFT_ALIGN, 3); //Move learn lvl + PrintStatsScreenTextSmall(WIN_STATS_MOVES_TOP, sText_Stats_MoveLevel, moves_x + 113, moves_y + 3); //Level text + PrintStatsScreenTextSmall(WIN_STATS_MOVES_TOP, gStringVar1, moves_x + 113, moves_y + 14); //Print level + item = ITEM_RARE_CANDY; + } + else if (move) + { + u32 TMHMItemId = ITEM_NONE; + for (u32 i = 0; i < NUM_ALL_MACHINES; i++) + { + if (move == GetTMHMMoveId(i + 1)) + TMHMItemId = GetTMHMItemId(i + 1); + } + if (TMHMItemId) + { + CopyItemName(TMHMItemId, gStringVar1); //TM name + PrintStatsScreenTextSmall(WIN_STATS_MOVES_TOP, gStringVar1, moves_x + 113, moves_y + 9); + item = TMHMItemId; + } + else + { + PrintStatsScreenTextSmall(WIN_STATS_MOVES_TOP, gText_ThreeDashes, moves_x + 113, moves_y + 9); + item = ITEM_TEACHY_TV; + } + } + else + { + StringCopy(gStringVar4, gText_CommunicationError); + } + //Move name StringCopy(gStringVar3, GetMoveName(move)); StringCopyPadded(gStringVar3, gStringVar3, CHAR_SPACE, 20); @@ -5229,37 +5187,6 @@ static void PrintStatsScreen_Moves_Top(u8 taskId) SetSpriteInvisibility(0, TRUE); } - //Calculate and retrieve correct move from the arrays - if (selected < numEggMoves) - { - PrintStatsScreenTextSmall(WIN_STATS_MOVES_TOP, gText_ThreeDashes, moves_x + 113, moves_y + 9); - item = ITEM_LUCKY_EGG; - } - else if (selected < (numEggMoves + numLevelUpMoves)) - { - level = GetSpeciesLevelUpLearnset(species)[(selected-numEggMoves)].level; - ConvertIntToDecimalStringN(gStringVar1, level, STR_CONV_MODE_LEFT_ALIGN, 3); //Move learn lvl - PrintStatsScreenTextSmall(WIN_STATS_MOVES_TOP, sText_Stats_MoveLevel, moves_x + 113, moves_y + 3); //Level text - PrintStatsScreenTextSmall(WIN_STATS_MOVES_TOP, gStringVar1, moves_x + 113, moves_y + 14); //Print level - item = ITEM_RARE_CANDY; - } - else if (selected < (numEggMoves + numLevelUpMoves + numTMHMMoves)) - { - CopyItemName(sStatsMovesTMHM_ID[(selected-numEggMoves-numLevelUpMoves)], gStringVar1); //TM name - PrintStatsScreenTextSmall(WIN_STATS_MOVES_TOP, gStringVar1, moves_x + 113, moves_y + 9); - item = sStatsMovesTMHM_ID[(selected-numEggMoves-numLevelUpMoves)]; - } - else if (selected < (numEggMoves + numLevelUpMoves + numTMHMMoves + numTutorMoves)) - { - PrintStatsScreenTextSmall(WIN_STATS_MOVES_TOP, gText_ThreeDashes, moves_x + 113, moves_y + 9); - item = ITEM_TEACHY_TV; - } - else - { - StringCopy(gStringVar4, gText_CommunicationError); - item = ITEM_MASTER_BALL; - } - //Egg/TM/Level/Tutor Item Icon gTasks[taskId].data[3] = AddItemIconSprite(ITEM_TAG, ITEM_TAG, item); gSprites[gTasks[taskId].data[3]].x2 = 203; @@ -5270,13 +5197,11 @@ static void PrintStatsScreen_Moves_Top(u8 taskId) static void PrintStatsScreen_Moves_Description(u8 taskId) { - u16 selected = sPokedexView->moveSelected; - u16 move; u8 moves_x = 5; u8 moves_y = 5; - //Move - move = sStatsMoves[selected]; + u32 species = NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum); + u32 move = GetSelectedMove(species, sPokedexView->moveSelected); //Move description if (gTasks[taskId].data[5] == 0) @@ -5295,6 +5220,7 @@ static void PrintStatsScreen_Moves_BottomText(u8 taskId) { u8 moves_x = 8; u8 moves_y = 3; + if (gTasks[taskId].data[5] == 0) { PrintStatsScreenTextSmall(WIN_STATS_MOVES_BOTTOM, gText_Power, moves_x, moves_y); @@ -5311,15 +5237,14 @@ static void PrintStatsScreen_Moves_Bottom(u8 taskId) { u8 moves_x = 8; u8 moves_y = 3; - u8 selected = sPokedexView->moveSelected; - u16 move; + //Contest u8 contest_effectValue; u8 contest_appeal = 0; u8 contest_jam = 0; - //Move - move = sStatsMoves[selected]; + u32 species = NationalPokedexNumToSpeciesHGSS(sPokedexListItem->dexNum); + u32 move = GetSelectedMove(species, sPokedexView->moveSelected); //Power + Accuracy if (gTasks[taskId].data[5] == 0) diff --git a/src/pokemon.c b/src/pokemon.c index 08ca51ee65..e241cf3d03 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -95,9 +95,6 @@ EWRAM_DATA static u8 sTriedEvolving = 0; EWRAM_DATA u16 gFollowerSteps = 0; #include "data/abilities.h" -#if P_TUTOR_MOVES_ARRAY -#include "data/tutor_moves.h" -#endif // P_TUTOR_MOVES_ARRAY // Used in an unreferenced function in RS. // Unreferenced here and in FRLG. @@ -5581,89 +5578,17 @@ bool8 TryIncrementMonLevel(struct Pokemon *mon) } } -static const u16 sUniversalMoves[] = -{ - MOVE_BIDE, - MOVE_FRUSTRATION, - MOVE_HIDDEN_POWER, - MOVE_MIMIC, - MOVE_NATURAL_GIFT, - MOVE_RAGE, - MOVE_RETURN, - MOVE_SECRET_POWER, - MOVE_SUBSTITUTE, - MOVE_TERA_BLAST, -}; - u8 CanLearnTeachableMove(u16 species, u16 move) { + const u16 *teachableLearnset = GetSpeciesTeachableLearnset(species); if (species == SPECIES_EGG) - { return FALSE; - } - else if (species == SPECIES_MEW) + for (u32 i = 0; teachableLearnset[i] != MOVE_UNAVAILABLE; i++) { - switch (move) - { - case MOVE_BADDY_BAD: - case MOVE_BOUNCY_BUBBLE: - case MOVE_BUZZY_BUZZ: - case MOVE_DRAGON_ASCENT: - case MOVE_FLOATY_FALL: - case MOVE_FREEZY_FROST: - case MOVE_GLITZY_GLOW: - case MOVE_RELIC_SONG: - case MOVE_SAPPY_SEED: - case MOVE_SECRET_SWORD: - case MOVE_SIZZLY_SLIDE: - case MOVE_SPARKLY_SWIRL: - case MOVE_SPLISHY_SPLASH: - case MOVE_VOLT_TACKLE: - case MOVE_ZIPPY_ZAP: - return FALSE; - default: + if (teachableLearnset[i] == move) return TRUE; - } - } - else - { - u32 i, j; - const u16 *teachableLearnset = GetSpeciesTeachableLearnset(species); - for (i = 0; i < ARRAY_COUNT(sUniversalMoves); i++) - { - if (sUniversalMoves[i] == move) - { - if (!gSpeciesInfo[species].tmIlliterate) - { - if (move == MOVE_TERA_BLAST && GET_BASE_SPECIES_ID(species) == SPECIES_TERAPAGOS) - return FALSE; - if (GET_BASE_SPECIES_ID(species) == SPECIES_PYUKUMUKU && (move == MOVE_HIDDEN_POWER || move == MOVE_RETURN || move == MOVE_FRUSTRATION)) - return FALSE; - return TRUE; - } - else - { - const struct LevelUpMove *learnset = GetSpeciesLevelUpLearnset(species); - - if (P_TM_LITERACY < GEN_6) - return FALSE; - - for (j = 0; j < MAX_LEVEL_UP_MOVES && learnset[j].move != LEVEL_UP_MOVE_END; j++) - { - if (learnset[j].move == move) - return TRUE; - } - return FALSE; - } - } - } - for (i = 0; teachableLearnset[i] != MOVE_UNAVAILABLE; i++) - { - if (teachableLearnset[i] == move) - return TRUE; - } - return FALSE; } + return FALSE; } u8 GetMoveRelearnerMoves(struct Pokemon *mon, u16 *moves) diff --git a/tools/learnset_helpers/make_teachables.py b/tools/learnset_helpers/make_teachables.py index 6f3b186b68..d8c79adf94 100644 --- a/tools/learnset_helpers/make_teachables.py +++ b/tools/learnset_helpers/make_teachables.py @@ -33,14 +33,14 @@ import typing CONFIG_ENABLED_PAT = re.compile(r"#define P_LEARNSET_HELPER_TEACHABLE\s+(?P[^ ]*)") -INCFILE_HAS_TUTOR_PAT = re.compile(r"special ChooseMonForMoveTutor") -INCFILE_MOVE_PAT = re.compile(r"setvar VAR_0x8005, (MOVE_.*)") +ALPHABETICAL_ORDER_ENABLED_PAT = re.compile(r"#define HGSS_SORT_TMS_BY_NUM\s+(?P[^ ]*)") +TM_LITTERACY_PAT = re.compile(r"#define P_TM_LITERACY\s+GEN_(?P[^ ]*)") TMHM_MACRO_PAT = re.compile(r"F\((\w+)\)") -UNIVERSAL_MOVES_PAT = re.compile(r"static const u16 sUniversalMoves\[\]\s*=\s*{((.|\n)*?)\n};") TEACHABLE_ARRAY_DECL_PAT = re.compile(r"(?Pstatic const u16 s(?P\w+)TeachableLearnset\[\]) = {[\s\S]*?};") +MOVE_TUTOR_ARRAY_DECL_PAT = re.compile(r"(?Pconst u16 gTutorMoves\[\] = {)[\s\S]*? MOVE_UNAVAILABLE,") SNAKIFY_PAT = re.compile(r"(?!^)([A-Z]+)") -TUTOR_ARRAY_ENABLED_PAT = re.compile(r"#define\s+P_TUTOR_MOVES_ARRAY\s+(?P[^ ]*)") - +TUTOR_ARRAY_ENABLED_PAT = re.compile(r"#define\s+POKEDEX_PLUS_HGSS\s+(?P[^ ]*)") +POKEMON_TEACHING_TYPE_PAT = re.compile(r"\{[\s\S]*?(.teachingType\s*=\s*(?P[A-Z_]+),[\s\S]*?)?\.teachableLearnset\s*=\s*s(?P\w+?)TeachableLearnset[\s\S]*?\}") def enabled() -> bool: """ @@ -51,22 +51,6 @@ def enabled() -> bool: cfg_defined = CONFIG_ENABLED_PAT.search(cfg_pokemon) return cfg_defined is not None and cfg_defined.group("cfg_val") in ("TRUE", "1") - -def extract_repo_tutors() -> typing.Generator[str, None, None]: - """ - Yield MOVE constants which are *likely* assigned to a move tutor. This isn't - foolproof, but it's suitable. - """ - for inc_fname in chain(glob.glob("./data/scripts/*.inc"), glob.glob("./data/maps/*/scripts.inc")): - with open(inc_fname, "r") as inc_fp: - incfile = inc_fp.read() - if not INCFILE_HAS_TUTOR_PAT.search(incfile): - continue - - for move in INCFILE_MOVE_PAT.finditer(incfile): - yield move.group(1) - - def extract_repo_tms() -> typing.Generator[str, None, None]: """ Yield MOVE constants assigned to a TM or HM in the user's repo. @@ -80,22 +64,37 @@ def extract_repo_tms() -> typing.Generator[str, None, None]: for match in match_it: yield f"MOVE_{match.group(1)}" +def extract_repo_teaching_types() -> dict[str, str]: + species_teaching_types = {} + for families_fname in sorted(glob.glob("src/data/pokemon/species_info/gen_*_families.h")): + with open(families_fname, "r") as family_fp: + family_file = family_fp.read() + for pokemon in POKEMON_TEACHING_TYPE_PAT.finditer(family_file): + if pokemon.group("teaching_type"): + species_teaching_types[pokemon.group("name")] = pokemon.group("teaching_type") + else: + species_teaching_types[pokemon.group("name")] = "DEFAULT_LEARNING" + return species_teaching_types -def extract_repo_universals() -> list[str]: - """ - Return a list of MOVE constants which are deemed to be universal and can - thus be learned by any species. - """ - with open("./src/pokemon.c", "r") as pokemon_fp: - if match := UNIVERSAL_MOVES_PAT.search(pokemon_fp.read()): - return list(filter(lambda s: s, map(lambda s: s.strip(), match.group(1).split(',')))) - return list() +def extract_tm_litteracy_config() -> bool: + config = False + with open("./include/config/pokemon.h", "r") as cfg_pokemon_fp: + cfg_pokemon = cfg_pokemon_fp.read() + cfg_defined = TM_LITTERACY_PAT.search(cfg_pokemon) + if cfg_defined: + cfg_val = cfg_defined.group("cfg_val") + if ((cfg_val == "LATEST") or (int(cfg_val) > 6)): + config = True + return config - -def prepare_output(all_learnables: dict[str, set[str]], repo_teachables: set[str], header: str) -> str: +def prepare_output(all_learnables: dict[str, set[str]], tms: list[str], tutors: list[str], special_movesets, header: str) -> str: """ Build the file content for teachable_learnsets.h. """ + + repo_teaching_types = extract_repo_teaching_types() + tm_litteracy_config = extract_tm_litteracy_config() + with open("./src/data/pokemon/teachable_learnsets.h", "r") as teachables_fp: old = teachables_fp.read() @@ -115,13 +114,22 @@ def prepare_output(all_learnables: dict[str, set[str]], repo_teachables: set[str cursor = match_e + 1 continue - if species_upper == "MEW": - new += old[cursor:match_e + 1] # copy the original content and skip. - cursor = match_e + 1 - continue + if repo_teaching_types[species.group("name")] == "ALL_TEACHABLES": + learnables = filter(lambda m: m not in special_movesets["signatureTeachables"], tms + tutors) + elif repo_teaching_types[species.group("name")] == "TM_ILLITERATE": + learnables = all_learnables[species_upper] + if not tm_litteracy_config: + learnables = filter(lambda m: m not in special_movesets["universalMoves"], learnables) + else: + learnables = all_learnables[species_upper] + special_movesets["universalMoves"] - repo_species_teachables = filter(lambda m: m in repo_teachables, all_learnables[species_upper]) + part1 = list(filter(lambda m: m in learnables, tms)) + part2 = list(filter(lambda m: m in learnables, tutors)) + repo_species_teachables = part1 + part2 + if species_upper == "TERAPAGOS": + repo_species_teachables = filter(lambda m: m != "MOVE_TERA_BLAST", repo_species_teachables) + repo_species_teachables = list(dict.fromkeys(repo_species_teachables)) new += old[cursor:match_b] new += "\n".join([ f"{species.group('decl')} = {{", @@ -130,39 +138,23 @@ def prepare_output(all_learnables: dict[str, set[str]], repo_teachables: set[str ]) cursor = match_e + 1 + tutors_array = MOVE_TUTOR_ARRAY_DECL_PAT.search(old) + match_b, match_e = tutors_array.span() + new += old[cursor:match_b] + new += "\n".join([ + f"{tutors_array.group('decl')}", + f" {joinpat.join(chain(sorted(tutors)))}," + f"\n MOVE_UNAVAILABLE,\n" + ]) + cursor = match_e + 1 + new += old[cursor:] return new -def create_tutor_moves_array(tutors: list[str]) -> None: - """ - Generate gTutorMoves[] if P_TUTOR_MOVES_ARRAY is enabled. - """ - # Check if the config is enabled - with open("./include/config/pokemon.h", "r") as cfg_pokemon_fp: - cfg_pokemon = cfg_pokemon_fp.read() - cfg_defined = TUTOR_ARRAY_ENABLED_PAT.search(cfg_pokemon) - if not (cfg_defined and cfg_defined.group("cfg_val") in ("TRUE", "1")): - return - - # If enabled, generate the tutor moves array - header = dedent("""\ - // DO NOT MODIFY THIS FILE! It is auto-generated by tools/learnset_helpers/make_teachables.py - // Set the config P_TUTOR_MOVES_ARRAY in include/config/pokemon.h to TRUE to enable this array! - - const u16 gTutorMoves[] = { - """) - - lines = [f" {move}," for move in sorted(tutors)] - lines.append(" MOVE_UNAVAILABLE\n};\n") - - with open("./src/data/tutor_moves.h", "w") as f: - f.write(header + "\n".join(lines)) - - def prepare_header(h_align: int, tmshms: list[str], tutors: list[str], universals: list[str]) -> str: - universals_title = "Near-universal moves found from sUniversalMoves:" + universals_title = "Near-universal moves found in data/special_movesets.json:" tmhm_title = "TM/HM moves found in \"include/constants/tms_hms.h\":" tutor_title = "Tutor moves found from map scripts:" h_align = max(h_align, len(universals_title), len(tmhm_title), len(tutor_title)) @@ -204,30 +196,38 @@ def main(): quit(1) SOURCE_LEARNSETS_JSON = pathlib.Path(sys.argv[1]) + SOURCE_TUTORS_JSON = pathlib.Path(sys.argv[2]) assert SOURCE_LEARNSETS_JSON.exists(), f"{SOURCE_LEARNSETS_JSON=} does not exist" assert SOURCE_LEARNSETS_JSON.is_file(), f"{SOURCE_LEARNSETS_JSON=} is not a file" - repo_universals = extract_repo_universals() + assert SOURCE_TUTORS_JSON.exists(), f"{SOURCE_TUTORS_JSON=} does not exist" + assert SOURCE_TUTORS_JSON.is_file(), f"{SOURCE_TUTORS_JSON=} is not a file" + repo_tms = list(extract_repo_tms()) - repo_tutors = list(extract_repo_tutors()) - repo_teachables = set(filter( - lambda move: move not in set(repo_universals), - chain(repo_tms, repo_tutors) - )) + order_alphabetically = False - create_tutor_moves_array(repo_tutors) + with open("./include/config/pokedex_plus_hgss.h", "r") as cfg_pokemon_fp: + cfg_pokemon = cfg_pokemon_fp.read() + cfg_defined = ALPHABETICAL_ORDER_ENABLED_PAT.search(cfg_pokemon) + if cfg_defined is None or cfg_defined.group("cfg_val") in ("FALSE", "0"): + repo_tms = sorted(repo_tms) - h_align = max(map(lambda move: len(move), chain(repo_universals, repo_teachables))) + 2 - header = prepare_header(h_align, repo_tms, repo_tutors, repo_universals) + with open(SOURCE_TUTORS_JSON, "r") as fp: + repo_tutors = json.load(fp) + + with open("src/data/pokemon/special_movesets.json", "r") as file: + special_movesets = json.load(file) + + h_align = max(map(lambda move: len(move), chain(special_movesets["universalMoves"], repo_tms, repo_tutors))) + 2 + header = prepare_header(h_align, repo_tms, repo_tutors, special_movesets["universalMoves"]) with open(SOURCE_LEARNSETS_JSON, "r") as source_fp: all_learnables = json.load(source_fp) - content = prepare_output(all_learnables, repo_teachables, header) + content = prepare_output(all_learnables, repo_tms, repo_tutors, special_movesets, header) with open("./src/data/pokemon/teachable_learnsets.h", "w") as teachables_fp: teachables_fp.write(content) - if __name__ == "__main__": main() diff --git a/tools/learnset_helpers/make_tutors.py b/tools/learnset_helpers/make_tutors.py new file mode 100644 index 0000000000..2ef3790dd8 --- /dev/null +++ b/tools/learnset_helpers/make_tutors.py @@ -0,0 +1,68 @@ +from itertools import chain + +import glob +import json +import pathlib +import re +import sys +import typing + +CONFIG_ENABLED_PAT = re.compile(r"#define P_LEARNSET_HELPER_TEACHABLE\s+(?P[^ ]*)") +INCFILE_HAS_TUTOR_PAT = re.compile(r"special ChooseMonForMoveTutor") +INCFILE_MOVE_PAT = re.compile(r"setvar VAR_0x8005, (MOVE_.*)") + +def enabled() -> bool: + """ + Check if the user has explicitly enabled this opt-in helper. + """ + with open("./include/config/pokemon.h", "r") as cfg_pokemon_fp: + cfg_pokemon = cfg_pokemon_fp.read() + cfg_defined = CONFIG_ENABLED_PAT.search(cfg_pokemon) + return cfg_defined is not None and cfg_defined.group("cfg_val") in ("TRUE", "1") + +def extract_repo_tutors() -> typing.Generator[str, None, None]: + """ + Yield MOVE constants which are *likely* assigned to a move tutor. This isn't + foolproof, but it's suitable. + """ + for inc_fname in chain(glob.glob("./data/scripts/*.inc"), glob.glob("./data/maps/*/scripts.inc")): + with open(inc_fname, "r") as inc_fp: + incfile = inc_fp.read() + if not INCFILE_HAS_TUTOR_PAT.search(incfile): + continue + + for move in INCFILE_MOVE_PAT.finditer(incfile): + yield move.group(1) + + +def dump_output(file, data): + with open(file, "w") as fp: + fp.write(data) + +def main(): + if not enabled(): + quit() + + if len(sys.argv) < 2: + print("Missing required arguments", file=sys.stderr) + print(__doc__, file=sys.stderr) + quit(1) + + OUTPUT_FILE = pathlib.Path(sys.argv[1]) + + assert OUTPUT_FILE.parent.exists(), f"parent of {OUTPUT_FILE=} does not exist" + + new_tutors = json.dumps(sorted(list(extract_repo_tutors())), indent=2) + if OUTPUT_FILE.exists() and OUTPUT_FILE.is_file(): + with open(OUTPUT_FILE, "r") as fp: + old_tutors = fp.read() + else: + dump_output(OUTPUT_FILE, new_tutors) + return + + if new_tutors != old_tutors: + dump_output(OUTPUT_FILE, new_tutors) + + +if __name__ == "__main__": + main()