diff --git a/Makefile b/Makefile index 78ba1cfdc..58d6e120f 100644 --- a/Makefile +++ b/Makefile @@ -175,8 +175,31 @@ MAPJSON := $(TOOLS_DIR)/mapjson/mapjson$(EXE) JSONPROC := $(TOOLS_DIR)/jsonproc/jsonproc$(EXE) TRAINERPROC := $(TOOLS_DIR)/trainerproc/trainerproc$(EXE) PATCHELF := $(TOOLS_DIR)/patchelf/patchelf$(EXE) -ROMTEST ?= $(shell { command -v mgba-rom-test || command -v $(TOOLS_DIR)/mgba/mgba-rom-test$(EXE); } 2>/dev/null) -ROMTESTHYDRA := $(TOOLS_DIR)/mgba-rom-test-hydra/mgba-rom-test-hydra$(EXE) +ifeq ($(shell uname),Darwin) + ROMTEST ?= $(shell command -v mgba-rom-test-mac 2>/dev/null || echo $(TOOLS_DIR)/mgba/mgba-rom-test-mac) + ROMTESTHYDRA := $(shell command -v mgba-rom-test-hydra 2>/dev/null || echo $(TOOLS_DIR)/mgba-rom-test-hydra/mgba-rom-test-hydra) +else ifeq ($(shell uname),Linux) + ROMTEST ?= $(shell command -v mgba-rom-test 2>/dev/null || echo $(TOOLS_DIR)/mgba/mgba-rom-test) + ROMTESTHYDRA := $(shell command -v mgba-rom-test-hydra 2>/dev/null || echo $(TOOLS_DIR)/mgba-rom-test-hydra/mgba-rom-test-hydra) +else + ROMTEST ?= $(TOOLS_DIR)/mgba/mgba-rom-test$(EXE) + ROMTESTHYDRA := $(TOOLS_DIR)/mgba-rom-test-hydra/mgba-rom-test-hydra$(EXE) +endif + +# Learnset helper is a Python script +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 + +# wild_encounters.h is generated by a Python script +WILD_ENCOUNTERS_TOOL_DIR := $(TOOLS_DIR)/wild_encounters +AUTO_GEN_TARGETS += $(DATA_SRC_SUBDIR)/wild_encounters.h + +$(DATA_SRC_SUBDIR)/wild_encounters.h: $(DATA_SRC_SUBDIR)/wild_encounters.json $(WILD_ENCOUNTERS_TOOL_DIR)/wild_encounters_to_header.py $(INCLUDE_DIRS)/config/overworld.h + python3 $(WILD_ENCOUNTERS_TOOL_DIR)/wild_encounters_to_header.py > $@ + +$(C_BUILDDIR)/wild_encounter.o: c_dep += $(DATA_SRC_SUBDIR)/wild_encounters.h PERL := perl SHA1 := $(shell { command -v sha1sum || command -v shasum; } 2>/dev/null) -c @@ -352,6 +375,7 @@ generated: $(AUTO_GEN_TARGETS) clean-generated: -rm -f $(AUTO_GEN_TARGETS) + -rm -f $(ALL_LEARNABLES_JSON) COMPETITIVE_PARTY_SYNTAX := $(shell PATH="$(PATH)"; echo 'COMPETITIVE_PARTY_SYNTAX' | $(CPP) $(CPPFLAGS) -imacros include/gba/defines.h -imacros include/config/general.h | tail -n1) ifeq ($(COMPETITIVE_PARTY_SYNTAX),1) @@ -441,11 +465,16 @@ $(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 > $@ -MOVES_JSON_DIR := $(TOOLS_DIR)/learnset_helpers/porymoves_files -TEACHABLE_DEPS := $(shell find data/ -type f -name '*.inc') $(INCLUDE_DIRS)/constants/tms_hms.h $(C_SUBDIR)/pokemon.c $(wildcard $(MOVES_JSON_DIR)/*.json) +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 + +$(LEARNSET_HELPERS_BUILD_DIR): + @mkdir -p $@ + +$(ALL_LEARNABLES_JSON): $(wildcard $(LEARNSET_HELPERS_DATA_DIR)/*.json) | $(LEARNSET_HELPERS_BUILD_DIR) + python3 $(LEARNSET_HELPERS_DIR)/make_learnables.py $(LEARNSET_HELPERS_DATA_DIR) $@ $(DATA_SRC_SUBDIR)/pokemon/teachable_learnsets.h: $(TEACHABLE_DEPS) - python3 $(TOOLS_DIR)/learnset_helpers/teachable.py + python3 $(LEARNSET_HELPERS_DIR)/make_teachables.py $< # Linker script LD_SCRIPT := ld_script_modern.ld diff --git a/include/rtc.h b/include/rtc.h index 9a2e67492..152aeed21 100644 --- a/include/rtc.h +++ b/include/rtc.h @@ -100,8 +100,11 @@ enum TimeOfDay { TIME_DAY, TIME_EVENING, TIME_NIGHT, + TIMES_OF_DAY_COUNT, }; +#define TIME_OF_DAY_DEFAULT 0 + enum Season { SEASON_SPRING, SEASON_SUMMER, diff --git a/include/wild_encounter.h b/include/wild_encounter.h index dab07d542..c7a00e903 100644 --- a/include/wild_encounter.h +++ b/include/wild_encounter.h @@ -2,6 +2,16 @@ #define GUARD_WILD_ENCOUNTER_H #include "global.h" +#include "rtc.h" + +enum WildPokemonArea +{ + WILD_AREA_LAND, + WILD_AREA_WATER, + WILD_AREA_ROCKS, + WILD_AREA_FISHING, + WILD_AREA_HIDDEN +}; #define LAND_WILD_COUNT 12 #define WATER_WILD_COUNT 5 @@ -27,15 +37,25 @@ struct WildPokemonInfo const struct WildPokemon *wildPokemon; }; +struct WildEncounterTypes +{ + const struct WildPokemonInfo *landMonsInfo; + const struct WildPokemonInfo *waterMonsInfo; + const struct WildPokemonInfo *rockSmashMonsInfo; + const struct WildPokemonInfo *fishingMonsInfo; + const struct WildPokemonInfo *hiddenMonsInfo; +}; + struct WildPokemonHeader { u8 mapGroup; u8 mapNum; - const struct WildPokemonInfo *landMonsInfo; - const struct WildPokemonInfo *waterMonsInfo; - const struct WildPokemonInfo *rockSmashMonsInfo; - const struct WildPokemonInfo *hiddenMonsInfo; - const struct WildPokemonInfo *fishingMonsInfo; + +#if OW_TIME_OF_DAY_ENCOUNTERS +const struct WildEncounterTypes encounterTypes[TIMES_OF_DAY_COUNT]; +#else +const struct WildEncounterTypes encounterTypes[1]; +#endif }; extern const struct WildPokemonHeader gWildMonHeaders[]; @@ -66,5 +86,6 @@ u8 ChooseWildMonIndex_Land(void); u8 ChooseWildMonIndex_WaterRock(void); u8 ChooseHiddenMonIndex(void); bool32 MapHasNoEncounterData(void); +enum TimeOfDay GetTimeOfDayForEncounters(u32 headerId, enum WildPokemonArea area); #endif // GUARD_WILD_ENCOUNTER_H diff --git a/json_data_rules.mk b/json_data_rules.mk index aa9e5b3a2..1969496b0 100644 --- a/json_data_rules.mk +++ b/json_data_rules.mk @@ -1,12 +1,6 @@ # JSON files are run through jsonproc, which is a tool that converts JSON data to an output file # based on an Inja template. https://github.com/pantor/inja -AUTO_GEN_TARGETS += $(DATA_SRC_SUBDIR)/wild_encounters.h -$(DATA_SRC_SUBDIR)/wild_encounters.h: $(DATA_SRC_SUBDIR)/wild_encounters.json $(DATA_SRC_SUBDIR)/wild_encounters.json.txt - $(JSONPROC) $^ $@ - -$(C_BUILDDIR)/wild_encounter.o: c_dep += $(DATA_SRC_SUBDIR)/wild_encounters.h - AUTO_GEN_TARGETS += $(DATA_SRC_SUBDIR)/region_map/region_map_entries.h $(DATA_SRC_SUBDIR)/region_map/region_map_entries.h: $(DATA_SRC_SUBDIR)/region_map/region_map_sections.json $(DATA_SRC_SUBDIR)/region_map/region_map_sections.json.txt $(JSONPROC) $^ $@ diff --git a/src/data/pokemon/teachable_learnsets.h b/src/data/pokemon/teachable_learnsets.h index ba6f15e15..c90b11bf7 100644 --- a/src/data/pokemon/teachable_learnsets.h +++ b/src/data/pokemon/teachable_learnsets.h @@ -1,5 +1,5 @@ // -// DO NOT MODIFY THIS FILE! It is auto-generated from tools/learnset_helpers/teachable.py +// DO NOT MODIFY THIS FILE! It is auto-generated by tools/learnset_helpers/make_teachables.py // // *************************************************** // @@ -63,7 +63,7 @@ // - MOVE_WATERFALL // // - MOVE_DIVE // // *************************************************** // -// Tutor moves found in map scripts: // +// Tutor moves found from map scripts: // // - MOVE_BODY_SLAM // // - MOVE_COUNTER // // - MOVE_DOUBLE_EDGE // @@ -80,7 +80,7 @@ // - MOVE_SWORDS_DANCE // // - MOVE_THUNDER_WAVE // // *************************************************** // -// Near-universal moves found in sUniversalMoves: // +// Near-universal moves found from sUniversalMoves: // // - MOVE_BIDE // // - MOVE_FRUSTRATION // // - MOVE_HIDDEN_POWER // @@ -100,8 +100,10 @@ static const u16 sNoneTeachableLearnset[] = { #if P_FAMILY_BULBASAUR static const u16 sBulbasaurTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -116,17 +118,17 @@ static const u16 sBulbasaurTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sIvysaurTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -142,17 +144,17 @@ static const u16 sIvysaurTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sVenusaurTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -170,10 +172,8 @@ static const u16 sVenusaurTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BULBASAUR @@ -182,9 +182,12 @@ static const u16 sVenusaurTeachableLearnset[] = { static const u16 sCharmanderTeachableLearnset[] = { 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_FACADE, @@ -192,33 +195,33 @@ static const u16 sCharmanderTeachableLearnset[] = { MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sCharmeleonTeachableLearnset[] = { 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_FACADE, @@ -226,33 +229,33 @@ static const u16 sCharmeleonTeachableLearnset[] = { MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sCharizardTeachableLearnset[] = { 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, @@ -263,27 +266,24 @@ static const u16 sCharizardTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CHARMANDER @@ -292,75 +292,78 @@ static const u16 sCharizardTeachableLearnset[] = { static const u16 sSquirtleTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_DIG, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_HAIL, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SURF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; static const u16 sWartortleTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_DIG, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_HAIL, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SURF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; static const u16 sBlastoiseTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_DIG, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -369,25 +372,22 @@ static const u16 sBlastoiseTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SURF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SQUIRTLE @@ -404,7 +404,9 @@ static const u16 sMetapodTeachableLearnset[] = { static const u16 sButterfreeTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -421,8 +423,6 @@ static const u16 sButterfreeTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CATERPIE @@ -441,6 +441,7 @@ static const u16 sBeedrillTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -453,10 +454,9 @@ static const u16 sBeedrillTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_WEEDLE @@ -465,6 +465,7 @@ static const u16 sBeedrillTeachableLearnset[] = { static const u16 sPidgeyTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLY, @@ -476,13 +477,13 @@ static const u16 sPidgeyTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sPidgeottoTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLY, @@ -494,13 +495,13 @@ static const u16 sPidgeottoTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sPidgeotTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLY, @@ -513,7 +514,6 @@ static const u16 sPidgeotTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PIDGEY @@ -522,8 +522,11 @@ static const u16 sPidgeotTeachableLearnset[] = { static const u16 sRattataTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_ICE_BEAM, @@ -540,19 +543,19 @@ static const u16 sRattataTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sRaticateTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HYPER_BEAM, @@ -568,16 +571,13 @@ static const u16 sRaticateTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -585,7 +585,9 @@ 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_ICE_BEAM, @@ -602,8 +604,6 @@ static const u16 sRattataAlolaTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; @@ -611,7 +611,9 @@ static const u16 sRaticateAlolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_BULK_UP, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HYPER_BEAM, @@ -626,13 +628,11 @@ static const u16 sRaticateAlolaTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SNATCH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_ALOLAN_FORMS @@ -642,6 +642,7 @@ static const u16 sRaticateAlolaTeachableLearnset[] = { static const u16 sSpearowTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLY, @@ -652,13 +653,13 @@ static const u16 sSpearowTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sFearowTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLY, @@ -670,7 +671,6 @@ static const u16 sFearowTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SPEAROW @@ -678,7 +678,9 @@ 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_FACADE, @@ -687,6 +689,7 @@ static const u16 sEkansTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SLUDGE_BOMB, MOVE_SNATCH, @@ -695,15 +698,14 @@ static const u16 sEkansTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sArbokTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -713,6 +715,7 @@ static const u16 sArbokTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SLUDGE_BOMB, MOVE_SNATCH, @@ -721,9 +724,6 @@ static const u16 sArbokTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_EKANS @@ -732,69 +732,72 @@ static const u16 sArbokTeachableLearnset[] = { #if P_GEN_2_CROSS_EVOS static const u16 sPichuTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_SEISMIC_TOSS, MOVE_SHOCK_WAVE, MOVE_SURF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_SEISMIC_TOSS, 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_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, MOVE_ROCK_SMASH, + MOVE_SEISMIC_TOSS, MOVE_SHOCK_WAVE, MOVE_STRENGTH, MOVE_SURF, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_SEISMIC_TOSS, 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_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -802,32 +805,30 @@ static const u16 sRaichuTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHOCK_WAVE, MOVE_STRENGTH, MOVE_SURF, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_SEISMIC_TOSS, 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, @@ -837,6 +838,8 @@ static const u16 sRaichuAlolaTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -844,18 +847,15 @@ static const u16 sRaichuAlolaTeachableLearnset[] = { MOVE_REST, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, MOVE_SURF, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_SEISMIC_TOSS, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_ALOLAN_FORMS @@ -865,9 +865,12 @@ static const u16 sRaichuAlolaTeachableLearnset[] = { static const u16 sSandshrewTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -875,29 +878,29 @@ static const u16 sSandshrewTeachableLearnset[] = { MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sSandslashTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -906,20 +909,17 @@ static const u16 sSandslashTeachableLearnset[] = { MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -928,8 +928,11 @@ static const u16 sSandshrewAlolaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -939,17 +942,14 @@ static const u16 sSandshrewAlolaTeachableLearnset[] = { MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -957,8 +957,11 @@ static const u16 sSandslashAlolaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -969,17 +972,14 @@ static const u16 sSandslashAlolaTeachableLearnset[] = { MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_ALOLAN_FORMS @@ -990,8 +990,11 @@ static const u16 sNidoranFTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_ICE_BEAM, @@ -1010,9 +1013,6 @@ static const u16 sNidoranFTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; @@ -1020,8 +1020,11 @@ static const u16 sNidorinaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_ICE_BEAM, @@ -1040,9 +1043,6 @@ static const u16 sNidorinaTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; @@ -1050,9 +1050,12 @@ static const u16 sNidoqueenTeachableLearnset[] = { 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_EARTHQUAKE, MOVE_FACADE, @@ -1062,14 +1065,18 @@ static const u16 sNidoqueenTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SLUDGE_BOMB, @@ -1083,21 +1090,17 @@ static const u16 sNidoqueenTeachableLearnset[] = { MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; static const u16 sNidoranMTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_ICE_BEAM, @@ -1116,17 +1119,17 @@ static const u16 sNidoranMTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sNidorinoTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_ICE_BEAM, @@ -1145,18 +1148,18 @@ static const u16 sNidorinoTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sNidokingTeachableLearnset[] = { 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_FACADE, @@ -1166,14 +1169,18 @@ static const u16 sNidokingTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SLUDGE_BOMB, @@ -1187,13 +1194,6 @@ static const u16 sNidokingTeachableLearnset[] = { MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_NIDORAN @@ -1202,37 +1202,37 @@ 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_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, + MOVE_SOFT_BOILED, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, - MOVE_SOFT_BOILED, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -1240,10 +1240,14 @@ static const u16 sCleffaTeachableLearnset[] = { static const u16 sClefairyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -1252,6 +1256,9 @@ static const u16 sClefairyTeachableLearnset[] = { MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -1259,38 +1266,35 @@ static const u16 sClefairyTeachableLearnset[] = { MOVE_REST, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, MOVE_SNATCH, + MOVE_SOFT_BOILED, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, - MOVE_SOFT_BOILED, - 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_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -1300,6 +1304,9 @@ static const u16 sClefableTeachableLearnset[] = { MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -1307,28 +1314,21 @@ static const u16 sClefableTeachableLearnset[] = { MOVE_REST, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, MOVE_SNATCH, + MOVE_SOFT_BOILED, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, - MOVE_SOFT_BOILED, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CLEFAIRY @@ -1336,7 +1336,9 @@ 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_FACADE, MOVE_FIRE_BLAST, @@ -1350,16 +1352,17 @@ static const u16 sVulpixTeachableLearnset[] = { MOVE_SAFEGUARD, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, 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_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -1375,9 +1378,6 @@ static const u16 sNinetalesTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; @@ -1385,7 +1385,9 @@ static const u16 sNinetalesTeachableLearnset[] = { static const u16 sVulpixAlolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HAIL, @@ -1398,17 +1400,18 @@ static const u16 sVulpixAlolaTeachableLearnset[] = { MOVE_ROAR, MOVE_SAFEGUARD, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, 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_FACADE, MOVE_HAIL, MOVE_HYPER_BEAM, @@ -1422,9 +1425,6 @@ static const u16 sNinetalesAlolaTeachableLearnset[] = { MOVE_SAFEGUARD, MOVE_SOLAR_BEAM, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; #endif //P_ALOLAN_FORMS @@ -1434,33 +1434,33 @@ static const u16 sNinetalesAlolaTeachableLearnset[] = { #if P_GEN_2_CROSS_EVOS static const u16 sIgglybuffTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_SEISMIC_TOSS, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -1468,10 +1468,14 @@ static const u16 sIgglybuffTeachableLearnset[] = { static const u16 sJigglypuffTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -1479,6 +1483,9 @@ static const u16 sJigglypuffTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_ICE_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -1486,6 +1493,7 @@ static const u16 sJigglypuffTeachableLearnset[] = { MOVE_REST, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, @@ -1497,27 +1505,23 @@ static const u16 sJigglypuffTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, - 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_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -1526,6 +1530,9 @@ static const u16 sWigglytuffTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -1533,6 +1540,7 @@ static const u16 sWigglytuffTeachableLearnset[] = { MOVE_REST, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, @@ -1544,17 +1552,9 @@ static const u16 sWigglytuffTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_JIGGLYPUFF @@ -1563,6 +1563,7 @@ static const u16 sWigglytuffTeachableLearnset[] = { static const u16 sZubatTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLY, @@ -1579,13 +1580,13 @@ static const u16 sZubatTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sGolbatTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLY, @@ -1603,7 +1604,6 @@ static const u16 sGolbatTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; @@ -1611,6 +1611,7 @@ static const u16 sGolbatTeachableLearnset[] = { static const u16 sCrobatTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLY, @@ -1628,7 +1629,6 @@ static const u16 sCrobatTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -1639,6 +1639,7 @@ static const u16 sOddishTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -1649,9 +1650,8 @@ static const u16 sOddishTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -1659,6 +1659,7 @@ static const u16 sGloomTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -1669,16 +1670,17 @@ static const u16 sGloomTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, 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_FACADE, MOVE_FLASH, @@ -1691,10 +1693,8 @@ static const u16 sVileplumeTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -1703,6 +1703,7 @@ static const u16 sBellossomTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -1714,9 +1715,8 @@ static const u16 sBellossomTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -1726,10 +1726,13 @@ 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_FACADE, MOVE_FLASH, @@ -1742,22 +1745,22 @@ static const u16 sParasTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - 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_FACADE, MOVE_FLASH, @@ -1771,12 +1774,9 @@ static const u16 sParasectTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PARAS @@ -1784,6 +1784,7 @@ static const u16 sParasectTeachableLearnset[] = { #if P_FAMILY_VENONAT static const u16 sVenonatTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -1798,14 +1799,15 @@ static const u16 sVenonatTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sVenomothTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -1820,8 +1822,6 @@ static const u16 sVenomothTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_VENONAT @@ -1830,49 +1830,49 @@ 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_FACADE, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - 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_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -1880,44 +1880,44 @@ static const u16 sDugtrioTeachableLearnset[] = { static const u16 sDiglettAlolaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, - 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_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_ALOLAN_FORMS @@ -1927,9 +1927,12 @@ static const u16 sDugtrioAlolaTeachableLearnset[] = { static const u16 sMeowthTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_IRON_TAIL, @@ -1944,22 +1947,22 @@ static const u16 sMeowthTeachableLearnset[] = { 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_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sPersianTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, @@ -1976,13 +1979,10 @@ static const u16 sPersianTeachableLearnset[] = { 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_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -1990,8 +1990,11 @@ 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_FACADE, MOVE_IRON_TAIL, MOVE_PROTECT, @@ -2005,21 +2008,21 @@ static const u16 sMeowthAlolaTeachableLearnset[] = { 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_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_FACADE, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, @@ -2035,13 +2038,10 @@ static const u16 sPersianAlolaTeachableLearnset[] = { 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_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_ALOLAN_FORMS @@ -2050,47 +2050,47 @@ 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_FACADE, MOVE_IRON_TAIL, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_SHADOW_BALL, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_METRONOME, - 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_FACADE, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_SHADOW_BALL, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_METRONOME, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_GALARIAN_FORMS @@ -2101,10 +2101,13 @@ 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_FACADE, MOVE_FLASH, @@ -2113,11 +2116,15 @@ static const u16 sPsyduckTeachableLearnset[] = { MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROCK_SMASH, + MOVE_SEISMIC_TOSS, MOVE_SKILL_SWAP, MOVE_STRENGTH, MOVE_SURF, @@ -2126,13 +2133,6 @@ static const u16 sPsyduckTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; @@ -2140,10 +2140,13 @@ 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_FACADE, MOVE_FLASH, @@ -2153,11 +2156,15 @@ static const u16 sGolduckTeachableLearnset[] = { MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROCK_SMASH, + MOVE_SEISMIC_TOSS, MOVE_SKILL_SWAP, MOVE_STRENGTH, MOVE_SURF, @@ -2166,13 +2173,6 @@ static const u16 sGolduckTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PSYDUCK @@ -2181,20 +2181,28 @@ 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_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TAUNT, @@ -2202,35 +2210,35 @@ static const u16 sMankeyTeachableLearnset[] = { MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; static const u16 sPrimeapeTeachableLearnset[] = { 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_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TAUNT, @@ -2238,43 +2246,35 @@ static const u16 sPrimeapeTeachableLearnset[] = { MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, 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_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, + MOVE_METRONOME, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #endif //P_GEN_9_CROSS_EVOS @@ -2284,7 +2284,9 @@ 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_FACADE, MOVE_FIRE_BLAST, @@ -2301,15 +2303,15 @@ static const u16 sGrowlitheTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sArcanineTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -2328,15 +2330,15 @@ static const u16 sArcanineTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #if P_HISUIAN_FORMS static const u16 sGrowlitheHisuiTeachableLearnset[] = { MOVE_AERIAL_ACE, + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -2345,19 +2347,19 @@ static const u16 sGrowlitheHisuiTeachableLearnset[] = { MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SUNNY_DAY, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sArcanineHisuiTeachableLearnset[] = { MOVE_AERIAL_ACE, + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -2367,15 +2369,13 @@ static const u16 sArcanineHisuiTeachableLearnset[] = { MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_THIEF, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_HISUIAN_FORMS @@ -2385,8 +2385,10 @@ static const u16 sArcanineHisuiTeachableLearnset[] = { static const u16 sPoliwagTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIG, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FOCUS_PUNCH, @@ -2401,51 +2403,52 @@ static const u16 sPoliwagTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sPoliwhirlTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_DIG, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_HAIL, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROCK_SMASH, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SURF, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; static const u16 sPoliwrathTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, + MOVE_COUNTER, MOVE_DIG, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -2453,12 +2456,17 @@ static const u16 sPoliwrathTeachableLearnset[] = { MOVE_HAIL, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SURF, MOVE_TAUNT, @@ -2466,14 +2474,6 @@ static const u16 sPoliwrathTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; @@ -2481,9 +2481,12 @@ static const u16 sPoliwrathTeachableLearnset[] = { static const u16 sPolitoedTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_DIG, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -2491,24 +2494,21 @@ static const u16 sPolitoedTeachableLearnset[] = { MOVE_HAIL, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROCK_SMASH, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SURF, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -2517,19 +2517,27 @@ 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, @@ -2537,36 +2545,36 @@ static const u16 sAbraTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, - 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, @@ -2574,37 +2582,37 @@ static const u16 sKadabraTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, - 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, @@ -2612,17 +2620,9 @@ static const u16 sAlakazamTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ABRA @@ -2630,9 +2630,12 @@ 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_EARTHQUAKE, MOVE_FACADE, @@ -2640,31 +2643,31 @@ static const u16 sMachopTeachableLearnset[] = { MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, 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_EARTHQUAKE, MOVE_FACADE, @@ -2672,31 +2675,31 @@ static const u16 sMachokeTeachableLearnset[] = { MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, 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_EARTHQUAKE, MOVE_FACADE, @@ -2705,23 +2708,20 @@ static const u16 sMachampTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MACHOP @@ -2731,6 +2731,7 @@ static const u16 sBellsproutTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -2741,17 +2742,18 @@ static const u16 sBellsproutTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - 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_FACADE, MOVE_FLASH, @@ -2762,18 +2764,18 @@ static const u16 sWeepinbellTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sVictreebelTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -2785,11 +2787,9 @@ static const u16 sVictreebelTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BELLSPROUT @@ -2800,6 +2800,7 @@ static const u16 sTentacoolTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_CUT, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_GIGA_DRAIN, @@ -2812,12 +2813,11 @@ static const u16 sTentacoolTeachableLearnset[] = { MOVE_SAFEGUARD, MOVE_SLUDGE_BOMB, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -2826,6 +2826,7 @@ static const u16 sTentacruelTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_CUT, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_GIGA_DRAIN, @@ -2839,12 +2840,11 @@ static const u16 sTentacruelTeachableLearnset[] = { MOVE_SAFEGUARD, MOVE_SLUDGE_BOMB, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TENTACOOL @@ -2852,186 +2852,186 @@ static const u16 sTentacruelTeachableLearnset[] = { #if P_FAMILY_GEODUDE static const u16 sGeodudeTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; static const u16 sGravelerTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; static const u16 sGolemTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_REST, - MOVE_ROAR, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, - MOVE_SANDSTORM, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_PROTECT, + MOVE_REST, + MOVE_ROAR, MOVE_ROCK_SLIDE, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, + MOVE_SANDSTORM, MOVE_SEISMIC_TOSS, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #if P_ALOLAN_FORMS static const u16 sGeodudeAlolaTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sGravelerAlolaTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SHOCK_WAVE, MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sGolemAlolaTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SHOCK_WAVE, MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_ALOLAN_FORMS @@ -3040,6 +3040,8 @@ static const u16 sGolemAlolaTeachableLearnset[] = { #if P_FAMILY_PONYTA static const u16 sPonytaTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -3053,13 +3055,13 @@ static const u16 sPonytaTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sRapidashTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -3073,17 +3075,17 @@ static const u16 sRapidashTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, 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_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -3091,14 +3093,14 @@ static const u16 sPonytaGalarTeachableLearnset[] = { MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sRapidashGalarTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -3107,8 +3109,6 @@ static const u16 sRapidashGalarTeachableLearnset[] = { MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -3119,10 +3119,13 @@ 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_FACADE, MOVE_FIRE_BLAST, @@ -3143,13 +3146,10 @@ static const u16 sSlowpokeTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -3157,11 +3157,15 @@ 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_EARTHQUAKE, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -3173,6 +3177,9 @@ static const u16 sSlowbroTeachableLearnset[] = { MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -3180,23 +3187,16 @@ static const u16 sSlowbroTeachableLearnset[] = { MOVE_REST, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -3204,11 +3204,15 @@ 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_EARTHQUAKE, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -3220,32 +3224,28 @@ static const u16 sSlowkingTeachableLearnset[] = { MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -3254,6 +3254,7 @@ static const u16 sSlowkingTeachableLearnset[] = { static const u16 sSlowpokeGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIG, MOVE_DIVE, @@ -3274,20 +3275,21 @@ static const u16 sSlowpokeGalarTeachableLearnset[] = { MOVE_SKILL_SWAP, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_THUNDER_WAVE, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - 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_FACADE, MOVE_FIRE_BLAST, @@ -3297,6 +3299,9 @@ static const u16 sSlowbroGalarTeachableLearnset[] = { MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -3308,15 +3313,10 @@ static const u16 sSlowbroGalarTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -3324,6 +3324,7 @@ static const u16 sSlowbroGalarTeachableLearnset[] = { static const u16 sSlowkingGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_DIG, @@ -3337,6 +3338,9 @@ static const u16 sSlowkingGalarTeachableLearnset[] = { MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -3348,14 +3352,10 @@ static const u16 sSlowkingGalarTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_SURF, MOVE_TAUNT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -3364,7 +3364,9 @@ static const u16 sSlowkingGalarTeachableLearnset[] = { #if P_FAMILY_MAGNEMITE static const u16 sMagnemiteTeachableLearnset[] = { + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_LIGHT_SCREEN, @@ -3377,15 +3379,15 @@ static const u16 sMagnemiteTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sMagnetonTeachableLearnset[] = { + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, @@ -3399,16 +3401,17 @@ static const u16 sMagnetonTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #if P_GEN_4_CROSS_EVOS static const u16 sMagnezoneTeachableLearnset[] = { + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, @@ -3422,11 +3425,8 @@ static const u16 sMagnezoneTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -3436,7 +3436,9 @@ 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_FACADE, MOVE_FLY, @@ -3446,43 +3448,41 @@ static const u16 sFarfetchdTeachableLearnset[] = { MOVE_REST, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #if P_GALARIAN_FORMS static const u16 sFarfetchdGalarTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_PROTECT, MOVE_REST, MOVE_ROCK_SMASH, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sSirfetchdTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_PROTECT, MOVE_REST, MOVE_ROCK_SMASH, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -3493,6 +3493,8 @@ static const u16 sSirfetchdTeachableLearnset[] = { static const u16 sDoduoTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLY, @@ -3502,17 +3504,17 @@ static const u16 sDoduoTeachableLearnset[] = { MOVE_REST, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sDodrioTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLY, @@ -3523,13 +3525,11 @@ static const u16 sDodrioTeachableLearnset[] = { MOVE_REST, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DODUO @@ -3538,7 +3538,9 @@ static const u16 sDodrioTeachableLearnset[] = { static const u16 sSeelTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HAIL, @@ -3554,15 +3556,15 @@ static const u16 sSeelTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sDewgongTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HAIL, @@ -3579,8 +3581,6 @@ static const u16 sDewgongTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SEEL @@ -3588,15 +3588,19 @@ static const u16 sDewgongTeachableLearnset[] = { #if P_FAMILY_GRIMER static const u16 sGrimerTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DIG, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_GIGA_DRAIN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SHADOW_BALL, @@ -3610,27 +3614,27 @@ static const u16 sGrimerTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_EXPLOSION, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sMukTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -3645,27 +3649,27 @@ static const u16 sMukTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_EXPLOSION, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #if P_ALOLAN_FORMS static const u16 sGrimerAlolaTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SHADOW_BALL, @@ -3678,27 +3682,27 @@ static const u16 sGrimerAlolaTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_EXPLOSION, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sMukAlolaTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SHADOW_BALL, @@ -3711,10 +3715,6 @@ static const u16 sMukAlolaTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_EXPLOSION, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_ALOLAN_FORMS @@ -3725,7 +3725,9 @@ static const u16 sShellderTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_HAIL, MOVE_ICE_BEAM, @@ -3737,16 +3739,17 @@ static const u16 sShellderTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, MOVE_UNAVAILABLE, }; static const u16 sCloysterTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_HAIL, MOVE_HYPER_BEAM, @@ -3761,9 +3764,6 @@ static const u16 sCloysterTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SHELLDER @@ -3772,6 +3772,8 @@ static const u16 sCloysterTeachableLearnset[] = { static const u16 sGastlyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_GIGA_DRAIN, MOVE_PROTECT, @@ -3789,16 +3791,17 @@ static const u16 sGastlyTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, MOVE_UNAVAILABLE, }; static const u16 sHaunterTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_GIGA_DRAIN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -3814,25 +3817,31 @@ static const u16 sHaunterTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_METRONOME, MOVE_UNAVAILABLE, }; static const u16 sGengarTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROCK_SMASH, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, MOVE_SLUDGE_BOMB, @@ -3843,18 +3852,9 @@ static const u16 sGengarTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GASTLY @@ -3862,14 +3862,18 @@ static const u16 sGengarTeachableLearnset[] = { #if P_FAMILY_ONIX static const u16 sOnixTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -3878,26 +3882,26 @@ static const u16 sOnixTeachableLearnset[] = { MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #if P_GEN_2_CROSS_EVOS static const u16 sSteelixTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -3906,10 +3910,6 @@ static const u16 sSteelixTeachableLearnset[] = { MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -3918,72 +3918,72 @@ 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, MOVE_SNATCH, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, - 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, MOVE_SNATCH, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DROWZEE @@ -3992,10 +3992,12 @@ 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_FACADE, MOVE_HAIL, @@ -4003,27 +4005,27 @@ static const u16 sKrabbyTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STRENGTH, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - 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_FACADE, MOVE_HAIL, @@ -4032,24 +4034,24 @@ static const u16 sKinglerTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STRENGTH, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KRABBY #if P_FAMILY_VOLTORB static const u16 sVoltorbTeachableLearnset[] = { + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_LIGHT_SCREEN, @@ -4062,16 +4064,16 @@ static const u16 sVoltorbTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sElectrodeTeachableLearnset[] = { + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, @@ -4085,17 +4087,17 @@ static const u16 sElectrodeTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #if P_HISUIAN_FORMS static const u16 sVoltorbHisuiTeachableLearnset[] = { MOVE_BULLET_SEED, + MOVE_DOUBLE_EDGE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_GIGA_DRAIN, MOVE_PROTECT, @@ -4107,14 +4109,14 @@ static const u16 sVoltorbHisuiTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sElectrodeHisuiTeachableLearnset[] = { MOVE_BULLET_SEED, + MOVE_DOUBLE_EDGE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, @@ -4127,8 +4129,6 @@ static const u16 sElectrodeHisuiTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -4139,7 +4139,10 @@ static const u16 sElectrodeHisuiTeachableLearnset[] = { static const u16 sExeggcuteTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -4153,21 +4156,22 @@ static const u16 sExeggcuteTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - 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_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -4182,24 +4186,24 @@ static const u16 sExeggutorTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - 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_EXPLOSION, MOVE_FACADE, MOVE_FLAMETHROWER, MOVE_GIGA_DRAIN, @@ -4214,13 +4218,9 @@ static const u16 sExeggutorAlolaTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_ALOLAN_FORMS @@ -4231,8 +4231,11 @@ 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_EARTHQUAKE, MOVE_FACADE, @@ -4241,23 +4244,20 @@ static const u16 sCuboneTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -4265,8 +4265,11 @@ 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_EARTHQUAKE, MOVE_FACADE, @@ -4276,23 +4279,20 @@ static const u16 sMarowakTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -4301,9 +4301,12 @@ 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_FACADE, MOVE_FIRE_BLAST, @@ -4312,25 +4315,22 @@ static const u16 sMarowakAlolaTeachableLearnset[] = { 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_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_ALOLAN_FORMS @@ -4340,87 +4340,87 @@ 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_FACADE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, 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_EARTHQUAKE, MOVE_FACADE, MOVE_FOCUS_PUNCH, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_REST, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_THIEF, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, MOVE_ROCK_SLIDE, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, MOVE_SEISMIC_TOSS, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, MOVE_SWORDS_DANCE, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sHitmonchanTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FOCUS_PUNCH, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_REST, - MOVE_ROCK_SMASH, - MOVE_ROCK_TOMB, - MOVE_STRENGTH, - MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_THIEF, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, MOVE_ROCK_SLIDE, + MOVE_ROCK_SMASH, + MOVE_ROCK_TOMB, MOVE_SEISMIC_TOSS, + MOVE_STRENGTH, + MOVE_SUNNY_DAY, MOVE_SWORDS_DANCE, + MOVE_TAUNT, + MOVE_THIEF, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -4428,28 +4428,28 @@ 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_FACADE, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -4459,10 +4459,14 @@ static const u16 sHitmontopTeachableLearnset[] = { static const u16 sLickitungTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -4471,32 +4475,28 @@ static const u16 sLickitungTeachableLearnset[] = { 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_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -4504,11 +4504,15 @@ static const u16 sLickitungTeachableLearnset[] = { static const u16 sLickilickyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -4516,9 +4520,12 @@ static const u16 sLickilickyTeachableLearnset[] = { 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_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -4528,19 +4535,12 @@ static const u16 sLickilickyTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -4549,7 +4549,9 @@ static const u16 sLickilickyTeachableLearnset[] = { #if P_FAMILY_KOFFING static const u16 sKoffingTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -4567,14 +4569,14 @@ static const u16 sKoffingTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_EXPLOSION, MOVE_UNAVAILABLE, }; static const u16 sWeezingTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -4593,14 +4595,15 @@ static const u16 sWeezingTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_EXPLOSION, MOVE_UNAVAILABLE, }; #if P_GALARIAN_FORMS static const u16 sWeezingGalarTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -4617,9 +4620,6 @@ static const u16 sWeezingGalarTeachableLearnset[] = { MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, MOVE_UNAVAILABLE, }; #endif //P_GALARIAN_FORMS @@ -4629,7 +4629,10 @@ 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_FACADE, @@ -4641,30 +4644,30 @@ static const u16 sRhyhornTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SHOCK_WAVE, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - 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_EARTHQUAKE, MOVE_FACADE, @@ -4674,29 +4677,26 @@ static const u16 sRhydonTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SHOCK_WAVE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -4704,9 +4704,12 @@ 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_FACADE, @@ -4716,10 +4719,13 @@ static const u16 sRhyperiorTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -4727,17 +4733,11 @@ static const u16 sRhyperiorTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -4748,31 +4748,31 @@ static const u16 sRhyperiorTeachableLearnset[] = { static const u16 sHappinyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_HAIL, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, + MOVE_SOFT_BOILED, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, - MOVE_SOFT_BOILED, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -4780,9 +4780,13 @@ static const u16 sHappinyTeachableLearnset[] = { static const u16 sChanseyTeachableLearnset[] = { 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_EARTHQUAKE, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -4794,38 +4798,34 @@ static const u16 sChanseyTeachableLearnset[] = { MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, MOVE_SNATCH, + MOVE_SOFT_BOILED, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SOFT_BOILED, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -4833,9 +4833,13 @@ static const u16 sChanseyTeachableLearnset[] = { static const u16 sBlisseyTeachableLearnset[] = { 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_EARTHQUAKE, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -4847,37 +4851,33 @@ static const u16 sBlisseyTeachableLearnset[] = { MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, MOVE_SNATCH, + MOVE_SOFT_BOILED, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SOFT_BOILED, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -4886,8 +4886,10 @@ 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_FACADE, MOVE_FLASH, @@ -4901,11 +4903,9 @@ static const u16 sTangelaTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -4913,6 +4913,7 @@ static const u16 sTangelaTeachableLearnset[] = { static const u16 sTangrowthTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, MOVE_CUT, @@ -4925,6 +4926,7 @@ static const u16 sTangrowthTeachableLearnset[] = { MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SHOCK_WAVE, @@ -4932,11 +4934,9 @@ static const u16 sTangrowthTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -4947,9 +4947,12 @@ 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_EARTHQUAKE, MOVE_FACADE, @@ -4960,14 +4963,18 @@ static const u16 sKangaskhanTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SOLAR_BEAM, @@ -4979,13 +4986,6 @@ static const u16 sKangaskhanTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KANGASKHAN @@ -4995,6 +4995,7 @@ static const u16 sHorseaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HAIL, @@ -5006,7 +5007,6 @@ static const u16 sHorseaTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; @@ -5014,6 +5014,7 @@ static const u16 sSeadraTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HAIL, @@ -5026,7 +5027,6 @@ static const u16 sSeadraTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; @@ -5034,7 +5034,9 @@ static const u16 sSeadraTeachableLearnset[] = { static const u16 sKingdraTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HAIL, @@ -5047,8 +5049,6 @@ static const u16 sKingdraTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -5058,7 +5058,9 @@ static const u16 sKingdraTeachableLearnset[] = { static const u16 sGoldeenTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HAIL, @@ -5067,19 +5069,19 @@ static const u16 sGoldeenTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - 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_FACADE, MOVE_HAIL, @@ -5089,12 +5091,10 @@ static const u16 sSeakingTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GOLDEEN @@ -5104,6 +5104,7 @@ static const u16 sStaryuTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -5118,11 +5119,10 @@ static const u16 sStaryuTeachableLearnset[] = { MOVE_SURF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -5130,7 +5130,9 @@ static const u16 sStarmieTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_HAIL, @@ -5146,12 +5148,10 @@ static const u16 sStarmieTeachableLearnset[] = { MOVE_SURF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_STARYU @@ -5163,6 +5163,7 @@ static const u16 sMimeJrTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, @@ -5183,10 +5184,9 @@ static const u16 sMimeJrTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -5194,20 +5194,28 @@ 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, @@ -5218,17 +5226,9 @@ static const u16 sMrMimeTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -5236,6 +5236,7 @@ static const u16 sMrMimeTeachableLearnset[] = { static const u16 sMrMimeGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_FACADE, @@ -5243,6 +5244,9 @@ static const u16 sMrMimeGalarTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -5257,10 +5261,6 @@ static const u16 sMrMimeGalarTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -5268,6 +5268,7 @@ static const u16 sMrMimeGalarTeachableLearnset[] = { static const u16 sMrRimeTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_FACADE, @@ -5275,6 +5276,9 @@ static const u16 sMrRimeTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -5289,10 +5293,6 @@ static const u16 sMrRimeTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -5305,7 +5305,9 @@ static const u16 sScytherTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_CALM_MIND, + MOVE_COUNTER, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HYPER_BEAM, @@ -5317,11 +5319,9 @@ static const u16 sScytherTeachableLearnset[] = { MOVE_SAFEGUARD, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -5331,7 +5331,9 @@ static const u16 sScizorTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_CALM_MIND, + MOVE_COUNTER, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HYPER_BEAM, @@ -5345,11 +5347,9 @@ static const u16 sScizorTeachableLearnset[] = { MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -5359,6 +5359,8 @@ static const u16 sKleavorTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, MOVE_CALM_MIND, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HYPER_BEAM, @@ -5366,15 +5368,13 @@ static const u16 sKleavorTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SUNNY_DAY, - MOVE_THIEF, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, + MOVE_THIEF, MOVE_UNAVAILABLE, }; #endif //P_GEN_8_CROSS_EVOS @@ -5385,31 +5385,31 @@ 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_FACADE, MOVE_FLASH, MOVE_HAIL, MOVE_ICE_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, MOVE_THIEF, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -5417,9 +5417,13 @@ 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, @@ -5427,11 +5431,15 @@ static const u16 sJynxTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, MOVE_TAUNT, @@ -5439,14 +5447,6 @@ static const u16 sJynxTeachableLearnset[] = { MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_JYNX @@ -5455,38 +5455,41 @@ 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROCK_SMASH, + MOVE_SEISMIC_TOSS, MOVE_SHOCK_WAVE, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_SEISMIC_TOSS, 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_FACADE, MOVE_FLASH, @@ -5494,36 +5497,35 @@ static const u16 sElectabuzzTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, MOVE_ROCK_SMASH, + MOVE_SEISMIC_TOSS, MOVE_SHOCK_WAVE, MOVE_STRENGTH, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, 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_EARTHQUAKE, MOVE_FACADE, @@ -5533,11 +5535,15 @@ static const u16 sElectivireTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SHOCK_WAVE, @@ -5546,15 +5552,9 @@ static const u16 sElectivireTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -5564,34 +5564,37 @@ 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_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, MOVE_ROCK_SMASH, + MOVE_SEISMIC_TOSS, MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_SEISMIC_TOSS, 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_FACADE, MOVE_FIRE_BLAST, @@ -5599,31 +5602,30 @@ static const u16 sMagmarTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, MOVE_ROAR, MOVE_ROCK_SMASH, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, 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_EARTHQUAKE, MOVE_FACADE, @@ -5632,11 +5634,15 @@ static const u16 sMagmortarTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SOLAR_BEAM, @@ -5647,12 +5653,6 @@ static const u16 sMagmortarTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -5661,10 +5661,12 @@ 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_FACADE, @@ -5673,17 +5675,15 @@ static const u16 sPinsirTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PINSIR @@ -5692,7 +5692,9 @@ 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_FACADE, @@ -5704,6 +5706,7 @@ static const u16 sTaurosTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -5718,36 +5721,35 @@ static const u16 sTaurosTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #if P_PALDEAN_FORMS static const u16 sTaurosPaldeaCombatTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_BULK_UP, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SUNNY_DAY, MOVE_SURF, MOVE_THIEF, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sTaurosPaldeaBlazeTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_BULK_UP, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -5757,33 +5759,31 @@ static const u16 sTaurosPaldeaBlazeTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SUNNY_DAY, MOVE_THIEF, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sTaurosPaldeaAquaTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_BULK_UP, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SURF, MOVE_THIEF, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_PALDEAN_FORMS @@ -5797,7 +5797,9 @@ 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_FACADE, @@ -5820,13 +5822,11 @@ static const u16 sGyaradosTeachableLearnset[] = { 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_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MAGIKARP @@ -5835,8 +5835,11 @@ 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_FACADE, MOVE_HAIL, @@ -5860,9 +5863,6 @@ static const u16 sLaprasTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LAPRAS @@ -5876,8 +5876,10 @@ 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_FACADE, MOVE_IRON_TAIL, @@ -5889,17 +5891,17 @@ static const u16 sEeveeTeachableLearnset[] = { MOVE_SHADOW_BALL, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, 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_FACADE, MOVE_HAIL, @@ -5919,15 +5921,15 @@ static const u16 sVaporeonTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sJolteonTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -5946,17 +5948,17 @@ static const u16 sJolteonTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sFlareonTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -5974,18 +5976,19 @@ static const u16 sFlareonTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, 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_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, @@ -6001,20 +6004,20 @@ static const u16 sEspeonTeachableLearnset[] = { MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, 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_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, @@ -6033,12 +6036,9 @@ static const u16 sUmbreonTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_2_CROSS_EVOS @@ -6047,9 +6047,11 @@ 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_FACADE, MOVE_FLASH, @@ -6065,18 +6067,18 @@ static const u16 sLeafeonTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, 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_FACADE, MOVE_HAIL, @@ -6093,8 +6095,6 @@ static const u16 sGlaceonTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -6102,9 +6102,11 @@ 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_FACADE, MOVE_FLASH, @@ -6123,8 +6125,6 @@ static const u16 sSylveonTeachableLearnset[] = { MOVE_SKILL_SWAP, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_GEN_6_CROSS_EVOS @@ -6134,7 +6134,9 @@ static const u16 sSylveonTeachableLearnset[] = { static const u16 sPorygonTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, @@ -6152,10 +6154,8 @@ static const u16 sPorygonTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -6163,7 +6163,9 @@ static const u16 sPorygonTeachableLearnset[] = { static const u16 sPorygon2TeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, @@ -6180,10 +6182,8 @@ static const u16 sPorygon2TeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -6191,7 +6191,9 @@ static const u16 sPorygon2TeachableLearnset[] = { static const u16 sPorygonZTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, @@ -6208,10 +6210,8 @@ static const u16 sPorygonZTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -6222,7 +6222,9 @@ static const u16 sPorygonZTeachableLearnset[] = { static const u16 sOmanyteTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HAIL, @@ -6231,6 +6233,7 @@ static const u16 sOmanyteTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -6239,16 +6242,15 @@ static const u16 sOmanyteTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sOmastarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HAIL, @@ -6258,18 +6260,16 @@ static const u16 sOmastarTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SURF, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_OMANYTE @@ -6279,7 +6279,9 @@ static const u16 sKabutoTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_GIGA_DRAIN, @@ -6289,6 +6291,7 @@ static const u16 sKabutoTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -6297,9 +6300,6 @@ static const u16 sKabutoTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; @@ -6307,34 +6307,34 @@ 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_FACADE, MOVE_GIGA_DRAIN, MOVE_HAIL, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KABUTO @@ -6343,6 +6343,7 @@ static const u16 sKabutopsTeachableLearnset[] = { static const u16 sAerodactylTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, @@ -6357,6 +6358,7 @@ static const u16 sAerodactylTeachableLearnset[] = { MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -6367,8 +6369,6 @@ static const u16 sAerodactylTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_AERODACTYL @@ -6378,8 +6378,11 @@ static const u16 sAerodactylTeachableLearnset[] = { static const u16 sMunchlaxTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -6387,10 +6390,14 @@ static const u16 sMunchlaxTeachableLearnset[] = { MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -6405,13 +6412,6 @@ static const u16 sMunchlaxTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -6419,8 +6419,11 @@ static const u16 sMunchlaxTeachableLearnset[] = { static const u16 sSnorlaxTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -6429,14 +6432,19 @@ static const u16 sSnorlaxTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SNATCH, @@ -6448,14 +6456,6 @@ static const u16 sSnorlaxTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SNORLAX @@ -6464,6 +6464,7 @@ static const u16 sSnorlaxTeachableLearnset[] = { static const u16 sArticunoTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLY, @@ -6482,7 +6483,6 @@ static const u16 sArticunoTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; @@ -6490,6 +6490,7 @@ static const u16 sArticunoTeachableLearnset[] = { static const u16 sArticunoGalarTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLY, MOVE_HYPER_BEAM, @@ -6503,7 +6504,6 @@ static const u16 sArticunoGalarTeachableLearnset[] = { MOVE_SKILL_SWAP, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; #endif //P_GALARIAN_FORMS @@ -6512,6 +6512,7 @@ static const u16 sArticunoGalarTeachableLearnset[] = { #if P_FAMILY_ZAPDOS static const u16 sZapdosTeachableLearnset[] = { MOVE_AERIAL_ACE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -6531,9 +6532,8 @@ static const u16 sZapdosTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -6542,10 +6542,13 @@ static const u16 sZapdosGalarTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, MOVE_BULK_UP, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_FLY, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, @@ -6554,9 +6557,6 @@ static const u16 sZapdosGalarTeachableLearnset[] = { MOVE_STEEL_WING, MOVE_SUNNY_DAY, MOVE_TAUNT, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, MOVE_UNAVAILABLE, }; #endif //P_GALARIAN_FORMS @@ -6565,6 +6565,7 @@ static const u16 sZapdosGalarTeachableLearnset[] = { #if P_FAMILY_MOLTRES static const u16 sMoltresTeachableLearnset[] = { MOVE_AERIAL_ACE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -6584,7 +6585,6 @@ static const u16 sMoltresTeachableLearnset[] = { MOVE_STEEL_WING, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; @@ -6613,6 +6613,8 @@ static const u16 sMoltresGalarTeachableLearnset[] = { static const u16 sDratiniTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -6632,18 +6634,18 @@ static const u16 sDratiniTeachableLearnset[] = { MOVE_SURF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sDragonairTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -6663,12 +6665,10 @@ static const u16 sDragonairTeachableLearnset[] = { MOVE_SURF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -6676,9 +6676,11 @@ 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_EARTHQUAKE, @@ -6692,11 +6694,15 @@ static const u16 sDragoniteTeachableLearnset[] = { MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -6708,16 +6714,10 @@ static const u16 sDragoniteTeachableLearnset[] = { MOVE_SURF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DRATINI @@ -6726,11 +6726,15 @@ 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_EARTHQUAKE, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -6742,15 +6746,20 @@ static const u16 sMewtwoTeachableLearnset[] = { MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, @@ -6761,19 +6770,10 @@ static const u16 sMewtwoTeachableLearnset[] = { MOVE_TAUNT, 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_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MEWTWO @@ -6788,8 +6788,11 @@ 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_FACADE, MOVE_FLASH, @@ -6802,18 +6805,18 @@ static const u16 sChikoritaTeachableLearnset[] = { MOVE_SAFEGUARD, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, 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_FACADE, MOVE_FLASH, @@ -6828,18 +6831,18 @@ static const u16 sBayleefTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, 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_FACADE, @@ -6856,11 +6859,8 @@ static const u16 sMeganiumTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CHIKORITA @@ -6869,8 +6869,10 @@ static const u16 sMeganiumTeachableLearnset[] = { static const u16 sCyndaquilTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -6882,17 +6884,17 @@ static const u16 sCyndaquilTeachableLearnset[] = { MOVE_ROAR, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sQuilavaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -6907,17 +6909,18 @@ static const u16 sQuilavaTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sTyphlosionTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -6926,33 +6929,32 @@ static const u16 sTyphlosionTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #if P_HISUIAN_FORMS static const u16 sTyphlosionHisuiTeachableLearnset[] = { MOVE_AERIAL_ACE, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -6964,13 +6966,11 @@ static const u16 sTyphlosionHisuiTeachableLearnset[] = { MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_SHADOW_BALL, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_HISUIAN_FORMS @@ -6981,10 +6981,13 @@ 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_FACADE, @@ -6992,23 +6995,20 @@ static const u16 sTotodileTeachableLearnset[] = { MOVE_HAIL, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -7016,10 +7016,13 @@ 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_FACADE, @@ -7027,26 +7030,23 @@ static const u16 sCroconawTeachableLearnset[] = { MOVE_HAIL, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -7054,10 +7054,13 @@ 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_EARTHQUAKE, @@ -7067,26 +7070,23 @@ static const u16 sFeraligatrTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TOTODILE @@ -7095,9 +7095,11 @@ static const u16 sFeraligatrTeachableLearnset[] = { static const u16 sSentretTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLAMETHROWER, @@ -7117,17 +7119,17 @@ static const u16 sSentretTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sFurretTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLAMETHROWER, @@ -7150,8 +7152,6 @@ static const u16 sFurretTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SENTRET @@ -7161,7 +7161,9 @@ static const u16 sHoothootTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_FLY, @@ -7176,16 +7178,17 @@ static const u16 sHoothootTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, 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_FACADE, MOVE_FLASH, MOVE_FLY, @@ -7201,9 +7204,6 @@ static const u16 sNoctowlTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_HOOTHOOT @@ -7213,25 +7213,25 @@ static const u16 sLedybaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_LIGHT_SCREEN, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, MOVE_SAFEGUARD, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -7239,7 +7239,9 @@ static const u16 sLedianTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -7247,6 +7249,7 @@ static const u16 sLedianTeachableLearnset[] = { MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, @@ -7255,12 +7258,9 @@ static const u16 sLedianTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LEDYBA @@ -7268,7 +7268,9 @@ 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_FACADE, MOVE_FLASH, @@ -7281,14 +7283,14 @@ static const u16 sSpinarakTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sAriadosTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -7300,11 +7302,9 @@ static const u16 sAriadosTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SPINARAK @@ -7314,6 +7314,7 @@ static const u16 sChinchouTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -7326,11 +7327,10 @@ static const u16 sChinchouTeachableLearnset[] = { MOVE_SURF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -7338,6 +7338,7 @@ static const u16 sLanturnTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -7351,11 +7352,10 @@ static const u16 sLanturnTeachableLearnset[] = { MOVE_SURF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CHINCHOU @@ -7364,13 +7364,20 @@ static const u16 sLanturnTeachableLearnset[] = { static const u16 sTogepiTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_CALM_MIND, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -7378,31 +7385,28 @@ static const u16 sTogepiTeachableLearnset[] = { MOVE_REST, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, + MOVE_SOFT_BOILED, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, - MOVE_SOFT_BOILED, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sTogeticTeachableLearnset[] = { 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_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -7411,6 +7415,9 @@ static const u16 sTogeticTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -7418,23 +7425,16 @@ static const u16 sTogeticTeachableLearnset[] = { MOVE_REST, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, + MOVE_SOFT_BOILED, MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, - MOVE_SOFT_BOILED, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -7442,9 +7442,12 @@ 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_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -7453,6 +7456,9 @@ static const u16 sTogekissTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -7465,15 +7471,9 @@ static const u16 sTogekissTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -7484,7 +7484,9 @@ static const u16 sNatuTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -7500,10 +7502,8 @@ static const u16 sNatuTeachableLearnset[] = { MOVE_STEEL_WING, MOVE_SUNNY_DAY, MOVE_THIEF, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -7511,7 +7511,9 @@ static const u16 sXatuTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_FLY, @@ -7529,10 +7531,8 @@ static const u16 sXatuTeachableLearnset[] = { MOVE_STEEL_WING, MOVE_SUNNY_DAY, MOVE_THIEF, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_NATU @@ -7540,7 +7540,9 @@ static const u16 sXatuTeachableLearnset[] = { #if P_FAMILY_MAREEP static const u16 sMareepTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -7555,23 +7557,26 @@ static const u16 sMareepTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sFlaaffyTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, @@ -7579,26 +7584,24 @@ static const u16 sFlaaffyTeachableLearnset[] = { MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHOCK_WAVE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_SEISMIC_TOSS, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sAmpharosTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -7606,6 +7609,8 @@ static const u16 sAmpharosTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, @@ -7613,19 +7618,14 @@ static const u16 sAmpharosTeachableLearnset[] = { MOVE_ROAR, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHOCK_WAVE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_SEISMIC_TOSS, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MAREEP @@ -7635,6 +7635,8 @@ static const u16 sAmpharosTeachableLearnset[] = { static const u16 sAzurillTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HAIL, @@ -7648,8 +7650,6 @@ static const u16 sAzurillTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_GEN_3_CROSS_EVOS @@ -7657,9 +7657,11 @@ static const u16 sAzurillTeachableLearnset[] = { static const u16 sMarillTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FOCUS_PUNCH, @@ -7667,30 +7669,30 @@ static const u16 sMarillTeachableLearnset[] = { MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROCK_SMASH, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SURF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; static const u16 sAzumarillTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FOCUS_PUNCH, @@ -7699,21 +7701,19 @@ static const u16 sAzumarillTeachableLearnset[] = { MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROCK_SMASH, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SURF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MARILL @@ -7722,57 +7722,57 @@ 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_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS static const u16 sSudowoodoTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SUDOWOODO @@ -7782,6 +7782,7 @@ static const u16 sHoppipTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BULLET_SEED, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -7793,10 +7794,9 @@ static const u16 sHoppipTeachableLearnset[] = { MOVE_REST, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -7804,6 +7804,7 @@ static const u16 sSkiploomTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BULLET_SEED, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -7815,10 +7816,9 @@ static const u16 sSkiploomTeachableLearnset[] = { MOVE_REST, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -7826,6 +7826,7 @@ static const u16 sJumpluffTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BULLET_SEED, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -7838,10 +7839,9 @@ static const u16 sJumpluffTeachableLearnset[] = { MOVE_REST, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_HOPPIP @@ -7850,17 +7850,25 @@ static const u16 sJumpluffTeachableLearnset[] = { static const u16 sAipomTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROCK_SMASH, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SNATCH, @@ -7871,17 +7879,9 @@ static const u16 sAipomTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -7890,13 +7890,17 @@ 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_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, @@ -7911,13 +7915,9 @@ static const u16 sAmbipomTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_METRONOME, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -7928,6 +7928,7 @@ static const u16 sSunkernTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -7940,9 +7941,8 @@ static const u16 sSunkernTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -7950,6 +7950,7 @@ static const u16 sSunfloraTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -7963,9 +7964,8 @@ static const u16 sSunfloraTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SUNKERN @@ -7974,7 +7974,9 @@ static const u16 sSunfloraTeachableLearnset[] = { static const u16 sYanmaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -7985,11 +7987,9 @@ static const u16 sYanmaTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -7997,7 +7997,9 @@ static const u16 sYanmaTeachableLearnset[] = { static const u16 sYanmegaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -8009,11 +8011,9 @@ static const u16 sYanmegaTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -8023,8 +8023,11 @@ static const u16 sYanmegaTeachableLearnset[] = { static const u16 sWooperTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_DIG, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -8035,6 +8038,7 @@ static const u16 sWooperTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -8044,19 +8048,18 @@ static const u16 sWooperTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sQuagsireTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_DIG, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -8066,13 +8069,17 @@ static const u16 sQuagsireTeachableLearnset[] = { 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_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SLUDGE_BOMB, MOVE_STRENGTH, MOVE_SURF, @@ -8080,24 +8087,21 @@ static const u16 sQuagsireTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #if P_PALDEAN_FORMS static const u16 sWooperPaldeaTeachableLearnset[] = { + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SLUDGE_BOMB, @@ -8105,21 +8109,21 @@ static const u16 sWooperPaldeaTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sClodsireTeachableLearnset[] = { + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SLUDGE_BOMB, @@ -8127,10 +8131,6 @@ static const u16 sClodsireTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_PALDEAN_FORMS @@ -8141,7 +8141,9 @@ static const u16 sMurkrowTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLY, MOVE_HYPER_BEAM, @@ -8155,11 +8157,9 @@ static const u16 sMurkrowTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -8168,7 +8168,9 @@ static const u16 sHonchkrowTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLY, MOVE_HYPER_BEAM, @@ -8182,11 +8184,9 @@ static const u16 sHonchkrowTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -8197,7 +8197,9 @@ static const u16 sMisdreavusTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, @@ -8214,11 +8216,9 @@ static const u16 sMisdreavusTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -8228,6 +8228,7 @@ static const u16 sMismagiusTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, @@ -8244,10 +8245,9 @@ static const u16 sMismagiusTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -8262,15 +8262,15 @@ static const u16 sUnownTeachableLearnset[] = { #if P_FAMILY_WOBBUFFET #if P_GEN_3_CROSS_EVOS static const u16 sWynautTeachableLearnset[] = { - MOVE_SAFEGUARD, MOVE_COUNTER, + MOVE_SAFEGUARD, MOVE_UNAVAILABLE, }; #endif //P_GEN_3_CROSS_EVOS static const u16 sWobbuffetTeachableLearnset[] = { - MOVE_SAFEGUARD, MOVE_COUNTER, + MOVE_SAFEGUARD, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_WOBBUFFET @@ -8278,8 +8278,11 @@ 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_FACADE, MOVE_FLASH, @@ -8300,17 +8303,16 @@ static const u16 sGirafarigTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #if P_GEN_9_CROSS_EVOS static const u16 sFarigirafTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_HYPER_BEAM, @@ -8327,8 +8329,6 @@ static const u16 sFarigirafTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -8338,9 +8338,13 @@ static const u16 sFarigirafTeachableLearnset[] = { #if P_FAMILY_PINECO static const u16 sPinecoTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_GIGA_DRAIN, MOVE_LIGHT_SCREEN, @@ -8348,6 +8352,7 @@ static const u16 sPinecoTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -8355,19 +8360,18 @@ static const u16 sPinecoTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sForretressTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, @@ -8376,19 +8380,15 @@ static const u16 sForretressTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PINECO @@ -8397,9 +8397,13 @@ static const u16 sForretressTeachableLearnset[] = { static const u16 sDunsparceTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_CALM_MIND, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -8410,6 +8414,7 @@ static const u16 sDunsparceTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -8421,22 +8426,19 @@ static const u16 sDunsparceTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_ROCK_SLIDE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #if P_GEN_9_CROSS_EVOS static const u16 sDudunsparceTeachableLearnset[] = { MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -8446,6 +8448,7 @@ static const u16 sDudunsparceTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SHADOW_BALL, @@ -8455,9 +8458,6 @@ static const u16 sDudunsparceTeachableLearnset[] = { MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_GEN_9_CROSS_EVOS @@ -8468,15 +8468,19 @@ 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_FACADE, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -8484,15 +8488,11 @@ static const u16 sGligarTeachableLearnset[] = { MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -8501,8 +8501,10 @@ 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_FACADE, @@ -8511,6 +8513,7 @@ static const u16 sGliscorTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -8518,14 +8521,11 @@ static const u16 sGliscorTeachableLearnset[] = { MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -8534,15 +8534,21 @@ 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_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, @@ -8550,6 +8556,7 @@ static const u16 sSnubbullTeachableLearnset[] = { MOVE_REST, MOVE_ROAR, MOVE_ROCK_SMASH, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SLUDGE_BOMB, @@ -8560,25 +8567,21 @@ static const u16 sSnubbullTeachableLearnset[] = { 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_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sGranbullTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -8587,14 +8590,19 @@ static const u16 sGranbullTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SLUDGE_BOMB, @@ -8605,18 +8613,10 @@ static const u16 sGranbullTeachableLearnset[] = { 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_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SNUBBULL @@ -8626,7 +8626,9 @@ static const u16 sQwilfishTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_HAIL, MOVE_ICE_BEAM, @@ -8637,20 +8639,19 @@ static const u16 sQwilfishTeachableLearnset[] = { MOVE_SHOCK_WAVE, MOVE_SLUDGE_BOMB, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_SWORDS_DANCE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #if P_HISUIAN_FORMS static const u16 sQwilfishHisuiTeachableLearnset[] = { MOVE_BLIZZARD, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_ICE_BEAM, MOVE_PROTECT, @@ -8659,17 +8660,17 @@ static const u16 sQwilfishHisuiTeachableLearnset[] = { MOVE_SHADOW_BALL, MOVE_SLUDGE_BOMB, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sOverqwilTeachableLearnset[] = { MOVE_BLIZZARD, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, @@ -8679,12 +8680,11 @@ static const u16 sOverqwilTeachableLearnset[] = { MOVE_SHADOW_BALL, MOVE_SLUDGE_BOMB, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_HISUIAN_FORMS @@ -8693,13 +8693,16 @@ static const u16 sOverqwilTeachableLearnset[] = { #if P_FAMILY_SHUCKLE static const u16 sShuckleTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FLASH, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -8708,9 +8711,6 @@ static const u16 sShuckleTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SHUCKLE @@ -8719,12 +8719,15 @@ 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_FACADE, @@ -8733,18 +8736,15 @@ static const u16 sHeracrossTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_HERACROSS @@ -8756,14 +8756,19 @@ static const u16 sSneaselTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_BRICK_BREAK, MOVE_CALM_MIND, + MOVE_COUNTER, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_HAIL, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, @@ -8774,17 +8779,12 @@ static const u16 sSneaselTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -8795,15 +8795,20 @@ 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_FACADE, MOVE_FOCUS_PUNCH, MOVE_HAIL, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, @@ -8814,17 +8819,12 @@ static const u16 sWeavileTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_COUNTER, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -8835,6 +8835,7 @@ static const u16 sSneaselHisuiTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CALM_MIND, + MOVE_COUNTER, MOVE_DIG, MOVE_FACADE, MOVE_FOCUS_PUNCH, @@ -8846,11 +8847,10 @@ static const u16 sSneaselHisuiTeachableLearnset[] = { MOVE_SHADOW_BALL, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -8859,6 +8859,7 @@ static const u16 sSneaslerTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CALM_MIND, + MOVE_COUNTER, MOVE_DIG, MOVE_FACADE, MOVE_FOCUS_PUNCH, @@ -8867,17 +8868,16 @@ static const u16 sSneaslerTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SHADOW_BALL, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_HISUIAN_FORMS @@ -8887,107 +8887,110 @@ 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_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, 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_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, 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_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, 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_FACADE, MOVE_FOCUS_PUNCH, @@ -8996,16 +8999,13 @@ static const u16 sUrsalunaBloodmoonTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_GEN_8_CROSS_EVOS @@ -9014,6 +9014,8 @@ static const u16 sUrsalunaBloodmoonTeachableLearnset[] = { #if P_FAMILY_SLUGMA static const u16 sSlugmaTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -9024,21 +9026,22 @@ static const u16 sSlugmaTeachableLearnset[] = { MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sMagcargoTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -9048,6 +9051,7 @@ static const u16 sMagcargoTeachableLearnset[] = { MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -9055,10 +9059,6 @@ static const u16 sMagcargoTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SLUGMA @@ -9067,7 +9067,9 @@ static const u16 sMagcargoTeachableLearnset[] = { static const u16 sSwinubTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -9079,21 +9081,21 @@ static const u16 sSwinubTeachableLearnset[] = { MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_STRENGTH, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sPiloswineTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -9106,14 +9108,12 @@ static const u16 sPiloswineTeachableLearnset[] = { MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_STRENGTH, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; @@ -9121,7 +9121,9 @@ 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_FACADE, @@ -9134,14 +9136,12 @@ static const u16 sMamoswineTeachableLearnset[] = { MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_STRENGTH, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -9151,10 +9151,13 @@ static const u16 sMamoswineTeachableLearnset[] = { static const u16 sCorsolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_HAIL, MOVE_ICE_BEAM, @@ -9164,6 +9167,7 @@ static const u16 sCorsolaTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -9174,10 +9178,6 @@ static const u16 sCorsolaTeachableLearnset[] = { MOVE_SURF, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; @@ -9185,6 +9185,7 @@ static const u16 sCorsolaTeachableLearnset[] = { static const u16 sCorsolaGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIG, MOVE_EARTHQUAKE, @@ -9198,6 +9199,7 @@ static const u16 sCorsolaGalarTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, @@ -9205,14 +9207,13 @@ static const u16 sCorsolaGalarTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_SURF, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sCursolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIG, MOVE_EARTHQUAKE, @@ -9227,6 +9228,7 @@ static const u16 sCursolaTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, @@ -9234,8 +9236,6 @@ static const u16 sCursolaTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_SURF, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_GALARIAN_FORMS @@ -9247,6 +9247,7 @@ static const u16 sRemoraidTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_BULLET_SEED, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -9260,11 +9261,10 @@ static const u16 sRemoraidTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_SURF, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -9273,6 +9273,7 @@ static const u16 sOctilleryTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_BULLET_SEED, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -9283,16 +9284,15 @@ static const u16 sOctilleryTeachableLearnset[] = { MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_SEISMIC_TOSS, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, MOVE_SURF, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, - MOVE_SEISMIC_TOSS, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_REMORAID @@ -9302,7 +9302,10 @@ 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_FACADE, MOVE_FLY, @@ -9310,19 +9313,16 @@ static const u16 sDelibirdTeachableLearnset[] = { MOVE_HAIL, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_SEISMIC_TOSS, MOVE_STEEL_WING, MOVE_THIEF, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DELIBIRD @@ -9334,6 +9334,7 @@ static const u16 sMantykeTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -9342,12 +9343,11 @@ static const u16 sMantykeTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_SURF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -9356,8 +9356,10 @@ 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_FACADE, @@ -9367,14 +9369,12 @@ static const u16 sMantineTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SURF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MANTINE @@ -9383,7 +9383,9 @@ static const u16 sMantineTeachableLearnset[] = { static const u16 sSkarmoryTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_COUNTER, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -9392,19 +9394,17 @@ static const u16 sSkarmoryTeachableLearnset[] = { MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SKARMORY @@ -9412,7 +9412,11 @@ 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_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -9432,16 +9436,16 @@ static const u16 sHoundourTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; static const u16 sHoundoomTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -9463,10 +9467,6 @@ static const u16 sHoundoomTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_HOUNDOUR @@ -9474,7 +9474,10 @@ static const u16 sHoundoomTeachableLearnset[] = { #if P_FAMILY_PHANPY static const u16 sPhanpyTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -9483,6 +9486,7 @@ static const u16 sPhanpyTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -9490,16 +9494,15 @@ static const u16 sPhanpyTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sDonphanTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -9509,6 +9512,7 @@ static const u16 sDonphanTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -9516,10 +9520,6 @@ static const u16 sDonphanTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PHANPY @@ -9527,9 +9527,12 @@ 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_FACADE, MOVE_FLASH, @@ -9550,18 +9553,17 @@ static const u16 sStantlerTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, MOVE_THUNDER_WAVE, + MOVE_TOXIC, 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_FACADE, MOVE_HYPER_BEAM, @@ -9580,8 +9582,6 @@ static const u16 sWyrdeerTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -9598,7 +9598,10 @@ static const u16 sSmeargleTeachableLearnset[] = { static const u16 sMiltankTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -9606,12 +9609,17 @@ static const u16 sMiltankTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SOLAR_BEAM, @@ -9620,26 +9628,20 @@ static const u16 sMiltankTeachableLearnset[] = { MOVE_SURF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - 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_FACADE, MOVE_FLASH, @@ -9659,19 +9661,19 @@ static const u16 sRaikouTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, 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_FACADE, MOVE_FIRE_BLAST, @@ -9692,8 +9694,6 @@ static const u16 sEnteiTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ENTEI @@ -9701,10 +9701,12 @@ 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_FACADE, MOVE_HAIL, @@ -9724,8 +9726,6 @@ static const u16 sSuicuneTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SUICUNE @@ -9733,8 +9733,10 @@ 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_FACADE, @@ -9743,6 +9745,7 @@ static const u16 sLarvitarTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -9750,17 +9753,16 @@ static const u16 sLarvitarTeachableLearnset[] = { MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, 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_FACADE, @@ -9769,6 +9771,7 @@ static const u16 sPupitarTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -9776,9 +9779,6 @@ static const u16 sPupitarTeachableLearnset[] = { MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; @@ -9786,9 +9786,12 @@ 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_EARTHQUAKE, @@ -9799,13 +9802,17 @@ static const u16 sTyranitarTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SHOCK_WAVE, MOVE_STRENGTH, MOVE_SUNNY_DAY, @@ -9813,17 +9820,10 @@ static const u16 sTyranitarTeachableLearnset[] = { MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LARVITAR @@ -9832,9 +9832,12 @@ 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_FACADE, MOVE_FLASH, @@ -9863,13 +9866,10 @@ static const u16 sLugiaTeachableLearnset[] = { MOVE_SURF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LUGIA @@ -9877,8 +9877,11 @@ 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_FACADE, MOVE_FIRE_BLAST, @@ -9906,11 +9909,8 @@ static const u16 sHoOhTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_HO_OH @@ -9920,12 +9920,15 @@ static const u16 sCelebiTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_CALM_MIND, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -9938,13 +9941,10 @@ static const u16 sCelebiTeachableLearnset[] = { MOVE_SKILL_SWAP, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_METRONOME, MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, + MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CELEBI @@ -9953,78 +9953,81 @@ 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, 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_EARTHQUAKE, @@ -10034,25 +10037,22 @@ static const u16 sSceptileTeachableLearnset[] = { MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TREECKO @@ -10061,70 +10061,73 @@ 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_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, 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_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, 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_EARTHQUAKE, MOVE_FACADE, @@ -10132,25 +10135,22 @@ static const u16 sBlazikenTeachableLearnset[] = { MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TORCHIC @@ -10159,8 +10159,11 @@ static const u16 sBlazikenTeachableLearnset[] = { static const u16 sMudkipTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_DIG, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HAIL, @@ -10170,6 +10173,7 @@ static const u16 sMudkipTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STRENGTH, @@ -10177,19 +10181,18 @@ static const u16 sMudkipTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sMarshtompTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_DIG, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -10197,34 +10200,34 @@ static const u16 sMarshtompTeachableLearnset[] = { MOVE_HAIL, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SURF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; static const u16 sSwampertTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, + MOVE_COUNTER, MOVE_DIG, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -10233,24 +10236,21 @@ static const u16 sSwampertTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SURF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MUDKIP @@ -10258,7 +10258,10 @@ 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_FACADE, MOVE_IRON_TAIL, @@ -10274,15 +10277,15 @@ static const u16 sPoochyenaTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sMightyenaTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HYPER_BEAM, @@ -10300,9 +10303,6 @@ static const u16 sMightyenaTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_POOCHYENA @@ -10311,8 +10311,10 @@ static const u16 sMightyenaTeachableLearnset[] = { static const u16 sZigzagoonTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_ICE_BEAM, @@ -10328,19 +10330,19 @@ static const u16 sZigzagoonTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sLinooneTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HYPER_BEAM, @@ -10359,11 +10361,9 @@ static const u16 sLinooneTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -10371,7 +10371,10 @@ static const u16 sLinooneTeachableLearnset[] = { static const u16 sZigzagoonGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_ICE_BEAM, MOVE_IRON_TAIL, @@ -10385,9 +10388,6 @@ static const u16 sZigzagoonGalarTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -10395,7 +10395,10 @@ static const u16 sZigzagoonGalarTeachableLearnset[] = { static const u16 sLinooneGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, @@ -10410,9 +10413,6 @@ static const u16 sLinooneGalarTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -10420,13 +10420,18 @@ 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_FACADE, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, @@ -10437,11 +10442,6 @@ static const u16 sObstagoonTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -10460,6 +10460,7 @@ static const u16 sSilcoonTeachableLearnset[] = { static const u16 sBeautiflyTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -10474,7 +10475,6 @@ static const u16 sBeautiflyTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; @@ -10485,6 +10485,7 @@ static const u16 sCascoonTeachableLearnset[] = { static const u16 sDustoxTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -10500,7 +10501,6 @@ static const u16 sDustoxTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_WURMPLE @@ -10509,7 +10509,10 @@ 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_FACADE, MOVE_FLASH, @@ -10522,28 +10525,31 @@ static const u16 sLotadTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - 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_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, MOVE_HAIL, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, @@ -10552,26 +10558,23 @@ static const u16 sLombreTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SWORDS_DANCE, 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_FACADE, MOVE_FLASH, @@ -10580,26 +10583,23 @@ static const u16 sLudicoloTeachableLearnset[] = { MOVE_HAIL, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROCK_SMASH, + MOVE_SEISMIC_TOSS, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LOTAD @@ -10607,9 +10607,12 @@ static const u16 sLudicoloTeachableLearnset[] = { #if P_FAMILY_SEEDOT static const u16 sSeedotTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -10620,77 +10623,74 @@ static const u16 sSeedotTeachableLearnset[] = { MOVE_SHADOW_BALL, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, 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_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SHADOW_BALL, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_MEGA_KICK, - MOVE_ROCK_SLIDE, - 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_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SHADOW_BALL, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_MEGA_KICK, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SEEDOT @@ -10699,6 +10699,8 @@ static const u16 sShiftryTeachableLearnset[] = { static const u16 sTaillowTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLY, @@ -10709,14 +10711,14 @@ static const u16 sTaillowTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sSwellowTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLY, @@ -10728,8 +10730,6 @@ static const u16 sSwellowTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TAILLOW @@ -10739,6 +10739,7 @@ static const u16 sWingullTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLY, @@ -10754,7 +10755,6 @@ static const u16 sWingullTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; @@ -10762,6 +10762,8 @@ static const u16 sPelipperTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLY, @@ -10778,8 +10780,6 @@ static const u16 sPelipperTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_WINGULL @@ -10787,12 +10787,18 @@ static const u16 sPelipperTeachableLearnset[] = { #if P_FAMILY_RALTS static const u16 sRaltsTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_ICE_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -10807,27 +10813,27 @@ static const u16 sRaltsTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sKirliaTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -10842,27 +10848,27 @@ static const u16 sKirliaTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sGardevoirTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -10877,15 +10883,9 @@ static const u16 sGardevoirTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -10893,11 +10893,13 @@ 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_FACADE, MOVE_FLASH, @@ -10905,11 +10907,15 @@ static const u16 sGalladeTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -10919,19 +10925,13 @@ static const u16 sGalladeTeachableLearnset[] = { MOVE_SNATCH, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -10941,6 +10941,7 @@ static const u16 sGalladeTeachableLearnset[] = { static const u16 sSurskitTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -10957,7 +10958,6 @@ static const u16 sSurskitTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; @@ -10965,6 +10965,7 @@ static const u16 sMasquerainTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -10982,7 +10983,6 @@ static const u16 sMasquerainTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SURSKIT @@ -10990,7 +10990,9 @@ 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_FACADE, MOVE_FLASH, @@ -11004,21 +11006,22 @@ static const u16 sShroomishTeachableLearnset[] = { MOVE_SNATCH, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, 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_FACADE, MOVE_FLASH, @@ -11026,26 +11029,23 @@ static const u16 sBreloomTeachableLearnset[] = { MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SLUDGE_BOMB, MOVE_SNATCH, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SHROOMISH @@ -11055,20 +11055,28 @@ 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_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, 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_SOLAR_BEAM, @@ -11079,14 +11087,6 @@ static const u16 sSlakothTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; @@ -11094,10 +11094,13 @@ 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_EARTHQUAKE, MOVE_FACADE, @@ -11105,12 +11108,17 @@ static const u16 sVigorothTeachableLearnset[] = { MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, 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_SOLAR_BEAM, @@ -11120,17 +11128,9 @@ static const u16 sVigorothTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -11138,10 +11138,13 @@ 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_EARTHQUAKE, MOVE_FACADE, @@ -11150,12 +11153,17 @@ static const u16 sSlakingTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, 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_SOLAR_BEAM, @@ -11165,17 +11173,9 @@ static const u16 sSlakingTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SLAKOTH @@ -11185,6 +11185,7 @@ static const u16 sNincadaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -11196,7 +11197,6 @@ static const u16 sNincadaTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; @@ -11205,6 +11205,7 @@ static const u16 sNinjaskTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -11216,10 +11217,9 @@ static const u16 sNinjaskTeachableLearnset[] = { MOVE_SHADOW_BALL, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -11227,7 +11227,9 @@ static const u16 sShedinjaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -11240,8 +11242,6 @@ static const u16 sShedinjaTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_NINCADA @@ -11250,47 +11250,54 @@ static const u16 sShedinjaTeachableLearnset[] = { static const u16 sWhismurTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; static const u16 sLoudredTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_OVERHEAT, 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_SOLAR_BEAM, @@ -11300,20 +11307,16 @@ static const u16 sLoudredTeachableLearnset[] = { MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; static const u16 sExploudTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -11321,13 +11324,17 @@ static const u16 sExploudTeachableLearnset[] = { MOVE_FLAMETHROWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_OVERHEAT, 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_SOLAR_BEAM, @@ -11338,13 +11345,6 @@ static const u16 sExploudTeachableLearnset[] = { MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_WHISMUR @@ -11352,64 +11352,64 @@ 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_EARTHQUAKE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, 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_EARTHQUAKE, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MAKUHITA @@ -11417,11 +11417,15 @@ static const u16 sHariyamaTeachableLearnset[] = { #if P_FAMILY_NOSEPASS static const u16 sNosepassTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -11431,25 +11435,25 @@ static const u16 sNosepassTeachableLearnset[] = { MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, - 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_EXPLOSION, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -11459,13 +11463,9 @@ static const u16 sProbopassTeachableLearnset[] = { MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -11475,9 +11475,12 @@ static const u16 sProbopassTeachableLearnset[] = { static const u16 sSkittyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_ICE_BEAM, @@ -11492,21 +11495,21 @@ static const u16 sSkittyTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sDelcattyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, @@ -11524,12 +11527,9 @@ static const u16 sDelcattyTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SKITTY @@ -11538,18 +11538,25 @@ 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -11557,6 +11564,7 @@ static const u16 sSableyeTeachableLearnset[] = { MOVE_REST, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, @@ -11564,18 +11572,10 @@ static const u16 sSableyeTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SABLEYE @@ -11583,7 +11583,10 @@ 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_FACADE, MOVE_FIRE_BLAST, @@ -11591,29 +11594,26 @@ static const u16 sMawileTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SLUDGE_BOMB, MOVE_SNATCH, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MAWILE @@ -11622,8 +11622,10 @@ static const u16 sMawileTeachableLearnset[] = { static const u16 sAronTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -11632,6 +11634,7 @@ static const u16 sAronTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -11640,17 +11643,16 @@ static const u16 sAronTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sLaironTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -11659,6 +11661,7 @@ static const u16 sLaironTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -11667,9 +11670,6 @@ static const u16 sLaironTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; @@ -11677,9 +11677,12 @@ static const u16 sAggronTeachableLearnset[] = { 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_EARTHQUAKE, @@ -11690,13 +11693,17 @@ static const u16 sAggronTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SHOCK_WAVE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, @@ -11705,16 +11712,9 @@ static const u16 sAggronTeachableLearnset[] = { MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ARON @@ -11723,21 +11723,30 @@ 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, MOVE_STRENGTH, @@ -11745,37 +11754,37 @@ static const u16 sMedititeTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, MOVE_STRENGTH, @@ -11783,15 +11792,6 @@ static const u16 sMedichamTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MEDITITE @@ -11799,6 +11799,8 @@ static const u16 sMedichamTeachableLearnset[] = { #if P_FAMILY_ELECTRIKE static const u16 sElectrikeTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLAMETHROWER, @@ -11814,15 +11816,15 @@ static const u16 sElectrikeTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sManectricTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLAMETHROWER, @@ -11840,10 +11842,8 @@ static const u16 sManectricTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ELECTRIKE @@ -11851,27 +11851,27 @@ static const u16 sManectricTeachableLearnset[] = { #if P_FAMILY_PLUSLE static const u16 sPlusleTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_SEISMIC_TOSS, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PLUSLE @@ -11879,26 +11879,26 @@ static const u16 sPlusleTeachableLearnset[] = { #if P_FAMILY_MINUN static const u16 sMinunTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, - MOVE_PROTECT, - MOVE_RAIN_DANCE, - MOVE_REST, - MOVE_SHOCK_WAVE, - MOVE_THUNDER, - MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_MEGA_KICK, MOVE_MEGA_PUNCH, MOVE_METRONOME, + MOVE_PROTECT, + MOVE_RAIN_DANCE, + MOVE_REST, MOVE_SEISMIC_TOSS, + MOVE_SHOCK_WAVE, + MOVE_THUNDER, + MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MINUN @@ -11907,16 +11907,23 @@ 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SOLAR_BEAM, @@ -11925,32 +11932,32 @@ static const u16 sVolbeatTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, - 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SOLAR_BEAM, @@ -11958,16 +11965,9 @@ static const u16 sIllumiseTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_VOLBEAT_ILLUMISE @@ -11989,16 +11989,18 @@ static const u16 sBudewTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, 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_FACADE, MOVE_FLASH, @@ -12010,16 +12012,15 @@ static const u16 sRoseliaTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, 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, @@ -12034,9 +12035,8 @@ static const u16 sRoseradeTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -12045,8 +12045,13 @@ static const u16 sRoseradeTeachableLearnset[] = { #if P_FAMILY_GULPIN static const u16 sGulpinTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BULLET_SEED, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_GIGA_DRAIN, MOVE_ICE_BEAM, @@ -12061,29 +12066,30 @@ static const u16 sGulpinTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_SWORDS_DANCE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sSwalotTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, @@ -12095,17 +12101,11 @@ static const u16 sSwalotTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_METRONOME, - MOVE_SWORDS_DANCE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GULPIN @@ -12115,6 +12115,7 @@ static const u16 sCarvanhaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HAIL, @@ -12129,7 +12130,6 @@ static const u16 sCarvanhaTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; @@ -12137,6 +12137,7 @@ static const u16 sSharpedoTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -12157,7 +12158,6 @@ static const u16 sSharpedoTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CARVANHA @@ -12166,7 +12166,9 @@ static const u16 sSharpedoTeachableLearnset[] = { static const u16 sWailmerTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -12183,15 +12185,15 @@ static const u16 sWailmerTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sWailordTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -12209,8 +12211,6 @@ static const u16 sWailordTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_WAILMER @@ -12218,7 +12218,9 @@ static const u16 sWailordTeachableLearnset[] = { #if P_FAMILY_NUMEL static const u16 sNumelTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -12229,23 +12231,24 @@ static const u16 sNumelTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sCameruptTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -12255,6 +12258,7 @@ static const u16 sCameruptTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -12262,10 +12266,6 @@ static const u16 sCameruptTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_NUMEL @@ -12273,8 +12273,11 @@ 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_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -12283,6 +12286,7 @@ static const u16 sTorkoalTeachableLearnset[] = { MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -12291,10 +12295,6 @@ static const u16 sTorkoalTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TORKOAL @@ -12302,8 +12302,11 @@ 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_FACADE, MOVE_FLASH, MOVE_IRON_TAIL, @@ -12320,32 +12323,37 @@ static const u16 sSpoinkTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, @@ -12353,17 +12361,9 @@ static const u16 sGrumpigTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_SEISMIC_TOSS, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SPOINK @@ -12371,20 +12371,29 @@ static const u16 sGrumpigTeachableLearnset[] = { #if P_FAMILY_SPINDA static const u16 sSpindaTeachableLearnset[] = { 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, @@ -12394,15 +12403,6 @@ static const u16 sSpindaTeachableLearnset[] = { MOVE_THIEF, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SPINDA @@ -12410,7 +12410,9 @@ 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_FACADE, @@ -12418,6 +12420,7 @@ static const u16 sTrapinchTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -12425,16 +12428,15 @@ static const u16 sTrapinchTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, 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, @@ -12444,6 +12446,7 @@ static const u16 sVibravaTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -12452,16 +12455,15 @@ static const u16 sVibravaTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, 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, @@ -12472,8 +12474,11 @@ static const u16 sFlygonTeachableLearnset[] = { MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -12482,11 +12487,6 @@ static const u16 sFlygonTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TRAPINCH @@ -12494,62 +12494,62 @@ 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_PUNCH, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CACNEA @@ -12558,7 +12558,10 @@ 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_FACADE, MOVE_FLY, MOVE_ICE_BEAM, @@ -12571,17 +12574,17 @@ static const u16 sSwabluTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, 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_FACADE, MOVE_FIRE_BLAST, @@ -12601,9 +12604,6 @@ static const u16 sAltariaTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SWABLU @@ -12613,8 +12613,11 @@ static const u16 sZangooseTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -12624,33 +12627,30 @@ static const u16 sZangooseTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, 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_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ZANGOOSE @@ -12658,8 +12658,10 @@ 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_FACADE, @@ -12675,12 +12677,10 @@ static const u16 sSeviperTeachableLearnset[] = { MOVE_SNATCH, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SEVIPER @@ -12688,9 +12688,13 @@ static const u16 sSeviperTeachableLearnset[] = { #if P_FAMILY_LUNATONE static const u16 sLunatoneTeachableLearnset[] = { MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_HAIL, @@ -12702,26 +12706,26 @@ static const u16 sLunatoneTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LUNATONE #if P_FAMILY_SOLROCK static const u16 sSolrockTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -12734,6 +12738,7 @@ static const u16 sSolrockTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, @@ -12741,13 +12746,8 @@ static const u16 sSolrockTeachableLearnset[] = { MOVE_SKILL_SWAP, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SOLROCK @@ -12757,6 +12757,7 @@ static const u16 sBarboachTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -12765,6 +12766,7 @@ static const u16 sBarboachTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SUNNY_DAY, @@ -12772,8 +12774,6 @@ static const u16 sBarboachTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; @@ -12781,7 +12781,9 @@ 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_FACADE, @@ -12791,6 +12793,7 @@ static const u16 sWhiscashTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -12800,9 +12803,6 @@ static const u16 sWhiscashTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BARBOACH @@ -12812,9 +12812,12 @@ 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_FACADE, MOVE_HAIL, @@ -12822,21 +12825,18 @@ static const u16 sCorphishTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SLUDGE_BOMB, MOVE_STRENGTH, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -12844,10 +12844,13 @@ 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_FACADE, MOVE_HAIL, @@ -12856,21 +12859,18 @@ static const u16 sCrawdauntTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SLUDGE_BOMB, MOVE_STRENGTH, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CORPHISH @@ -12879,8 +12879,11 @@ 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_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_ICE_BEAM, @@ -12890,6 +12893,7 @@ static const u16 sBaltoyTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, @@ -12898,18 +12902,17 @@ static const u16 sBaltoyTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sClaydolTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, @@ -12920,6 +12923,7 @@ static const u16 sClaydolTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -12930,10 +12934,6 @@ static const u16 sClaydolTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BALTOY @@ -12941,30 +12941,32 @@ 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_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, 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_FACADE, @@ -12973,6 +12975,7 @@ static const u16 sCradilyTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -12980,11 +12983,8 @@ static const u16 sCradilyTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LILEEP @@ -12993,32 +12993,34 @@ 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_FACADE, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - 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_FACADE, @@ -13026,18 +13028,16 @@ static const u16 sArmaldoTeachableLearnset[] = { MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ANORITH @@ -13047,6 +13047,7 @@ static const u16 sFeebasTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HAIL, @@ -13060,14 +13061,15 @@ static const u16 sFeebasTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sMiloticTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HAIL, @@ -13083,8 +13085,6 @@ static const u16 sMiloticTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FEEBAS @@ -13093,6 +13093,8 @@ static const u16 sMiloticTeachableLearnset[] = { static const u16 sCastformTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -13111,11 +13113,9 @@ static const u16 sCastformTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CASTFORM @@ -13125,9 +13125,12 @@ static const u16 sKecleonTeachableLearnset[] = { 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_FACADE, MOVE_FIRE_BLAST, @@ -13136,11 +13139,16 @@ static const u16 sKecleonTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, 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_SKILL_SWAP, @@ -13151,17 +13159,9 @@ static const u16 sKecleonTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KECLEON @@ -13169,10 +13169,14 @@ 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_FACADE, MOVE_FLASH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -13186,23 +13190,23 @@ static const u16 sShuppetTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_METRONOME, - 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_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -13212,18 +13216,14 @@ static const u16 sBanetteTeachableLearnset[] = { MOVE_SKILL_SWAP, MOVE_SNATCH, MOVE_SUNNY_DAY, + 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_METRONOME, - MOVE_SWORDS_DANCE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SHUPPET @@ -13232,8 +13232,11 @@ 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_FACADE, MOVE_FLASH, MOVE_ICE_BEAM, @@ -13249,30 +13252,36 @@ static const u16 sDuskullTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, 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_EARTHQUAKE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, MOVE_SNATCH, @@ -13282,15 +13291,6 @@ static const u16 sDusclopsTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; @@ -13298,19 +13298,25 @@ 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SHADOW_BALL, @@ -13322,12 +13328,6 @@ static const u16 sDusknoirTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -13337,9 +13337,11 @@ 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_FACADE, @@ -13357,10 +13359,8 @@ static const u16 sTropiusTeachableLearnset[] = { MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TROPIUS @@ -13370,7 +13370,9 @@ static const u16 sTropiusTeachableLearnset[] = { static const u16 sChinglingTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_LIGHT_SCREEN, @@ -13386,11 +13388,9 @@ static const u16 sChinglingTeachableLearnset[] = { MOVE_SNATCH, MOVE_SUNNY_DAY, MOVE_TAUNT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -13398,7 +13398,9 @@ static const u16 sChinglingTeachableLearnset[] = { static const u16 sChimechoTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_LIGHT_SCREEN, @@ -13414,11 +13416,9 @@ static const u16 sChimechoTeachableLearnset[] = { MOVE_SNATCH, MOVE_SUNNY_DAY, MOVE_TAUNT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CHIMECHO @@ -13428,9 +13428,13 @@ 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_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -13442,6 +13446,7 @@ static const u16 sAbsolTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -13450,20 +13455,15 @@ static const u16 sAbsolTeachableLearnset[] = { MOVE_SNATCH, MOVE_STRENGTH, MOVE_SUNNY_DAY, + 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_ROCK_SLIDE, - MOVE_SWORDS_DANCE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ABSOL @@ -13472,6 +13472,8 @@ static const u16 sAbsolTeachableLearnset[] = { static const u16 sSnoruntTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -13485,16 +13487,17 @@ static const u16 sSnoruntTeachableLearnset[] = { MOVE_SHADOW_BALL, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sGlalieTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_HAIL, @@ -13510,9 +13513,6 @@ static const u16 sGlalieTeachableLearnset[] = { MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, MOVE_UNAVAILABLE, }; @@ -13520,7 +13520,9 @@ static const u16 sGlalieTeachableLearnset[] = { static const u16 sFroslassTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_HAIL, @@ -13539,12 +13541,10 @@ static const u16 sFroslassTeachableLearnset[] = { MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_GEN_4_CROSS_EVOS @@ -13554,7 +13554,9 @@ static const u16 sFroslassTeachableLearnset[] = { static const u16 sSphealTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -13564,6 +13566,7 @@ static const u16 sSphealTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STRENGTH, @@ -13571,16 +13574,15 @@ static const u16 sSphealTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sSealeoTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -13591,6 +13593,7 @@ static const u16 sSealeoTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STRENGTH, @@ -13598,16 +13601,15 @@ static const u16 sSealeoTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sWalreinTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -13619,17 +13621,15 @@ static const u16 sWalreinTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STRENGTH, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SPHEAL @@ -13638,7 +13638,9 @@ static const u16 sWalreinTeachableLearnset[] = { static const u16 sClamperlTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HAIL, @@ -13650,15 +13652,15 @@ static const u16 sClamperlTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sHuntailTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HAIL, @@ -13673,15 +13675,15 @@ static const u16 sHuntailTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sGorebyssTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HAIL, @@ -13697,8 +13699,6 @@ static const u16 sGorebyssTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CLAMPERL @@ -13707,8 +13707,10 @@ 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_FACADE, @@ -13718,6 +13720,7 @@ static const u16 sRelicanthTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -13726,9 +13729,6 @@ static const u16 sRelicanthTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_RELICANTH @@ -13738,6 +13738,7 @@ static const u16 sLuvdiscTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HAIL, @@ -13750,7 +13751,6 @@ static const u16 sLuvdiscTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LUVDISC @@ -13759,8 +13759,10 @@ static const u16 sLuvdiscTeachableLearnset[] = { static const u16 sBagonTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_FACADE, @@ -13770,22 +13772,22 @@ static const u16 sBagonTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sShelgonTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_FACADE, @@ -13795,22 +13797,22 @@ static const u16 sShelgonTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sSalamenceTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, @@ -13824,15 +13826,13 @@ static const u16 sSalamenceTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BAGON @@ -13844,10 +13844,13 @@ static const u16 sBeldumTeachableLearnset[] = { static const u16 sMetangTeachableLearnset[] = { MOVE_AERIAL_ACE, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, @@ -13858,6 +13861,7 @@ static const u16 sMetangTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -13866,19 +13870,18 @@ static const u16 sMetangTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sMetagrossTeachableLearnset[] = { MOVE_AERIAL_ACE, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, @@ -13889,6 +13892,7 @@ static const u16 sMetagrossTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -13897,44 +13901,40 @@ static const u16 sMetagrossTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BELDUM #if P_FAMILY_REGIROCK static const u16 sRegirockTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SHOCK_WAVE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_REGIROCK @@ -13942,34 +13942,34 @@ static const u16 sRegirockTeachableLearnset[] = { #if P_FAMILY_REGICE static const u16 sRegiceTeachableLearnset[] = { MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_HAIL, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHOCK_WAVE, MOVE_STRENGTH, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_REGICE @@ -13977,34 +13977,34 @@ static const u16 sRegiceTeachableLearnset[] = { #if P_FAMILY_REGISTEEL static const u16 sRegisteelTeachableLearnset[] = { MOVE_AERIAL_ACE, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SHOCK_WAVE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_REGISTEEL @@ -14013,11 +14013,14 @@ 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_FACADE, MOVE_FLASH, @@ -14041,13 +14044,10 @@ static const u16 sLatiasTeachableLearnset[] = { MOVE_SURF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LATIAS @@ -14056,11 +14056,14 @@ 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_FACADE, MOVE_FLASH, @@ -14084,13 +14087,10 @@ static const u16 sLatiosTeachableLearnset[] = { MOVE_SURF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LATIOS @@ -14098,9 +14098,11 @@ static const u16 sLatiosTeachableLearnset[] = { #if P_FAMILY_KYOGRE static const u16 sKyogreTeachableLearnset[] = { MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -14111,6 +14113,7 @@ static const u16 sKyogreTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -14119,13 +14122,10 @@ static const u16 sKyogreTeachableLearnset[] = { MOVE_SURF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KYOGRE @@ -14133,10 +14133,13 @@ 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_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, @@ -14146,30 +14149,27 @@ static const u16 sGroudonTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SHOCK_WAVE, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GROUDON @@ -14178,9 +14178,11 @@ 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, @@ -14196,6 +14198,7 @@ static const u16 sRayquazaTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -14204,16 +14207,13 @@ static const u16 sRayquazaTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_RAYQUAZA @@ -14221,12 +14221,18 @@ static const u16 sRayquazaTeachableLearnset[] = { #if P_FAMILY_JIRACHI static const u16 sJirachiTeachableLearnset[] = { MOVE_AERIAL_ACE, + MOVE_BODY_SLAM, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -14240,15 +14246,9 @@ static const u16 sJirachiTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_JIRACHI @@ -14256,10 +14256,13 @@ 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, @@ -14271,9 +14274,11 @@ static const u16 sDeoxysNormalTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, @@ -14284,38 +14289,41 @@ static const u16 sDeoxysNormalTeachableLearnset[] = { MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, @@ -14326,41 +14334,41 @@ static const u16 sDeoxysAttackTeachableLearnset[] = { MOVE_TAUNT, 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_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, @@ -14371,41 +14379,41 @@ static const u16 sDeoxysDefenseTeachableLearnset[] = { MOVE_TAUNT, 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_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - 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_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, @@ -14416,18 +14424,10 @@ static const u16 sDeoxysSpeedTeachableLearnset[] = { MOVE_TAUNT, 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_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DEOXYS @@ -14435,8 +14435,10 @@ 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_FACADE, MOVE_FLASH, @@ -14452,17 +14454,17 @@ static const u16 sTurtwigTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, 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_FACADE, MOVE_FLASH, @@ -14478,17 +14480,17 @@ static const u16 sGrotleTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, 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_FACADE, @@ -14501,6 +14503,7 @@ static const u16 sTorterraTeachableLearnset[] = { MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -14508,11 +14511,8 @@ static const u16 sTorterraTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TURTWIG @@ -14523,30 +14523,30 @@ 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_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_IRON_TAIL, + MOVE_METRONOME, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -14555,41 +14555,44 @@ 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_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_IRON_TAIL, + MOVE_METRONOME, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, 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_FACADE, @@ -14598,25 +14601,22 @@ static const u16 sInfernapeTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_METRONOME, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CHIMCHAR @@ -14630,6 +14630,7 @@ static const u16 sPiplupTeachableLearnset[] = { MOVE_CUT, MOVE_DIG, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HAIL, @@ -14643,7 +14644,6 @@ static const u16 sPiplupTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; @@ -14655,6 +14655,7 @@ static const u16 sPrinplupTeachableLearnset[] = { MOVE_CUT, MOVE_DIG, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HAIL, @@ -14669,7 +14670,6 @@ static const u16 sPrinplupTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; @@ -14677,10 +14677,12 @@ 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_FACADE, @@ -14691,18 +14693,16 @@ static const u16 sEmpoleonTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PIPLUP @@ -14711,6 +14711,7 @@ static const u16 sEmpoleonTeachableLearnset[] = { static const u16 sStarlyTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLY, @@ -14721,13 +14722,13 @@ static const u16 sStarlyTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sStaraviaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLY, @@ -14738,13 +14739,13 @@ static const u16 sStaraviaTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sStaraptorTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLY, @@ -14756,7 +14757,6 @@ static const u16 sStaraptorTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_STARLY @@ -14767,6 +14767,7 @@ static const u16 sBidoofTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_ICE_BEAM, @@ -14778,14 +14779,13 @@ static const u16 sBidoofTeachableLearnset[] = { MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -14795,6 +14795,7 @@ static const u16 sBibarelTeachableLearnset[] = { MOVE_CUT, MOVE_DIG, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FOCUS_PUNCH, @@ -14810,16 +14811,15 @@ static const u16 sBibarelTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BIDOOF @@ -14845,9 +14845,9 @@ static const u16 sKricketuneTeachableLearnset[] = { MOVE_ROCK_SMASH, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KRICKETOT @@ -14855,6 +14855,7 @@ static const u16 sKricketuneTeachableLearnset[] = { #if P_FAMILY_SHINX static const u16 sShinxTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -14870,14 +14871,14 @@ static const u16 sShinxTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sLuxioTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -14893,14 +14894,15 @@ static const u16 sLuxioTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sLuxrayTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -14917,10 +14919,8 @@ static const u16 sLuxrayTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SHINX @@ -14929,7 +14929,9 @@ 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_FACADE, @@ -14941,29 +14943,29 @@ static const u16 sCranidosTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SHOCK_WAVE, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, 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, @@ -14978,6 +14980,7 @@ static const u16 sRampardosTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -14985,14 +14988,11 @@ static const u16 sRampardosTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CRANIDOS @@ -15001,7 +15001,10 @@ 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_FACADE, @@ -15013,6 +15016,7 @@ static const u16 sShieldonTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -15024,17 +15028,16 @@ static const u16 sShieldonTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, 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_FACADE, @@ -15048,6 +15051,7 @@ static const u16 sBastiodonTeachableLearnset[] = { MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -15059,10 +15063,6 @@ static const u16 sBastiodonTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SHIELDON @@ -15078,6 +15078,7 @@ static const u16 sWormadamPlantTeachableLearnset[] = { MOVE_BULLET_SEED, MOVE_DIG, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -15093,7 +15094,6 @@ static const u16 sWormadamPlantTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; @@ -15101,6 +15101,7 @@ static const u16 sWormadamSandyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIG, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FLASH, @@ -15119,7 +15120,6 @@ static const u16 sWormadamSandyTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; @@ -15127,6 +15127,7 @@ static const u16 sWormadamTrashTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIG, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -15142,7 +15143,6 @@ static const u16 sWormadamTrashTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; @@ -15150,6 +15150,7 @@ static const u16 sMothimTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -15165,7 +15166,6 @@ static const u16 sMothimTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BURMY @@ -15215,8 +15215,8 @@ static const u16 sPachirisuTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PACHIRISU @@ -15254,10 +15254,12 @@ static const u16 sBuizelTeachableLearnset[] = { 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_FACADE, MOVE_FOCUS_PUNCH, @@ -15265,6 +15267,7 @@ static const u16 sFloatzelTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, @@ -15279,9 +15282,6 @@ static const u16 sFloatzelTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_METRONOME, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BUIZEL @@ -15290,6 +15290,7 @@ static const u16 sFloatzelTeachableLearnset[] = { static const u16 sCherubiTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -15299,15 +15300,15 @@ static const u16 sCherubiTeachableLearnset[] = { MOVE_SAFEGUARD, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sCherrimTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -15318,9 +15319,8 @@ static const u16 sCherrimTeachableLearnset[] = { MOVE_SAFEGUARD, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CHERUBI @@ -15329,6 +15329,8 @@ static const u16 sCherrimTeachableLearnset[] = { static const u16 sShellosTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_DIVE, MOVE_DOUBLE_TEAM, MOVE_FACADE, @@ -15337,21 +15339,21 @@ static const u16 sShellosTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SURF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sGastrodonTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_DIG, MOVE_DIVE, MOVE_DOUBLE_TEAM, @@ -15364,6 +15366,7 @@ static const u16 sGastrodonTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -15373,9 +15376,6 @@ static const u16 sGastrodonTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SHELLOS @@ -15384,9 +15384,12 @@ 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_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_FLY, @@ -15401,20 +15404,20 @@ static const u16 sDrifloonTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, MOVE_THUNDER_WAVE, + MOVE_TOXIC, 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_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_FLY, @@ -15430,11 +15433,8 @@ static const u16 sDrifblimTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DRIFLOON @@ -15444,11 +15444,14 @@ static const u16 sBunearyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, @@ -15458,12 +15461,9 @@ static const u16 sBunearyTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -15472,12 +15472,15 @@ static const u16 sLopunnyTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, @@ -15489,12 +15492,9 @@ static const u16 sLopunnyTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BUNEARY @@ -15505,7 +15505,9 @@ static const u16 sGlameowTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_IRON_TAIL, @@ -15523,17 +15525,18 @@ static const u16 sGlameowTeachableLearnset[] = { MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, 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_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, @@ -15553,9 +15556,6 @@ static const u16 sPuruglyTeachableLearnset[] = { MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GLAMEOW @@ -15563,9 +15563,12 @@ 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_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -15583,17 +15586,17 @@ static const u16 sStunkyTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, MOVE_UNAVAILABLE, }; static const u16 sSkuntankTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -15613,17 +15616,16 @@ static const u16 sSkuntankTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, 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_FACADE, MOVE_FLASH, @@ -15633,6 +15635,7 @@ static const u16 sBronzorTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, @@ -15641,16 +15644,16 @@ static const u16 sBronzorTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DREAM_EATER, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sBronzongTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, @@ -15660,6 +15663,7 @@ static const u16 sBronzongTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -15670,10 +15674,6 @@ static const u16 sBronzongTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BRONZOR @@ -15701,8 +15701,10 @@ 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_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, @@ -15721,8 +15723,6 @@ static const u16 sSpiritombTeachableLearnset[] = { MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SPIRITOMB @@ -15731,8 +15731,10 @@ 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, @@ -15744,24 +15746,24 @@ static const u16 sGibleTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, 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, @@ -15773,25 +15775,25 @@ static const u16 sGabiteTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, 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, @@ -15804,17 +15806,15 @@ static const u16 sGarchompTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GIBLE @@ -15825,35 +15825,37 @@ static const u16 sRioluTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_BULK_UP, + MOVE_COUNTER, MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_COUNTER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, + 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, @@ -15861,25 +15863,23 @@ static const u16 sLucarioTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SHADOW_BALL, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_RIOLU @@ -15887,7 +15887,9 @@ 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_FACADE, @@ -15895,6 +15897,7 @@ static const u16 sHippopotasTeachableLearnset[] = { MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -15902,15 +15905,14 @@ static const u16 sHippopotasTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sHippowdonTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -15919,6 +15921,7 @@ static const u16 sHippowdonTeachableLearnset[] = { MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -15926,9 +15929,6 @@ static const u16 sHippowdonTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_HIPPOPOTAS @@ -15953,11 +15953,11 @@ static const u16 sSkorupiTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -15977,18 +15977,18 @@ static const u16 sDrapionTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SHADOW_BALL, MOVE_SLUDGE_BOMB, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SKORUPI @@ -15999,14 +15999,18 @@ static const u16 sCroagunkTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_BULK_UP, + MOVE_COUNTER, MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SHADOW_BALL, @@ -16018,10 +16022,6 @@ static const u16 sCroagunkTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; @@ -16030,6 +16030,7 @@ static const u16 sToxicroakTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_BULK_UP, + MOVE_COUNTER, MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, @@ -16037,9 +16038,12 @@ static const u16 sToxicroakTeachableLearnset[] = { MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SHADOW_BALL, @@ -16047,15 +16051,11 @@ static const u16 sToxicroakTeachableLearnset[] = { MOVE_SNATCH, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CROAGUNK @@ -16075,9 +16075,9 @@ static const u16 sCarnivineTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CARNIVINE @@ -16132,7 +16132,9 @@ 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_FACADE, MOVE_FLASH, @@ -16141,26 +16143,26 @@ static const u16 sSnoverTeachableLearnset[] = { MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_SAFEGUARD, MOVE_SHADOW_BALL, MOVE_SOLAR_BEAM, + MOVE_SWORDS_DANCE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_PUNCH, - 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_FACADE, @@ -16172,23 +16174,21 @@ static const u16 sAbomasnowTeachableLearnset[] = { MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SHADOW_BALL, MOVE_SOLAR_BEAM, MOVE_STRENGTH, + MOVE_SWORDS_DANCE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SNOVER @@ -16196,6 +16196,7 @@ static const u16 sAbomasnowTeachableLearnset[] = { #if P_FAMILY_ROTOM static const u16 sRotomTeachableLearnset[] = { MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_LIGHT_SCREEN, @@ -16210,9 +16211,8 @@ static const u16 sRotomTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ROTOM @@ -16221,12 +16221,14 @@ static const u16 sRotomTeachableLearnset[] = { static const u16 sUxieTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -16241,11 +16243,9 @@ static const u16 sUxieTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_DREAM_EATER, - MOVE_METRONOME, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_UXIE @@ -16254,13 +16254,16 @@ static const u16 sUxieTeachableLearnset[] = { static const u16 sMespritTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -16274,12 +16277,9 @@ static const u16 sMespritTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_METRONOME, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MESPRIT @@ -16287,7 +16287,10 @@ 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_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -16295,6 +16298,7 @@ static const u16 sAzelfTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -16309,14 +16313,10 @@ static const u16 sAzelfTeachableLearnset[] = { MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_METRONOME, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_AZELF @@ -16325,6 +16325,7 @@ static const u16 sAzelfTeachableLearnset[] = { static const u16 sDialgaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CUT, @@ -16343,6 +16344,7 @@ static const u16 sDialgaTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -16352,10 +16354,8 @@ static const u16 sDialgaTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DIALGA @@ -16364,6 +16364,7 @@ static const u16 sDialgaTeachableLearnset[] = { static const u16 sPalkiaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CUT, @@ -16382,6 +16383,7 @@ static const u16 sPalkiaTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -16392,12 +16394,10 @@ static const u16 sPalkiaTeachableLearnset[] = { MOVE_SURF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PALKIA @@ -16405,9 +16405,11 @@ 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_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -16416,6 +16418,7 @@ static const u16 sHeatranTeachableLearnset[] = { MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -16425,9 +16428,6 @@ static const u16 sHeatranTeachableLearnset[] = { MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_HEATRAN @@ -16435,15 +16435,20 @@ 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_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -16452,13 +16457,8 @@ static const u16 sRegigigasTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_REGIGIGAS @@ -16466,10 +16466,12 @@ 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_FACADE, MOVE_FLY, @@ -16489,10 +16491,8 @@ static const u16 sGiratinaTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DREAM_EATER, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GIRATINA @@ -16500,8 +16500,10 @@ 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_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, @@ -16519,10 +16521,8 @@ static const u16 sCresseliaTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DREAM_EATER, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CRESSELIA @@ -16582,6 +16582,7 @@ static const u16 sDarkraiTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, @@ -16591,6 +16592,7 @@ static const u16 sDarkraiTeachableLearnset[] = { MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SHADOW_BALL, @@ -16599,16 +16601,14 @@ static const u16 sDarkraiTeachableLearnset[] = { MOVE_SNATCH, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DARKRAI @@ -16617,6 +16617,7 @@ static const u16 sDarkraiTeachableLearnset[] = { static const u16 sShayminLandTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BULLET_SEED, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -16628,15 +16629,15 @@ static const u16 sShayminLandTeachableLearnset[] = { MOVE_SAFEGUARD, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sShayminSkyTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BULLET_SEED, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -16648,9 +16649,8 @@ static const u16 sShayminSkyTeachableLearnset[] = { MOVE_SAFEGUARD, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SHAYMIN @@ -16659,14 +16659,17 @@ 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_FACADE, MOVE_FIRE_BLAST, @@ -16686,10 +16689,12 @@ static const u16 sArceusTeachableLearnset[] = { MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SEISMIC_TOSS, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SLUDGE_BOMB, @@ -16697,19 +16702,14 @@ static const u16 sArceusTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + 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_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ARCEUS @@ -16717,6 +16717,7 @@ static const u16 sArceusTeachableLearnset[] = { #if P_FAMILY_VICTINI static const u16 sVictiniTeachableLearnset[] = { MOVE_BRICK_BREAK, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -16724,6 +16725,8 @@ static const u16 sVictiniTeachableLearnset[] = { MOVE_FLASH, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, @@ -16738,11 +16741,8 @@ static const u16 sVictiniTeachableLearnset[] = { MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_VICTINI @@ -16754,6 +16754,7 @@ static const u16 sSnivyTeachableLearnset[] = { MOVE_BULLET_SEED, MOVE_CALM_MIND, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -16767,11 +16768,10 @@ static const u16 sSnivyTeachableLearnset[] = { MOVE_SNATCH, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -16781,6 +16781,7 @@ static const u16 sServineTeachableLearnset[] = { MOVE_BULLET_SEED, MOVE_CALM_MIND, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -16794,20 +16795,21 @@ static const u16 sServineTeachableLearnset[] = { MOVE_SNATCH, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - 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_FACADE, MOVE_FLASH, @@ -16824,12 +16826,10 @@ static const u16 sSerperiorTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SNIVY @@ -16837,7 +16837,9 @@ static const u16 sSerperiorTeachableLearnset[] = { #if P_FAMILY_TEPIG static const u16 sTepigTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -16854,16 +16856,16 @@ static const u16 sTepigTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sPigniteTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -16874,6 +16876,7 @@ static const u16 sPigniteTeachableLearnset[] = { MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SOLAR_BEAM, @@ -16881,17 +16884,16 @@ static const u16 sPigniteTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sEmboarTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -16904,6 +16906,7 @@ static const u16 sEmboarTeachableLearnset[] = { MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SOLAR_BEAM, @@ -16911,9 +16914,6 @@ static const u16 sEmboarTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TEPIG @@ -16936,12 +16936,12 @@ static const u16 sOshawottTeachableLearnset[] = { MOVE_REST, MOVE_ROCK_SMASH, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -16963,12 +16963,12 @@ static const u16 sDewottTeachableLearnset[] = { MOVE_REST, MOVE_ROCK_SMASH, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -16976,6 +16976,7 @@ static const u16 sSamurottTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CUT, MOVE_DIG, @@ -16992,13 +16993,12 @@ static const u16 sSamurottTeachableLearnset[] = { MOVE_ROCK_SMASH, MOVE_STRENGTH, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -17006,6 +17006,7 @@ static const u16 sSamurottTeachableLearnset[] = { static const u16 sSamurottHisuiTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, MOVE_FACADE, @@ -17017,12 +17018,11 @@ static const u16 sSamurottHisuiTeachableLearnset[] = { MOVE_REST, MOVE_ROCK_SMASH, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_HISUIAN_FORMS @@ -17043,9 +17043,9 @@ static const u16 sPatratTeachableLearnset[] = { MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THUNDERBOLT, MOVE_TOXIC, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -17055,6 +17055,7 @@ static const u16 sWatchogTeachableLearnset[] = { MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLAMETHROWER, MOVE_FLASH, @@ -17070,12 +17071,11 @@ static const u16 sWatchogTeachableLearnset[] = { MOVE_SHOCK_WAVE, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PATRAT @@ -17097,8 +17097,8 @@ static const u16 sLillipupTeachableLearnset[] = { MOVE_SHOCK_WAVE, MOVE_SUNNY_DAY, MOVE_THUNDERBOLT, - MOVE_TOXIC, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -17120,8 +17120,8 @@ static const u16 sHerdierTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_SURF, MOVE_THUNDERBOLT, - MOVE_TOXIC, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -17145,8 +17145,8 @@ static const u16 sStoutlandTeachableLearnset[] = { MOVE_SURF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LILLIPUP @@ -17157,6 +17157,7 @@ static const u16 sPurrloinTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CUT, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_IRON_TAIL, MOVE_PROTECT, @@ -17167,10 +17168,9 @@ static const u16 sPurrloinTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -17179,6 +17179,7 @@ static const u16 sLiepardTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CUT, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, @@ -17191,10 +17192,9 @@ static const u16 sLiepardTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PURRLOIN @@ -17239,6 +17239,7 @@ static const u16 sSimisageTeachableLearnset[] = { MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SOLAR_BEAM, @@ -17247,7 +17248,6 @@ static const u16 sSimisageTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PANSAGE @@ -17292,6 +17292,7 @@ static const u16 sSimisearTeachableLearnset[] = { MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SOLAR_BEAM, @@ -17300,7 +17301,6 @@ static const u16 sSimisearTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PANSEAR @@ -17350,6 +17350,7 @@ static const u16 sSimipourTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SURF, @@ -17359,7 +17360,6 @@ static const u16 sSimipourTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PANPOUR @@ -17369,6 +17369,7 @@ static const u16 sMunnaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_LIGHT_SCREEN, @@ -17377,16 +17378,15 @@ static const u16 sMunnaTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_ROCK_SLIDE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -17394,6 +17394,7 @@ static const u16 sMusharnaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, @@ -17403,16 +17404,15 @@ static const u16 sMusharnaTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SKILL_SWAP, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_ROCK_SLIDE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MUNNA @@ -17471,6 +17471,8 @@ static const u16 sUnfezantTeachableLearnset[] = { #if P_FAMILY_BLITZLE static const u16 sBlitzleTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -17483,15 +17485,15 @@ static const u16 sBlitzleTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sZebstrikaTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -17509,10 +17511,8 @@ static const u16 sZebstrikaTeachableLearnset[] = { MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BLITZLE @@ -17522,16 +17522,16 @@ static const u16 sRoggenrolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_STRENGTH, MOVE_TOXIC, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; @@ -17539,16 +17539,16 @@ static const u16 sBoldoreTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_STRENGTH, MOVE_TOXIC, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; @@ -17556,18 +17556,18 @@ static const u16 sGigalithTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_TOXIC, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ROGGENROLA @@ -17578,6 +17578,7 @@ static const u16 sWoobatTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_FLY, @@ -17595,10 +17596,9 @@ static const u16 sWoobatTeachableLearnset[] = { MOVE_STEEL_WING, MOVE_TAUNT, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -17607,6 +17607,7 @@ static const u16 sSwoobatTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_FLY, @@ -17625,10 +17626,9 @@ static const u16 sSwoobatTeachableLearnset[] = { MOVE_STEEL_WING, MOVE_TAUNT, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_WOOBAT @@ -17640,47 +17640,47 @@ static const u16 sDrilburTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SLUDGE_BOMB, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, 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_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SLUDGE_BOMB, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DRILBUR @@ -17689,9 +17689,12 @@ 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_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -17701,6 +17704,8 @@ static const u16 sAudinoTeachableLearnset[] = { MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -17715,13 +17720,8 @@ static const u16 sAudinoTeachableLearnset[] = { MOVE_SURF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_AUDINO @@ -17731,13 +17731,18 @@ static const u16 sTimburrTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_BULK_UP, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STRENGTH, @@ -17745,11 +17750,6 @@ static const u16 sTimburrTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; @@ -17757,13 +17757,18 @@ static const u16 sGurdurrTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_BULK_UP, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STRENGTH, @@ -17771,27 +17776,28 @@ static const u16 sGurdurrTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, 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_EARTHQUAKE, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STRENGTH, @@ -17799,12 +17805,6 @@ static const u16 sConkeldurrTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TIMBURR @@ -17853,9 +17853,12 @@ static const u16 sSeismitoadTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_HAIL, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SLUDGE_BOMB, @@ -17863,9 +17866,6 @@ static const u16 sSeismitoadTeachableLearnset[] = { MOVE_SURF, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TYMPOLE @@ -17873,6 +17873,7 @@ 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, @@ -17880,20 +17881,19 @@ static const u16 sThrohTeachableLearnset[] = { MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_THROH @@ -17903,24 +17903,24 @@ static const u16 sSawkTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_BULK_UP, + MOVE_COUNTER, MOVE_DIG, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SAWK @@ -17931,6 +17931,7 @@ static const u16 sSewaddleTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -17942,7 +17943,6 @@ static const u16 sSewaddleTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; @@ -17951,6 +17951,7 @@ static const u16 sSwadloonTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -17962,7 +17963,6 @@ static const u16 sSwadloonTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; @@ -17973,6 +17973,7 @@ static const u16 sLeavannyTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -17986,9 +17987,8 @@ static const u16 sLeavannyTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SEWADDLE @@ -17996,6 +17996,7 @@ static const u16 sLeavannyTeachableLearnset[] = { #if P_FAMILY_VENIPEDE static const u16 sVenipedeTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_PROTECT, @@ -18005,12 +18006,12 @@ static const u16 sVenipedeTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sWhirlipedeTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_PROTECT, @@ -18020,7 +18021,6 @@ static const u16 sWhirlipedeTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; @@ -18028,6 +18028,7 @@ static const u16 sScolipedeTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CUT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -18035,6 +18036,7 @@ static const u16 sScolipedeTeachableLearnset[] = { MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SLUDGE_BOMB, @@ -18042,10 +18044,8 @@ static const u16 sScolipedeTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_VENIPEDE @@ -18054,6 +18054,7 @@ static const u16 sScolipedeTeachableLearnset[] = { static const u16 sCottoneeTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -18064,13 +18065,13 @@ static const u16 sCottoneeTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; static const u16 sWhimsicottTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -18086,7 +18087,6 @@ static const u16 sWhimsicottTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_COTTONEE @@ -18097,6 +18097,7 @@ static const u16 sPetililTeachableLearnset[] = { MOVE_BULLET_SEED, MOVE_CUT, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -18106,7 +18107,6 @@ static const u16 sPetililTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; @@ -18115,6 +18115,7 @@ static const u16 sLilligantTeachableLearnset[] = { MOVE_BULLET_SEED, MOVE_CUT, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -18125,9 +18126,8 @@ static const u16 sLilligantTeachableLearnset[] = { MOVE_SAFEGUARD, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -18139,14 +18139,14 @@ static const u16 sLilligantHisuiTeachableLearnset[] = { MOVE_FACADE, MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROCK_SMASH, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_MEGA_KICK, - MOVE_METRONOME, MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -18159,6 +18159,7 @@ static const u16 sBasculinTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_CUT, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HAIL, @@ -18172,13 +18173,13 @@ static const u16 sBasculinTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #if P_HISUIAN_FORMS static const u16 sBasculinWhiteStripedTeachableLearnset[] = { MOVE_BLIZZARD, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_ICE_BEAM, MOVE_PROTECT, @@ -18187,13 +18188,13 @@ static const u16 sBasculinWhiteStripedTeachableLearnset[] = { MOVE_SURF, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sBasculegionTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, @@ -18205,7 +18206,6 @@ static const u16 sBasculegionTeachableLearnset[] = { MOVE_SURF, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_HISUIAN_FORMS @@ -18214,9 +18214,12 @@ 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_FACADE, @@ -18224,6 +18227,7 @@ static const u16 sSandileTeachableLearnset[] = { MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SLUDGE_BOMB, @@ -18232,28 +18236,30 @@ static const u16 sSandileTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, 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_FACADE, MOVE_FOCUS_PUNCH, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -18264,22 +18270,19 @@ static const u16 sKrokorokTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, 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, @@ -18287,9 +18290,12 @@ static const u16 sKrookodileTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -18300,12 +18306,6 @@ static const u16 sKrookodileTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SANDILE @@ -18320,10 +18320,13 @@ static const u16 sDarumakaTeachableLearnset[] = { MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SNATCH, @@ -18333,14 +18336,12 @@ static const u16 sDarumakaTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sDarmanitanTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_DIG, @@ -18351,11 +18352,14 @@ static const u16 sDarmanitanTeachableLearnset[] = { MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SNATCH, @@ -18366,10 +18370,6 @@ static const u16 sDarmanitanTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; @@ -18384,23 +18384,24 @@ static const u16 sDarumakaGalarTeachableLearnset[] = { MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sDarmanitanGalarTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_DIG, @@ -18411,19 +18412,18 @@ static const u16 sDarmanitanGalarTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, - MOVE_BODY_SLAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_GALARIAN_FORMS @@ -18452,6 +18452,7 @@ static const u16 sMaractusTeachableLearnset[] = { static const u16 sDwebbleTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_COUNTER, MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, @@ -18459,21 +18460,21 @@ static const u16 sDwebbleTeachableLearnset[] = { MOVE_FACADE, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SOLAR_BEAM, MOVE_STRENGTH, - MOVE_TOXIC, - MOVE_COUNTER, - MOVE_ROCK_SLIDE, 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, @@ -18482,15 +18483,14 @@ static const u16 sCrustleTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SOLAR_BEAM, MOVE_STRENGTH, - MOVE_TOXIC, - MOVE_COUNTER, - MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DWEBBLE @@ -18500,16 +18500,21 @@ 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_FACADE, MOVE_FOCUS_PUNCH, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SLUDGE_BOMB, @@ -18520,47 +18525,42 @@ static const u16 sScraggyTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, 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_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SLUDGE_BOMB, MOVE_SNATCH, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SCRAGGY @@ -18571,6 +18571,7 @@ static const u16 sSigilyphTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_FLY, @@ -18589,9 +18590,8 @@ static const u16 sSigilyphTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_THIEF, - MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SIGILYPH @@ -18601,6 +18601,7 @@ static const u16 sYamaskTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_PROTECT, @@ -18614,7 +18615,6 @@ static const u16 sYamaskTeachableLearnset[] = { MOVE_SNATCH, MOVE_THIEF, MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; @@ -18622,6 +18622,7 @@ static const u16 sCofagrigusTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, @@ -18636,7 +18637,6 @@ static const u16 sCofagrigusTeachableLearnset[] = { MOVE_SNATCH, MOVE_THIEF, MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; @@ -18650,13 +18650,13 @@ static const u16 sYamaskGalarTeachableLearnset[] = { MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, MOVE_THIEF, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; @@ -18670,6 +18670,7 @@ static const u16 sRunerigusTeachableLearnset[] = { MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, @@ -18677,7 +18678,6 @@ static const u16 sRunerigusTeachableLearnset[] = { MOVE_SKILL_SWAP, MOVE_TAUNT, MOVE_THIEF, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_GALARIAN_FORMS @@ -18687,6 +18687,7 @@ static const u16 sRunerigusTeachableLearnset[] = { static const u16 sTirtougaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIG, MOVE_DIVE, MOVE_DOUBLE_TEAM, @@ -18697,6 +18698,7 @@ static const u16 sTirtougaTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -18705,14 +18707,13 @@ static const u16 sTirtougaTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sCarracostaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIG, MOVE_DIVE, MOVE_DOUBLE_TEAM, @@ -18724,6 +18725,7 @@ static const u16 sCarracostaTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -18732,8 +18734,6 @@ static const u16 sCarracostaTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TIRTOUGA @@ -18752,6 +18752,7 @@ static const u16 sArchenTeachableLearnset[] = { MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -18759,7 +18760,6 @@ static const u16 sArchenTeachableLearnset[] = { MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; @@ -18778,6 +18778,7 @@ static const u16 sArcheopsTeachableLearnset[] = { MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -18785,7 +18786,6 @@ static const u16 sArcheopsTeachableLearnset[] = { MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ARCHEN @@ -18794,6 +18794,7 @@ static const u16 sArcheopsTeachableLearnset[] = { static const u16 sTrubbishTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_GIGA_DRAIN, MOVE_PROTECT, @@ -18803,13 +18804,14 @@ static const u16 sTrubbishTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_EXPLOSION, MOVE_UNAVAILABLE, }; static const u16 sGarbodorTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, @@ -18823,8 +18825,6 @@ static const u16 sGarbodorTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDERBOLT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_EXPLOSION, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TRUBBISH @@ -18834,6 +18834,7 @@ static const u16 sZoruaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_CALM_MIND, + MOVE_COUNTER, MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, @@ -18846,26 +18847,29 @@ static const u16 sZoruaTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SNATCH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_COUNTER, - 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_FACADE, MOVE_FLAMETHROWER, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -18876,15 +18880,11 @@ static const u16 sZoroarkTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SNATCH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -18910,6 +18910,7 @@ static const u16 sZoruaHisuiTeachableLearnset[] = { static const u16 sZoroarkHisuiTeachableLearnset[] = { MOVE_AERIAL_ACE, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_DIG, @@ -18925,11 +18926,10 @@ static const u16 sZoroarkHisuiTeachableLearnset[] = { MOVE_ROCK_SMASH, MOVE_SHADOW_BALL, MOVE_SLUDGE_BOMB, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, - MOVE_BODY_SLAM, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_HISUIAN_FORMS @@ -18952,8 +18952,8 @@ static const u16 sMinccinoTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_THUNDERBOLT, - MOVE_TOXIC, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -18962,6 +18962,7 @@ static const u16 sCinccinoTeachableLearnset[] = { MOVE_BULLET_SEED, MOVE_CALM_MIND, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HYPER_BEAM, @@ -18976,9 +18977,8 @@ static const u16 sCinccinoTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MINCCINO @@ -18988,6 +18988,7 @@ static const u16 sGothitaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_LIGHT_SCREEN, @@ -18996,6 +18997,7 @@ static const u16 sGothitaTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SHADOW_BALL, @@ -19005,11 +19007,9 @@ static const u16 sGothitaTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_ROCK_SLIDE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -19017,14 +19017,17 @@ static const u16 sGothoritaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SHADOW_BALL, @@ -19034,29 +19037,30 @@ static const u16 sGothoritaTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - 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_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SHADOW_BALL, @@ -19066,13 +19070,9 @@ static const u16 sGothitelleTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DREAM_EATER, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GOTHITA @@ -19082,6 +19082,8 @@ static const u16 sSolosisTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_LIGHT_SCREEN, @@ -19090,6 +19092,7 @@ static const u16 sSolosisTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SHADOW_BALL, @@ -19098,11 +19101,8 @@ static const u16 sSolosisTeachableLearnset[] = { MOVE_SNATCH, MOVE_SUNNY_DAY, MOVE_THUNDER, - MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -19110,6 +19110,8 @@ static const u16 sDuosionTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_LIGHT_SCREEN, @@ -19118,6 +19120,7 @@ static const u16 sDuosionTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SHADOW_BALL, @@ -19126,28 +19129,30 @@ static const u16 sDuosionTeachableLearnset[] = { MOVE_SNATCH, MOVE_SUNNY_DAY, MOVE_THUNDER, - MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, 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_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -19158,13 +19163,8 @@ static const u16 sReuniclusTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_THUNDER, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SOLOSIS @@ -19174,6 +19174,7 @@ static const u16 sDucklettTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLY, @@ -19186,7 +19187,6 @@ static const u16 sDucklettTeachableLearnset[] = { MOVE_SURF, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; @@ -19194,6 +19194,7 @@ static const u16 sSwannaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLY, @@ -19207,7 +19208,6 @@ static const u16 sSwannaTeachableLearnset[] = { MOVE_SURF, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DUCKLETT @@ -19217,6 +19217,7 @@ static const u16 sVanilliteTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_HAIL, MOVE_ICE_BEAM, @@ -19227,7 +19228,6 @@ static const u16 sVanilliteTeachableLearnset[] = { MOVE_TAUNT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_EXPLOSION, MOVE_UNAVAILABLE, }; @@ -19235,6 +19235,7 @@ static const u16 sVanillishTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_HAIL, MOVE_ICE_BEAM, @@ -19245,7 +19246,6 @@ static const u16 sVanillishTeachableLearnset[] = { MOVE_TAUNT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_EXPLOSION, MOVE_UNAVAILABLE, }; @@ -19253,6 +19253,7 @@ static const u16 sVanilluxeTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_HAIL, MOVE_HYPER_BEAM, @@ -19264,7 +19265,6 @@ static const u16 sVanilluxeTeachableLearnset[] = { MOVE_TAUNT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_EXPLOSION, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_VANILLITE @@ -19272,8 +19272,10 @@ 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_FACADE, MOVE_FLASH, @@ -19286,18 +19288,18 @@ static const u16 sDeerlingTeachableLearnset[] = { MOVE_SHADOW_BALL, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, 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_FACADE, MOVE_FLASH, @@ -19312,11 +19314,9 @@ static const u16 sSawsbuckTeachableLearnset[] = { MOVE_SHADOW_BALL, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DEERLING @@ -19339,8 +19339,8 @@ static const u16 sEmolgaTeachableLearnset[] = { MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_EMOLGA @@ -19349,24 +19349,26 @@ static const u16 sEmolgaTeachableLearnset[] = { static const u16 sKarrablastTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_COUNTER, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_GIGA_DRAIN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_TOXIC, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, 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_FACADE, MOVE_GIGA_DRAIN, @@ -19375,11 +19377,9 @@ static const u16 sEscavalierTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROCK_SMASH, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KARRABLAST @@ -19387,6 +19387,7 @@ static const u16 sEscavalierTeachableLearnset[] = { #if P_FAMILY_FOONGUS static const u16 sFoongusTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_DOUBLE_TEAM, MOVE_FACADE, @@ -19399,12 +19400,12 @@ static const u16 sFoongusTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, MOVE_UNAVAILABLE, }; static const u16 sAmoongussTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_DOUBLE_TEAM, MOVE_FACADE, @@ -19418,7 +19419,6 @@ static const u16 sAmoongussTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FOONGUS @@ -19429,6 +19429,7 @@ static const u16 sFrillishTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_DIVE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -19447,7 +19448,6 @@ static const u16 sFrillishTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; @@ -19456,6 +19456,7 @@ static const u16 sJellicentTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_DIVE, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -19475,7 +19476,6 @@ static const u16 sJellicentTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FRILLISH @@ -19484,6 +19484,7 @@ static const u16 sJellicentTeachableLearnset[] = { static const u16 sAlomomolaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIVE, MOVE_DOUBLE_TEAM, @@ -19503,7 +19504,6 @@ static const u16 sAlomomolaTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ALOMOMOLA @@ -19524,8 +19524,8 @@ static const u16 sJoltikTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -19545,8 +19545,8 @@ static const u16 sGalvantulaTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_JOLTIK @@ -19556,6 +19556,7 @@ static const u16 sFerroseedTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -19565,9 +19566,8 @@ static const u16 sFerroseedTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_EXPLOSION, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -19577,6 +19577,7 @@ static const u16 sFerrothornTeachableLearnset[] = { MOVE_BULLET_SEED, MOVE_CUT, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -19588,12 +19589,11 @@ static const u16 sFerrothornTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_EXPLOSION, - MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FERROSEED @@ -19609,8 +19609,8 @@ static const u16 sKlinkTeachableLearnset[] = { MOVE_SANDSTORM, MOVE_SHOCK_WAVE, MOVE_THUNDERBOLT, - MOVE_TOXIC, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -19624,8 +19624,8 @@ static const u16 sKlangTeachableLearnset[] = { MOVE_SANDSTORM, MOVE_SHOCK_WAVE, MOVE_THUNDERBOLT, - MOVE_TOXIC, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -19640,8 +19640,8 @@ static const u16 sKlinklangTeachableLearnset[] = { MOVE_SHOCK_WAVE, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KLINK @@ -19654,6 +19654,7 @@ static const u16 sTynamoTeachableLearnset[] = { static const u16 sEelektrikTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -19666,14 +19667,14 @@ static const u16 sEelektrikTeachableLearnset[] = { MOVE_SHOCK_WAVE, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sEelektrossTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CUT, @@ -19691,6 +19692,7 @@ static const u16 sEelektrossTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SHOCK_WAVE, @@ -19698,10 +19700,8 @@ static const u16 sEelektrossTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TYNAMO @@ -19711,6 +19711,7 @@ static const u16 sElgyemTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_LIGHT_SCREEN, @@ -19719,6 +19720,7 @@ static const u16 sElgyemTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SHADOW_BALL, @@ -19728,10 +19730,8 @@ static const u16 sElgyemTeachableLearnset[] = { MOVE_STEEL_WING, MOVE_THIEF, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -19739,6 +19739,7 @@ static const u16 sBeheeyemTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, @@ -19748,6 +19749,7 @@ static const u16 sBeheeyemTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SHADOW_BALL, @@ -19757,10 +19759,8 @@ static const u16 sBeheeyemTeachableLearnset[] = { MOVE_STEEL_WING, MOVE_THIEF, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ELGYEM @@ -19770,6 +19770,7 @@ static const u16 sLitwickTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -19786,7 +19787,6 @@ static const u16 sLitwickTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; @@ -19794,6 +19794,7 @@ static const u16 sLampentTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -19810,7 +19811,6 @@ static const u16 sLampentTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; @@ -19818,6 +19818,7 @@ static const u16 sChandelureTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -19835,7 +19836,6 @@ static const u16 sChandelureTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LITWICK @@ -19845,8 +19845,10 @@ 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_FACADE, @@ -19861,11 +19863,9 @@ static const u16 sAxewTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -19873,8 +19873,10 @@ 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_FACADE, @@ -19889,20 +19891,21 @@ static const u16 sFraxureTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, 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, @@ -19913,19 +19916,16 @@ static const u16 sHaxorusTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SHOCK_WAVE, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_AXEW @@ -19935,6 +19935,7 @@ static const u16 sCubchooTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, @@ -19942,9 +19943,12 @@ static const u16 sCubchooTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_HAIL, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STRENGTH, @@ -19953,10 +19957,6 @@ static const u16 sCubchooTeachableLearnset[] = { MOVE_THIEF, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; @@ -19964,11 +19964,13 @@ 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_FACADE, @@ -19976,24 +19978,22 @@ static const u16 sBearticTeachableLearnset[] = { MOVE_HAIL, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STRENGTH, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CUBCHOO @@ -20002,7 +20002,9 @@ static const u16 sBearticTeachableLearnset[] = { static const u16 sCryogonalTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_HAIL, MOVE_HYPER_BEAM, @@ -20015,8 +20017,6 @@ static const u16 sCryogonalTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_EXPLOSION, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CRYOGONAL @@ -20024,6 +20024,8 @@ static const u16 sCryogonalTeachableLearnset[] = { #if P_FAMILY_SHELMET static const u16 sShelmetTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_GIGA_DRAIN, @@ -20032,13 +20034,13 @@ static const u16 sShelmetTeachableLearnset[] = { MOVE_REST, MOVE_SLUDGE_BOMB, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sAccelgorTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_GIGA_DRAIN, @@ -20049,8 +20051,6 @@ static const u16 sAccelgorTeachableLearnset[] = { MOVE_SANDSTORM, MOVE_SLUDGE_BOMB, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SHELMET @@ -20066,6 +20066,7 @@ static const u16 sStunfiskTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SHOCK_WAVE, @@ -20073,28 +20074,27 @@ static const u16 sStunfiskTeachableLearnset[] = { MOVE_SURF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_ROCK_SLIDE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #if P_GALARIAN_FORMS static const u16 sStunfiskGalarTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_COUNTER, MOVE_DIG, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SLUDGE_BOMB, MOVE_SURF, - MOVE_COUNTER, - MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -20112,20 +20112,20 @@ static const u16 sMienfooTeachableLearnset[] = { MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -20136,25 +20136,25 @@ static const u16 sMienshaoTeachableLearnset[] = { MOVE_BULK_UP, MOVE_CALM_MIND, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MIENFOO @@ -20163,6 +20163,7 @@ static const u16 sMienshaoTeachableLearnset[] = { static const u16 sDruddigonTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, @@ -20172,10 +20173,12 @@ static const u16 sDruddigonTeachableLearnset[] = { MOVE_FLAMETHROWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SHOCK_WAVE, @@ -20187,28 +20190,30 @@ static const u16 sDruddigonTeachableLearnset[] = { MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DRUDDIGON #if P_FAMILY_GOLETT static const u16 sGolettTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -20219,17 +20224,14 @@ static const u16 sGolettTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sGolurkTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -20238,11 +20240,14 @@ static const u16 sGolurkTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -20255,11 +20260,6 @@ static const u16 sGolurkTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDERBOLT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GOLETT @@ -20280,12 +20280,12 @@ static const u16 sPawniardTeachableLearnset[] = { MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SNATCH, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_SWORDS_DANCE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -20305,12 +20305,12 @@ static const u16 sBisharpTeachableLearnset[] = { MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SNATCH, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_SWORDS_DANCE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -20326,11 +20326,11 @@ static const u16 sKingambitTeachableLearnset[] = { MOVE_REST, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, - MOVE_TORMENT, - MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, + MOVE_TORMENT, MOVE_UNAVAILABLE, }; #endif //P_GEN_9_CROSS_EVOS @@ -20340,6 +20340,7 @@ static const u16 sKingambitTeachableLearnset[] = { static const u16 sBouffalantTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_CUT, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, @@ -20347,16 +20348,15 @@ static const u16 sBouffalantTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BOUFFALANT @@ -20365,31 +20365,33 @@ 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_FACADE, MOVE_FLY, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, 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_FACADE, MOVE_FLY, @@ -20397,23 +20399,23 @@ static const u16 sBraviaryTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, 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_FACADE, MOVE_FLY, MOVE_HYPER_BEAM, @@ -20421,13 +20423,11 @@ static const u16 sBraviaryHisuiTeachableLearnset[] = { MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SHADOW_BALL, MOVE_SUNNY_DAY, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_HISUIAN_FORMS @@ -20438,6 +20438,7 @@ static const u16 sVullabyTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLY, @@ -20454,7 +20455,6 @@ static const u16 sVullabyTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; @@ -20462,6 +20462,7 @@ static const u16 sMandibuzzTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLY, @@ -20480,7 +20481,6 @@ static const u16 sMandibuzzTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_VULLABY @@ -20489,6 +20489,7 @@ static const u16 sMandibuzzTeachableLearnset[] = { static const u16 sHeatmorTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, @@ -20509,7 +20510,6 @@ static const u16 sHeatmorTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_HEATMOR @@ -20524,13 +20524,13 @@ static const u16 sDurantTeachableLearnset[] = { MOVE_FACADE, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_STRENGTH, - MOVE_TOXIC, - MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DURANT @@ -20538,6 +20538,7 @@ static const u16 sDurantTeachableLearnset[] = { #if P_FAMILY_DEINO static const u16 sDeinoTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_PROTECT, @@ -20550,15 +20551,15 @@ static const u16 sDeinoTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sZweilousTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_PROTECT, @@ -20571,15 +20572,15 @@ static const u16 sZweilousTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sHydreigonTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -20593,6 +20594,7 @@ static const u16 sHydreigonTeachableLearnset[] = { MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SHOCK_WAVE, @@ -20602,11 +20604,9 @@ static const u16 sHydreigonTeachableLearnset[] = { MOVE_SURF, MOVE_TAUNT, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DEINO @@ -20614,7 +20614,9 @@ 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_FACADE, MOVE_FIRE_BLAST, @@ -20629,15 +20631,15 @@ static const u16 sLarvestaTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sVolcaronaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -20655,8 +20657,6 @@ static const u16 sVolcaronaTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LARVESTA @@ -20664,9 +20664,11 @@ 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_FACADE, MOVE_HYPER_BEAM, @@ -20680,12 +20682,10 @@ static const u16 sCobalionTeachableLearnset[] = { MOVE_SANDSTORM, MOVE_STRENGTH, MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, + MOVE_TAUNT, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_COBALION @@ -20693,9 +20693,11 @@ 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_FACADE, @@ -20704,17 +20706,15 @@ static const u16 sTerrakionTeachableLearnset[] = { MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, MOVE_STRENGTH, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TERRAKION @@ -20722,10 +20722,12 @@ 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_FACADE, MOVE_FLASH, @@ -20741,11 +20743,9 @@ static const u16 sVirizionTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_VIRIZION @@ -20754,6 +20754,7 @@ 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, @@ -20761,6 +20762,7 @@ static const u16 sTornadusTeachableLearnset[] = { MOVE_FLY, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -20774,8 +20776,6 @@ static const u16 sTornadusTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_METRONOME, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TORNADUS @@ -20783,6 +20783,7 @@ 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, @@ -20803,17 +20804,18 @@ static const u16 sThundurusTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - 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_FACADE, @@ -20829,6 +20831,7 @@ static const u16 sReshiramTeachableLearnset[] = { MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -20838,17 +20841,16 @@ static const u16 sReshiramTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, 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_FACADE, @@ -20863,6 +20865,7 @@ static const u16 sZekromTeachableLearnset[] = { MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -20873,11 +20876,8 @@ static const u16 sZekromTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ZEKROM @@ -20885,12 +20885,14 @@ 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_EXPLOSION, MOVE_FACADE, MOVE_FLY, MOVE_HYPER_BEAM, @@ -20899,18 +20901,16 @@ static const u16 sLandorusTeachableLearnset[] = { MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SLUDGE_BOMB, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LANDORUS @@ -20919,6 +20919,7 @@ static const u16 sLandorusTeachableLearnset[] = { static const u16 sKyuremTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_CUT, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, @@ -20934,6 +20935,7 @@ static const u16 sKyuremTeachableLearnset[] = { MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -20942,8 +20944,6 @@ static const u16 sKyuremTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KYUREM @@ -20954,6 +20954,7 @@ static const u16 sKeldeoTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_CUT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HAIL, @@ -20968,11 +20969,10 @@ static const u16 sKeldeoTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KELDEO @@ -20982,11 +20982,13 @@ static const u16 sMeloettaTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -20999,13 +21001,11 @@ static const u16 sMeloettaTeachableLearnset[] = { MOVE_SNATCH, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_METRONOME, - MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MELOETTA @@ -21015,6 +21015,7 @@ static const u16 sGenesectTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLAMETHROWER, MOVE_FLASH, @@ -21031,9 +21032,8 @@ static const u16 sGenesectTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_EXPLOSION, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GENESECT @@ -21042,6 +21042,7 @@ 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, @@ -21058,23 +21059,23 @@ static const u16 sChespinTeachableLearnset[] = { MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sQuilladinTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_BULLET_SEED, @@ -21091,28 +21092,29 @@ static const u16 sQuilladinTeachableLearnset[] = { MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, 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_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, @@ -21127,18 +21129,16 @@ static const u16 sChesnaughtTeachableLearnset[] = { MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CHESPIN @@ -21149,6 +21149,7 @@ static const u16 sFennekinTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -21165,7 +21166,6 @@ static const u16 sFennekinTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; @@ -21174,6 +21174,7 @@ static const u16 sBraixenTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -21192,7 +21193,6 @@ static const u16 sBraixenTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; @@ -21201,12 +21201,14 @@ static const u16 sDelphoxTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_PSYCHIC, @@ -21222,8 +21224,6 @@ static const u16 sDelphoxTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_METRONOME, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FENNEKIN @@ -21233,6 +21233,7 @@ static const u16 sFroakieTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_COUNTER, MOVE_CUT, MOVE_DIG, MOVE_DIVE, @@ -21242,6 +21243,7 @@ static const u16 sFroakieTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SNATCH, @@ -21252,8 +21254,6 @@ static const u16 sFroakieTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_COUNTER, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; @@ -21261,6 +21261,7 @@ static const u16 sFrogadierTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_COUNTER, MOVE_CUT, MOVE_DIG, MOVE_DIVE, @@ -21270,19 +21271,18 @@ static const u16 sFrogadierTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SNATCH, MOVE_STRENGTH, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_COUNTER, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -21291,6 +21291,7 @@ static const u16 sGreninjaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, MOVE_BRICK_BREAK, + MOVE_COUNTER, MOVE_CUT, MOVE_DIG, MOVE_DIVE, @@ -21301,19 +21302,18 @@ static const u16 sGreninjaTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SNATCH, MOVE_STRENGTH, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_COUNTER, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FROAKIE @@ -21331,22 +21331,23 @@ static const u16 sBunnelbyTeachableLearnset[] = { MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SLUDGE_BOMB, MOVE_STRENGTH, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sDiggersbyTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CUT, @@ -21357,8 +21358,11 @@ static const u16 sDiggersbyTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -21366,14 +21370,10 @@ static const u16 sDiggersbyTeachableLearnset[] = { MOVE_SNATCH, MOVE_STRENGTH, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BUNNELBY @@ -21382,6 +21382,7 @@ static const u16 sDiggersbyTeachableLearnset[] = { static const u16 sFletchlingTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLY, @@ -21392,17 +21393,17 @@ static const u16 sFletchlingTeachableLearnset[] = { MOVE_SNATCH, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sFletchinderTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -21415,11 +21416,10 @@ static const u16 sFletchinderTeachableLearnset[] = { MOVE_SNATCH, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -21427,6 +21427,7 @@ static const u16 sTalonflameTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, MOVE_BULK_UP, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -21441,11 +21442,10 @@ static const u16 sTalonflameTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FLETCHLING @@ -21465,6 +21465,7 @@ static const u16 sVivillonTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -21479,7 +21480,6 @@ static const u16 sVivillonTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SCATTERBUG @@ -21487,7 +21487,9 @@ 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_FACADE, MOVE_FIRE_BLAST, @@ -21506,14 +21508,14 @@ static const u16 sLitleoTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sPyroarTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -21533,8 +21535,6 @@ static const u16 sPyroarTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LITLEO @@ -21567,6 +21567,7 @@ static const u16 sFloetteTeachableLearnset[] = { MOVE_FLASH, MOVE_GIGA_DRAIN, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -21576,7 +21577,6 @@ static const u16 sFloetteTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_METRONOME, MOVE_UNAVAILABLE, }; @@ -21588,6 +21588,7 @@ static const u16 sFloetteEternalTeachableLearnset[] = { MOVE_FLASH, MOVE_GIGA_DRAIN, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -21597,7 +21598,6 @@ static const u16 sFloetteEternalTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_METRONOME, MOVE_UNAVAILABLE, }; @@ -21610,6 +21610,7 @@ static const u16 sFlorgesTeachableLearnset[] = { MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -21619,7 +21620,6 @@ static const u16 sFlorgesTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_METRONOME, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FLABEBE @@ -21627,10 +21627,12 @@ 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_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_GIGA_DRAIN, @@ -21639,25 +21641,25 @@ static const u16 sSkiddoTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sGogoatTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_BULLET_SEED, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -21668,15 +21670,13 @@ static const u16 sGogoatTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SKIDDO @@ -21685,6 +21685,7 @@ static const u16 sGogoatTeachableLearnset[] = { static const u16 sPanchamTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CUT, @@ -21692,32 +21693,32 @@ static const u16 sPanchamTeachableLearnset[] = { MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_SLUDGE_BOMB, MOVE_SNATCH, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sPangoroTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CUT, @@ -21728,27 +21729,26 @@ static const u16 sPangoroTeachableLearnset[] = { MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SEISMIC_TOSS, MOVE_SLUDGE_BOMB, MOVE_SNATCH, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PANCHAM @@ -21768,8 +21768,8 @@ static const u16 sFurfrouTeachableLearnset[] = { MOVE_ROCK_SMASH, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_TOXIC, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FURFROU @@ -21780,6 +21780,7 @@ static const u16 sEspurrTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_CUT, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_IRON_TAIL, @@ -21796,10 +21797,9 @@ static const u16 sEspurrTeachableLearnset[] = { MOVE_SNATCH, MOVE_SUNNY_DAY, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -21809,6 +21809,7 @@ static const u16 sMeowsticMTeachableLearnset[] = { MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, @@ -21826,10 +21827,9 @@ static const u16 sMeowsticMTeachableLearnset[] = { MOVE_SNATCH, MOVE_SUNNY_DAY, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -21839,6 +21839,7 @@ static const u16 sMeowsticFTeachableLearnset[] = { MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, @@ -21856,10 +21857,9 @@ static const u16 sMeowsticFTeachableLearnset[] = { MOVE_SNATCH, MOVE_SUNNY_DAY, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ESPURR @@ -21876,11 +21876,11 @@ static const u16 sHonedgeTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_SHOCK_WAVE, - MOVE_TOXIC, - MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -21895,11 +21895,11 @@ static const u16 sDoubladeTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_SHOCK_WAVE, - MOVE_TOXIC, - MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -21915,13 +21915,13 @@ static const u16 sAegislashTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_HONEDGE @@ -21931,6 +21931,7 @@ static const u16 sSpritzeeTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_LIGHT_SCREEN, @@ -21944,7 +21945,6 @@ static const u16 sSpritzeeTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; @@ -21952,10 +21952,12 @@ static const u16 sAromatisseTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -21967,8 +21969,6 @@ static const u16 sAromatisseTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_METRONOME, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SPRITZEE @@ -21978,6 +21978,7 @@ static const u16 sSwirlixTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLAMETHROWER, MOVE_FLASH, @@ -21992,7 +21993,6 @@ static const u16 sSwirlixTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDERBOLT, MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; @@ -22000,11 +22000,13 @@ static const u16 sSlurpuffTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLAMETHROWER, MOVE_FLASH, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -22016,8 +22018,6 @@ static const u16 sSlurpuffTeachableLearnset[] = { MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_METRONOME, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SWIRLIX @@ -22038,6 +22038,7 @@ static const u16 sInkayTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_SKILL_SWAP, MOVE_SNATCH, MOVE_SUNNY_DAY, @@ -22046,7 +22047,6 @@ static const u16 sInkayTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; @@ -22066,6 +22066,7 @@ static const u16 sMalamarTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_SKILL_SWAP, MOVE_SNATCH, MOVE_SUNNY_DAY, @@ -22074,7 +22075,6 @@ static const u16 sMalamarTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_INKAY @@ -22094,6 +22094,7 @@ static const u16 sBinacleTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -22101,13 +22102,12 @@ static const u16 sBinacleTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_STRENGTH, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -22129,6 +22129,7 @@ static const u16 sBarbaracleTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -22136,13 +22137,12 @@ static const u16 sBarbaracleTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_STRENGTH, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BINACLE @@ -22208,20 +22208,21 @@ static const u16 sClauncherTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_SLUDGE_BOMB, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sClawitzerTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_CUT, MOVE_DIVE, MOVE_DOUBLE_TEAM, @@ -22232,16 +22233,15 @@ static const u16 sClawitzerTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_SHADOW_BALL, MOVE_SLUDGE_BOMB, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CLAUNCHER @@ -22259,15 +22259,15 @@ static const u16 sHelioptileTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SHOCK_WAVE, MOVE_SURF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -22281,9 +22281,12 @@ static const u16 sHelioliskTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SHOCK_WAVE, @@ -22292,11 +22295,8 @@ static const u16 sHelioliskTeachableLearnset[] = { MOVE_SURF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_HELIOPTILE @@ -22305,6 +22305,7 @@ static const u16 sHelioliskTeachableLearnset[] = { static const u16 sTyruntTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, MOVE_DOUBLE_TEAM, @@ -22315,20 +22316,20 @@ static const u16 sTyruntTeachableLearnset[] = { MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sTyrantrumTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, MOVE_DOUBLE_TEAM, @@ -22340,14 +22341,13 @@ static const u16 sTyrantrumTeachableLearnset[] = { MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TYRUNT @@ -22356,8 +22356,10 @@ 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_FACADE, MOVE_FLASH, MOVE_HAIL, @@ -22370,25 +22372,25 @@ static const u16 sAmauraTeachableLearnset[] = { MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DREAM_EATER, - MOVE_ROCK_SLIDE, - 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_FACADE, MOVE_FLASH, @@ -22403,18 +22405,16 @@ static const u16 sAurorusTeachableLearnset[] = { MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DREAM_EATER, - MOVE_ROCK_SLIDE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_AMAURA @@ -22423,6 +22423,7 @@ static const u16 sAurorusTeachableLearnset[] = { static const u16 sHawluchaTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CUT, @@ -22432,23 +22433,22 @@ static const u16 sHawluchaTeachableLearnset[] = { MOVE_FLY, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_STEEL_WING, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_HAWLUCHA @@ -22473,16 +22473,19 @@ static const u16 sDedenneTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, 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_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_HAIL, @@ -22493,16 +22496,13 @@ static const u16 sCarbinkTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, MOVE_SKILL_SWAP, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CARBINK @@ -22510,27 +22510,29 @@ static const u16 sCarbinkTeachableLearnset[] = { #if P_FAMILY_GOOMY static const u16 sGoomyTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_SHOCK_WAVE, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sSliggooTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_ICE_BEAM, @@ -22538,6 +22540,7 @@ static const u16 sSliggooTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_SHOCK_WAVE, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, @@ -22545,15 +22548,14 @@ static const u16 sSliggooTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sGoodraTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, @@ -22565,9 +22567,12 @@ static const u16 sGoodraTeachableLearnset[] = { 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_ROCK_SMASH, MOVE_SHOCK_WAVE, MOVE_SLUDGE_BOMB, @@ -22578,23 +22583,21 @@ static const u16 sGoodraTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #if P_HISUIAN_FORMS static const u16 sSliggooHisuiTeachableLearnset[] = { MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_FACADE, MOVE_ICE_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SLUDGE_BOMB, @@ -22602,14 +22605,13 @@ static const u16 sSliggooHisuiTeachableLearnset[] = { MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sGoodraHisuiTeachableLearnset[] = { MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -22621,6 +22623,7 @@ static const u16 sGoodraHisuiTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -22630,9 +22633,6 @@ static const u16 sGoodraHisuiTeachableLearnset[] = { MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_HISUIAN_FORMS @@ -22656,9 +22656,9 @@ static const u16 sKlefkiTeachableLearnset[] = { MOVE_SANDSTORM, MOVE_SUNNY_DAY, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KLEFKI @@ -22669,6 +22669,7 @@ static const u16 sPhantumpTeachableLearnset[] = { MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_GIGA_DRAIN, MOVE_PROTECT, @@ -22676,6 +22677,7 @@ static const u16 sPhantumpTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, MOVE_SHADOW_BALL, @@ -22685,8 +22687,6 @@ static const u16 sPhantumpTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; @@ -22696,6 +22696,7 @@ static const u16 sTrevenantTeachableLearnset[] = { MOVE_CUT, MOVE_DIG, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_GIGA_DRAIN, @@ -22705,6 +22706,7 @@ static const u16 sTrevenantTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, MOVE_SHADOW_BALL, @@ -22714,8 +22716,6 @@ static const u16 sTrevenantTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PHANTUMP @@ -22725,6 +22725,8 @@ static const u16 sPumpkabooTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -22734,6 +22736,7 @@ static const u16 sPumpkabooTeachableLearnset[] = { MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, MOVE_SHADOW_BALL, @@ -22743,9 +22746,6 @@ static const u16 sPumpkabooTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; @@ -22753,6 +22753,8 @@ static const u16 sGourgeistTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULLET_SEED, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -22763,6 +22765,7 @@ static const u16 sGourgeistTeachableLearnset[] = { MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, MOVE_SHADOW_BALL, @@ -22772,9 +22775,6 @@ static const u16 sGourgeistTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PUMPKABOO @@ -22783,6 +22783,8 @@ static const u16 sGourgeistTeachableLearnset[] = { static const u16 sBergmiteTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FLASH, @@ -22791,6 +22793,7 @@ static const u16 sBergmiteTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -22798,15 +22801,14 @@ static const u16 sBergmiteTeachableLearnset[] = { MOVE_SURF, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sAvaluggTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -22818,6 +22820,7 @@ static const u16 sAvaluggTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, @@ -22825,16 +22828,15 @@ static const u16 sAvaluggTeachableLearnset[] = { MOVE_SURF, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #if P_HISUIAN_FORMS static const u16 sAvaluggHisuiTeachableLearnset[] = { MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_HYPER_BEAM, @@ -22842,13 +22844,11 @@ static const u16 sAvaluggHisuiTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_HISUIAN_FORMS @@ -22862,6 +22862,7 @@ static const u16 sNoibatTeachableLearnset[] = { MOVE_CUT, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLY, MOVE_IRON_TAIL, @@ -22878,17 +22879,19 @@ static const u16 sNoibatTeachableLearnset[] = { MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_DREAM_EATER, 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_FACADE, MOVE_FLAMETHROWER, MOVE_FLY, @@ -22907,15 +22910,13 @@ static const u16 sNoivernTeachableLearnset[] = { MOVE_TORMENT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_DREAM_EATER, 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, @@ -22930,13 +22931,12 @@ static const u16 sXerneasTeachableLearnset[] = { MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_XERNEAS @@ -22944,9 +22944,11 @@ 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_FACADE, MOVE_FLY, MOVE_HYPER_BEAM, @@ -22954,6 +22956,7 @@ static const u16 sYveltalTeachableLearnset[] = { MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_SHADOW_BALL, MOVE_STEEL_WING, MOVE_SUNNY_DAY, @@ -22961,15 +22964,13 @@ static const u16 sYveltalTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DREAM_EATER, - MOVE_ROCK_SLIDE, 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, @@ -22979,6 +22980,7 @@ static const u16 sZygardeTeachableLearnset[] = { MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_SAFEGUARD, MOVE_SANDSTORM, @@ -22986,36 +22988,34 @@ static const u16 sZygardeTeachableLearnset[] = { MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ZYGARDE #if P_FAMILY_DIANCIE static const u16 sDiancieTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FLASH, MOVE_HAIL, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, MOVE_SKILL_SWAP, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_EXPLOSION, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DIANCIE @@ -23025,6 +23025,7 @@ static const u16 sHoopaConfinedTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, @@ -23046,10 +23047,9 @@ static const u16 sHoopaConfinedTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -23057,6 +23057,7 @@ static const u16 sHoopaUnboundTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_FOCUS_PUNCH, @@ -23078,21 +23079,23 @@ static const u16 sHoopaUnboundTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DREAM_EATER, - 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_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -23102,6 +23105,7 @@ static const u16 sVolcanionTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, @@ -23112,10 +23116,6 @@ static const u16 sVolcanionTeachableLearnset[] = { MOVE_TAUNT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_VOLCANION @@ -23136,8 +23136,8 @@ static const u16 sRowletTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_TOXIC, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -23156,8 +23156,8 @@ static const u16 sDartrixTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_TOXIC, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -23178,8 +23178,8 @@ static const u16 sDecidueyeTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, - MOVE_TOXIC, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -23202,8 +23202,8 @@ static const u16 sDecidueyeHisuiTeachableLearnset[] = { MOVE_ROCK_TOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TAUNT, MOVE_SWORDS_DANCE, + MOVE_TAUNT, MOVE_UNAVAILABLE, }; #endif //P_HISUIAN_FORMS @@ -23212,7 +23212,9 @@ 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_FACADE, MOVE_FIRE_BLAST, @@ -23222,18 +23224,18 @@ static const u16 sLittenTeachableLearnset[] = { MOVE_REST, MOVE_ROAR, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sTorracatTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BULK_UP, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -23243,20 +23245,20 @@ static const u16 sTorracatTeachableLearnset[] = { MOVE_REST, MOVE_ROAR, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - 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_FACADE, @@ -23264,21 +23266,19 @@ static const u16 sIncineroarTeachableLearnset[] = { MOVE_FLAMETHROWER, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, MOVE_SNATCH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LITTEN @@ -23306,6 +23306,7 @@ static const u16 sPopplioTeachableLearnset[] = { static const u16 sBrionneTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIVE, MOVE_DOUBLE_TEAM, MOVE_FACADE, @@ -23319,13 +23320,13 @@ static const u16 sBrionneTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, MOVE_UNAVAILABLE, }; static const u16 sPrimarinaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DIVE, MOVE_DOUBLE_TEAM, @@ -23345,7 +23346,6 @@ static const u16 sPrimarinaTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_POPPLIO @@ -23364,9 +23364,9 @@ static const u16 sPikipekTeachableLearnset[] = { MOVE_ROCK_SMASH, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -23383,9 +23383,9 @@ static const u16 sTrumbeakTeachableLearnset[] = { MOVE_ROCK_SMASH, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -23404,9 +23404,9 @@ static const u16 sToucannonTeachableLearnset[] = { MOVE_ROCK_SMASH, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PIKIPEK @@ -23415,6 +23415,7 @@ static const u16 sToucannonTeachableLearnset[] = { static const u16 sYungoosTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -23430,13 +23431,14 @@ static const u16 sYungoosTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sGumshoosTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -23455,8 +23457,6 @@ static const u16 sGumshoosTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_YUNGOOS @@ -23473,8 +23473,8 @@ static const u16 sGrubbinTeachableLearnset[] = { MOVE_REST, MOVE_SHOCK_WAVE, MOVE_THUNDERBOLT, - MOVE_TOXIC, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -23490,8 +23490,8 @@ static const u16 sCharjabugTeachableLearnset[] = { MOVE_SHOCK_WAVE, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -23510,8 +23510,8 @@ static const u16 sVikavoltTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GRUBBIN @@ -23519,6 +23519,7 @@ 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, @@ -23529,19 +23530,19 @@ static const u16 sCrabrawlerTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sCrabominableTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_DIG, @@ -23555,13 +23556,12 @@ static const u16 sCrabominableTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CRABRAWLER @@ -23581,9 +23581,9 @@ static const u16 sOricorioTeachableLearnset[] = { MOVE_SANDSTORM, MOVE_STEEL_WING, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ORICORIO @@ -23594,6 +23594,7 @@ static const u16 sCutieflyTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_LIGHT_SCREEN, MOVE_PROTECT, @@ -23605,7 +23606,6 @@ static const u16 sCutieflyTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; @@ -23614,6 +23614,7 @@ static const u16 sRibombeeTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, @@ -23627,7 +23628,6 @@ static const u16 sRibombeeTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THIEF, MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CUTIEFLY @@ -23635,94 +23635,94 @@ 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_FACADE, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - 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_FACADE, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, 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_FACADE, MOVE_FOCUS_PUNCH, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, 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_FACADE, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ROCKRUFF @@ -23731,6 +23731,7 @@ static const u16 sLycanrocDuskTeachableLearnset[] = { static const u16 sWishiwashiTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -23744,7 +23745,6 @@ static const u16 sWishiwashiTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_WISHIWASHI @@ -23772,6 +23772,7 @@ static const u16 sMareanieTeachableLearnset[] = { static const u16 sToxapexTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_HAIL, @@ -23787,7 +23788,6 @@ static const u16 sToxapexTeachableLearnset[] = { MOVE_SURF, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MAREANIE @@ -23795,46 +23795,46 @@ 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_FACADE, + MOVE_MEGA_KICK, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sMudsdaleTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_STRENGTH, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MUDBRAY @@ -23860,6 +23860,7 @@ static const u16 sDewpiderTeachableLearnset[] = { static const u16 sAraquanidTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIVE, MOVE_DOUBLE_TEAM, MOVE_FACADE, @@ -23875,7 +23876,6 @@ static const u16 sAraquanidTeachableLearnset[] = { MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DEWPIDER @@ -23892,8 +23892,8 @@ static const u16 sFomantisTeachableLearnset[] = { MOVE_SAFEGUARD, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -23912,8 +23912,8 @@ static const u16 sLurantisTeachableLearnset[] = { MOVE_SAFEGUARD, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, MOVE_SWORDS_DANCE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FOMANTIS @@ -23922,6 +23922,7 @@ static const u16 sLurantisTeachableLearnset[] = { static const u16 sMorelullTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -23932,15 +23933,15 @@ static const u16 sMorelullTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sShiinoticTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLASH, MOVE_GIGA_DRAIN, @@ -23953,9 +23954,8 @@ static const u16 sShiinoticTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MORELULL @@ -23977,14 +23977,15 @@ static const u16 sSalanditTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sSalazzleTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_FACADE, @@ -24000,10 +24001,9 @@ static const u16 sSalazzleTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SALANDIT @@ -24014,49 +24014,49 @@ static const u16 sStuffulTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_BULK_UP, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_STRENGTH, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sBewearTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_STRENGTH, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_STUFFUL @@ -24104,6 +24104,7 @@ static const u16 sTsareenaTeachableLearnset[] = { MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, @@ -24112,7 +24113,6 @@ static const u16 sTsareenaTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_TOXIC, - MOVE_MEGA_KICK, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BOUNSWEET @@ -24142,18 +24142,23 @@ 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_FACADE, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_SAFEGUARD, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, @@ -24163,11 +24168,6 @@ static const u16 sOranguruTeachableLearnset[] = { MOVE_THUNDER, MOVE_THUNDERBOLT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DREAM_EATER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ORANGURU @@ -24176,19 +24176,26 @@ 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_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, 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_SNATCH, @@ -24196,13 +24203,6 @@ static const u16 sPassimianTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PASSIMIAN @@ -24238,16 +24238,16 @@ static const u16 sGolisopodTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SLUDGE_BOMB, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_WIMPOD @@ -24263,6 +24263,7 @@ static const u16 sSandygastTeachableLearnset[] = { MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SHADOW_BALL, @@ -24270,12 +24271,12 @@ static const u16 sSandygastTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sPalossandTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -24285,6 +24286,7 @@ static const u16 sPalossandTeachableLearnset[] = { MOVE_PSYCHIC, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SHADOW_BALL, @@ -24292,8 +24294,6 @@ static const u16 sPalossandTeachableLearnset[] = { MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SANDYGAST @@ -24301,6 +24301,7 @@ static const u16 sPalossandTeachableLearnset[] = { #if P_FAMILY_PYUKUMUKU static const u16 sPyukumukuTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_COUNTER, MOVE_DOUBLE_TEAM, MOVE_HAIL, MOVE_LIGHT_SCREEN, @@ -24311,7 +24312,6 @@ static const u16 sPyukumukuTeachableLearnset[] = { MOVE_SAFEGUARD, MOVE_TAUNT, MOVE_TOXIC, - MOVE_COUNTER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_PYUKUMUKU @@ -24319,6 +24319,7 @@ 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_FACADE, @@ -24328,20 +24329,21 @@ static const u16 sTypeNullTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_SANDSTORM, MOVE_SUNNY_DAY, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, 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_EXPLOSION, MOVE_FACADE, MOVE_FLAMETHROWER, MOVE_HAIL, @@ -24351,18 +24353,16 @@ static const u16 sSilvallyTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_SANDSTORM, MOVE_SHADOW_BALL, MOVE_STEEL_WING, MOVE_SUNNY_DAY, MOVE_SURF, - MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, + MOVE_THUNDERBOLT, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TYPE_NULL @@ -24371,8 +24371,10 @@ static const u16 sSilvallyTeachableLearnset[] = { static const u16 sMiniorTeachableLearnset[] = { MOVE_ATTRACT, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, @@ -24380,14 +24382,12 @@ static const u16 sMiniorTeachableLearnset[] = { MOVE_PSYCHIC, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, MOVE_SOLAR_BEAM, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MINIOR @@ -24395,23 +24395,23 @@ 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_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KOMALA @@ -24419,15 +24419,19 @@ 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_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, @@ -24438,10 +24442,6 @@ static const u16 sTurtonatorTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_EXPLOSION, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TURTONATOR @@ -24460,8 +24460,8 @@ static const u16 sTogedemaruTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TOGEDEMARU @@ -24471,6 +24471,7 @@ static const u16 sMimikyuTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULK_UP, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, @@ -24483,14 +24484,13 @@ static const u16 sMimikyuTeachableLearnset[] = { MOVE_SHADOW_BALL, MOVE_SNATCH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_DREAM_EATER, - MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MIMIKYU @@ -24503,6 +24503,7 @@ static const u16 sBruxishTeachableLearnset[] = { MOVE_BULK_UP, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, @@ -24516,13 +24517,12 @@ static const u16 sBruxishTeachableLearnset[] = { MOVE_SAFEGUARD, MOVE_SNATCH, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DREAM_EATER, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BRUXISH @@ -24546,6 +24546,7 @@ static const u16 sDrampaTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_SAFEGUARD, MOVE_SHADOW_BALL, MOVE_SHOCK_WAVE, @@ -24555,10 +24556,9 @@ static const u16 sDrampaTeachableLearnset[] = { MOVE_SURF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_ROCK_SLIDE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DRAMPA @@ -24576,14 +24576,14 @@ static const u16 sDhelmiseTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_SHADOW_BALL, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_THIEF, MOVE_TOXIC, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DHELMISE @@ -24592,8 +24592,10 @@ 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, @@ -24603,53 +24605,54 @@ static const u16 sJangmoOTeachableLearnset[] = { MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_ROCK_SLIDE, - 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_FACADE, MOVE_FOCUS_PUNCH, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - 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, @@ -24658,25 +24661,22 @@ static const u16 sKommoOTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, MOVE_SHOCK_WAVE, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_JANGMO_O @@ -24702,9 +24702,9 @@ static const u16 sTapuKokoTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TORMENT, MOVE_TOXIC, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TAPU_KOKO @@ -24745,21 +24745,21 @@ static const u16 sTapuBuluTeachableLearnset[] = { MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TORMENT, MOVE_TOXIC, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TAPU_BULU @@ -24800,7 +24800,9 @@ static const u16 sCosmoemTeachableLearnset[] = { }; static const u16 sSolgaleoTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -24814,6 +24816,7 @@ static const u16 sSolgaleoTeachableLearnset[] = { MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SHOCK_WAVE, @@ -24821,11 +24824,8 @@ static const u16 sSolgaleoTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -24834,6 +24834,7 @@ static const u16 sLunalaTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_DREAM_EATER, MOVE_FACADE, MOVE_FLY, MOVE_HYPER_BEAM, @@ -24852,15 +24853,15 @@ static const u16 sLunalaTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_DREAM_EATER, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_COSMOG #if P_FAMILY_NIHILEGO static const u16 sNihilegoTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_LIGHT_SCREEN, @@ -24868,37 +24869,36 @@ static const u16 sNihilegoTeachableLearnset[] = { MOVE_PSYCHIC, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, MOVE_SLUDGE_BOMB, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, 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_EARTHQUAKE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_TAUNT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BUZZWOLE @@ -24938,16 +24938,19 @@ static const u16 sXurkitreeTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, 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_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -24956,13 +24959,10 @@ static const u16 sCelesteelaTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_SHOCK_WAVE, MOVE_SOLAR_BEAM, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CELESTEELA @@ -24977,14 +24977,15 @@ static const u16 sKartanaTeachableLearnset[] = { MOVE_GIGA_DRAIN, MOVE_PROTECT, MOVE_REST, - MOVE_TOXIC, 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, @@ -24994,17 +24995,16 @@ static const u16 sGuzzlordTeachableLearnset[] = { MOVE_FLAMETHROWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SHOCK_WAVE, MOVE_SLUDGE_BOMB, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GUZZLORD @@ -25012,6 +25012,7 @@ 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, @@ -25023,26 +25024,27 @@ static const u16 sNecrozmaTeachableLearnset[] = { MOVE_PSYCHIC, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SHOCK_WAVE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_THIEF, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, 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_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, @@ -25057,8 +25059,6 @@ static const u16 sMagearnaTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, - MOVE_EXPLOSION, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -25069,21 +25069,21 @@ static const u16 sMarshadowTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_CALM_MIND, + MOVE_COUNTER, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SHADOW_BALL, MOVE_SNATCH, MOVE_THIEF, MOVE_TOXIC, - MOVE_COUNTER, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MARSHADOW @@ -25124,21 +25124,21 @@ static const u16 sNaganadelTeachableLearnset[] = { #if P_FAMILY_STAKATAKA static const u16 sStakatakaTeachableLearnset[] = { + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, MOVE_SKILL_SWAP, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_STAKATAKA @@ -25147,6 +25147,7 @@ static const u16 sStakatakaTeachableLearnset[] = { static const u16 sBlacephalonTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_DOUBLE_TEAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -25163,7 +25164,6 @@ static const u16 sBlacephalonTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_EXPLOSION, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BLACEPHALON @@ -25179,6 +25179,8 @@ static const u16 sZeraoraTeachableLearnset[] = { MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, MOVE_SHOCK_WAVE, @@ -25186,10 +25188,8 @@ static const u16 sZeraoraTeachableLearnset[] = { MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ZERAORA @@ -25200,29 +25200,29 @@ static const u16 sMeltanTeachableLearnset[] = { MOVE_PROTECT, MOVE_REST, MOVE_THUNDERBOLT, - MOVE_TOXIC, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; static const u16 sMelmetalTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SOLAR_BEAM, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MELTAN @@ -25230,65 +25230,65 @@ static const u16 sMelmetalTeachableLearnset[] = { #if P_FAMILY_GROOKEY static const u16 sGrookeyTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_FACADE, MOVE_GIGA_DRAIN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, - MOVE_BODY_SLAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sThwackeyTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BULLET_SEED, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_GIGA_DRAIN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - 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_FACADE, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, MOVE_SOLAR_BEAM, MOVE_STRENGTH, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GROOKEY @@ -25296,55 +25296,55 @@ static const u16 sRillaboomTeachableLearnset[] = { #if P_FAMILY_SCORBUNNY static const u16 sScorbunnyTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_MEGA_KICK, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, MOVE_SUNNY_DAY, MOVE_TAUNT, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, MOVE_UNAVAILABLE, }; static const u16 sRabootTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULK_UP, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, + MOVE_MEGA_KICK, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, MOVE_SWORDS_DANCE, + MOVE_TAUNT, MOVE_UNAVAILABLE, }; static const u16 sCinderaceTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULK_UP, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REST, MOVE_SHADOW_BALL, MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, MOVE_SWORDS_DANCE, + MOVE_TAUNT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SCORBUNNY @@ -25393,6 +25393,7 @@ static const u16 sInteleonTeachableLearnset[] = { MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, @@ -25400,11 +25401,10 @@ static const u16 sInteleonTeachableLearnset[] = { MOVE_SAFEGUARD, MOVE_SHADOW_BALL, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_METRONOME, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SOBBLE @@ -25412,23 +25412,26 @@ static const u16 sInteleonTeachableLearnset[] = { #if P_FAMILY_SKWOVET static const u16 sSkwovetTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BULLET_SEED, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, MOVE_THIEF, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sGreedentTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BULLET_SEED, + MOVE_COUNTER, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_HYPER_BEAM, @@ -25437,11 +25440,8 @@ static const u16 sGreedentTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_SUNNY_DAY, - MOVE_THIEF, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, + MOVE_THIEF, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SKWOVET @@ -25477,7 +25477,9 @@ static const u16 sCorvisquireTeachableLearnset[] = { static const u16 sCorviknightTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BULK_UP, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_FLY, MOVE_HYPER_BEAM, @@ -25491,8 +25493,6 @@ static const u16 sCorviknightTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ROOKIDEE @@ -25598,25 +25598,25 @@ static const u16 sEldegossTeachableLearnset[] = { #if P_FAMILY_WOOLOO static const u16 sWoolooTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_PROTECT, MOVE_REST, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; static const u16 sDubwoolTeachableLearnset[] = { MOVE_ATTRACT, - MOVE_FACADE, - MOVE_HYPER_BEAM, - MOVE_PROTECT, - MOVE_REST, MOVE_BODY_SLAM, MOVE_COUNTER, MOVE_DOUBLE_EDGE, + MOVE_FACADE, + MOVE_HYPER_BEAM, MOVE_MEGA_KICK, + MOVE_PROTECT, + MOVE_REST, MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, @@ -25626,6 +25626,8 @@ static const u16 sDubwoolTeachableLearnset[] = { #if P_FAMILY_CHEWTLE static const u16 sChewtleTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_DIVE, MOVE_FACADE, MOVE_PROTECT, @@ -25634,16 +25636,17 @@ static const u16 sChewtleTeachableLearnset[] = { MOVE_SURF, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, 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_FACADE, MOVE_HYPER_BEAM, @@ -25652,16 +25655,13 @@ static const u16 sDrednawTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CHEWTLE @@ -25670,13 +25670,13 @@ static const u16 sDrednawTeachableLearnset[] = { static const u16 sYamperTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -25685,6 +25685,7 @@ static const u16 sBoltundTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BULK_UP, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, @@ -25692,7 +25693,6 @@ static const u16 sBoltundTeachableLearnset[] = { MOVE_ROAR, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -25701,22 +25701,24 @@ static const u16 sBoltundTeachableLearnset[] = { #if P_FAMILY_ROLYCOLY static const u16 sRolycolyTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_BODY_SLAM, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sCarkolTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -25724,36 +25726,34 @@ static const u16 sCarkolTeachableLearnset[] = { MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SUNNY_DAY, - MOVE_BODY_SLAM, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sCoalossalTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DIG, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_OVERHEAT, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_BODY_SLAM, - MOVE_EXPLOSION, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ROLYCOLY @@ -25781,6 +25781,7 @@ static const u16 sFlappleTeachableLearnset[] = { static const u16 sAppletunTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -25794,12 +25795,12 @@ static const u16 sAppletunTeachableLearnset[] = { MOVE_SAFEGUARD, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_BODY_SLAM, MOVE_UNAVAILABLE, }; #if P_GEN_9_CROSS_EVOS static const u16 sDipplinTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_FACADE, MOVE_GIGA_DRAIN, @@ -25809,12 +25810,13 @@ static const u16 sDipplinTeachableLearnset[] = { MOVE_REST, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_BODY_SLAM, MOVE_UNAVAILABLE, }; static const u16 sHydrappleTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_BULLET_SEED, + MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_GIGA_DRAIN, @@ -25825,8 +25827,6 @@ static const u16 sHydrappleTeachableLearnset[] = { MOVE_REST, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_GEN_9_CROSS_EVOS @@ -25835,30 +25835,30 @@ static const u16 sHydrappleTeachableLearnset[] = { #if P_FAMILY_SILICOBRA static const u16 sSilicobraTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DIG, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sSandacondaTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_DIG, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SILICOBRA @@ -25889,6 +25889,7 @@ static const u16 sArrokudaTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_PROTECT, MOVE_RAIN_DANCE, @@ -25896,7 +25897,6 @@ static const u16 sArrokudaTeachableLearnset[] = { MOVE_SURF, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; @@ -25905,6 +25905,7 @@ static const u16 sBarraskewdaTeachableLearnset[] = { MOVE_BLIZZARD, MOVE_BRICK_BREAK, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, @@ -25914,7 +25915,6 @@ static const u16 sBarraskewdaTeachableLearnset[] = { MOVE_SURF, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ARROKUDA @@ -25933,6 +25933,9 @@ static const u16 sToxtricityAmpedTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_FACADE, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, @@ -25943,11 +25946,8 @@ static const u16 sToxtricityAmpedTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; @@ -25956,6 +25956,9 @@ static const u16 sToxtricityLowKeyTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_FACADE, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, @@ -25966,11 +25969,8 @@ static const u16 sToxtricityLowKeyTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TOXIC, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, MOVE_THUNDER_WAVE, + MOVE_TOXIC, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TOXEL @@ -26003,38 +26003,38 @@ 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_FACADE, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, MOVE_ROCK_SMASH, + MOVE_SEISMIC_TOSS, MOVE_TAUNT, MOVE_WATERFALL, - MOVE_BODY_SLAM, - MOVE_MEGA_PUNCH, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; static const u16 sGrapploctTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_DIG, MOVE_DIVE, MOVE_FACADE, MOVE_HYPER_BEAM, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, MOVE_ROCK_SMASH, + MOVE_SEISMIC_TOSS, MOVE_SURF, MOVE_TAUNT, MOVE_WATERFALL, - MOVE_BODY_SLAM, - MOVE_MEGA_PUNCH, - MOVE_SEISMIC_TOSS, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CLOBBOPUS @@ -26044,12 +26044,12 @@ static const u16 sSinisteaTeachableLearnset[] = { MOVE_CALM_MIND, MOVE_FACADE, MOVE_GIGA_DRAIN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_METRONOME, MOVE_UNAVAILABLE, }; @@ -26059,13 +26059,13 @@ static const u16 sPolteageistTeachableLearnset[] = { MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_REST, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_METRONOME, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SINISTEA @@ -26077,13 +26077,13 @@ static const u16 sHatennaTeachableLearnset[] = { MOVE_FACADE, MOVE_GIGA_DRAIN, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_REST, MOVE_SAFEGUARD, MOVE_SKILL_SWAP, - MOVE_METRONOME, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -26094,13 +26094,13 @@ static const u16 sHattremTeachableLearnset[] = { MOVE_FACADE, MOVE_GIGA_DRAIN, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_REST, MOVE_SAFEGUARD, MOVE_SKILL_SWAP, - MOVE_METRONOME, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -26112,6 +26112,7 @@ static const u16 sHattereneTeachableLearnset[] = { MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REFLECT, @@ -26119,7 +26120,6 @@ static const u16 sHattereneTeachableLearnset[] = { MOVE_SAFEGUARD, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_METRONOME, MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, @@ -26131,16 +26131,16 @@ static const u16 sImpidimpTeachableLearnset[] = { MOVE_ATTRACT, MOVE_FACADE, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, MOVE_TAUNT, MOVE_THIEF, - MOVE_TORMENT, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, MOVE_THUNDER_WAVE, + MOVE_TORMENT, MOVE_UNAVAILABLE, }; @@ -26148,38 +26148,38 @@ static const u16 sMorgremTeachableLearnset[] = { MOVE_ATTRACT, MOVE_FACADE, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, MOVE_TAUNT, MOVE_THIEF, - MOVE_TORMENT, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, MOVE_THUNDER_WAVE, + MOVE_TORMENT, MOVE_UNAVAILABLE, }; static const u16 sGrimmsnarlTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, + MOVE_METRONOME, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, MOVE_TAUNT, MOVE_THIEF, - MOVE_TORMENT, - MOVE_BODY_SLAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_METRONOME, MOVE_THUNDER_WAVE, + MOVE_TORMENT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_IMPIDIMP @@ -26200,31 +26200,31 @@ static const u16 sAlcremieTeachableLearnset[] = { MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, MOVE_SAFEGUARD, MOVE_SOLAR_BEAM, - MOVE_METRONOME, 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_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SUNNY_DAY, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -26233,6 +26233,7 @@ static const u16 sFalinksTeachableLearnset[] = { #if P_FAMILY_PINCURCHIN static const u16 sPincurchinTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, @@ -26241,7 +26242,6 @@ static const u16 sPincurchinTeachableLearnset[] = { MOVE_SURF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -26277,18 +26277,18 @@ static const u16 sFrosmothTeachableLearnset[] = { #if P_FAMILY_STONJOURNER static const u16 sStonjournerTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SAFEGUARD, MOVE_SANDSTORM, MOVE_SUNNY_DAY, - MOVE_BODY_SLAM, - MOVE_MEGA_KICK, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_STONJOURNER @@ -26297,7 +26297,9 @@ static const u16 sStonjournerTeachableLearnset[] = { static const u16 sEiscueTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_HAIL, MOVE_HYPER_BEAM, @@ -26309,8 +26311,6 @@ static const u16 sEiscueTeachableLearnset[] = { MOVE_SURF, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_EISCUE @@ -26318,23 +26318,25 @@ static const u16 sEiscueTeachableLearnset[] = { #if P_FAMILY_INDEEDEE static const u16 sIndeedeeMTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_FACADE, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_BODY_SLAM, - MOVE_METRONOME, MOVE_UNAVAILABLE, }; static const u16 sIndeedeeFTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_FACADE, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REFLECT, @@ -26342,8 +26344,6 @@ static const u16 sIndeedeeFTeachableLearnset[] = { MOVE_SAFEGUARD, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, - MOVE_BODY_SLAM, - MOVE_METRONOME, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_INDEEDEE @@ -26353,6 +26353,7 @@ static const u16 sMorpekoTeachableLearnset[] = { MOVE_ATTRACT, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_PROTECT, MOVE_REST, @@ -26360,9 +26361,8 @@ static const u16 sMorpekoTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_TORMENT, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, + MOVE_TORMENT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MORPEKO @@ -26370,41 +26370,41 @@ static const u16 sMorpekoTeachableLearnset[] = { #if P_FAMILY_CUFANT static const u16 sCufantTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FACADE, + MOVE_MEGA_KICK, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_STRENGTH, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sCopperajahTeachableLearnset[] = { MOVE_ATTRACT, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_STRENGTH, MOVE_TAUNT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CUFANT @@ -26412,6 +26412,7 @@ static const u16 sCopperajahTeachableLearnset[] = { #if P_FAMILY_DRACOZOLT static const u16 sDracozoltTeachableLearnset[] = { MOVE_AERIAL_ACE, + MOVE_BODY_SLAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -26419,18 +26420,17 @@ static const u16 sDracozoltTeachableLearnset[] = { MOVE_FLAMETHROWER, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -26439,23 +26439,23 @@ static const u16 sDracozoltTeachableLearnset[] = { #if P_FAMILY_ARCTOZOLT static const u16 sArctozoltTeachableLearnset[] = { MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_FACADE, MOVE_HAIL, 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_ROCK_TOMB, MOVE_SURF, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -26463,19 +26463,19 @@ static const u16 sArctozoltTeachableLearnset[] = { #if P_FAMILY_DRACOVISH static const u16 sDracovishTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_DIVE, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SURF, MOVE_WATERFALL, - MOVE_BODY_SLAM, - MOVE_MEGA_KICK, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DRACOVISH @@ -26483,6 +26483,7 @@ static const u16 sDracovishTeachableLearnset[] = { #if P_FAMILY_ARCTOVISH static const u16 sArctovishTeachableLearnset[] = { MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIVE, MOVE_FACADE, MOVE_HAIL, @@ -26491,11 +26492,10 @@ static const u16 sArctovishTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SURF, MOVE_WATERFALL, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ARCTOVISH @@ -26503,7 +26503,9 @@ 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_FACADE, MOVE_HYPER_BEAM, @@ -26512,22 +26514,22 @@ static const u16 sDuraludonTeachableLearnset[] = { MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SOLAR_BEAM, + MOVE_SWORDS_DANCE, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - 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_FACADE, @@ -26537,15 +26539,13 @@ static const u16 sArchaludonTeachableLearnset[] = { MOVE_REFLECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SOLAR_BEAM, + MOVE_SWORDS_DANCE, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -26566,6 +26566,7 @@ static const u16 sDreepyTeachableLearnset[] = { static const u16 sDrakloakTeachableLearnset[] = { MOVE_ATTRACT, MOVE_DIVE, + MOVE_DOUBLE_EDGE, MOVE_DOUBLE_TEAM, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -26581,14 +26582,15 @@ static const u16 sDrakloakTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_DOUBLE_EDGE, 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_FACADE, @@ -26608,8 +26610,6 @@ static const u16 sDragapultTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -26617,6 +26617,7 @@ static const u16 sDragapultTeachableLearnset[] = { #if P_FAMILY_ZACIAN static const u16 sZacianTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, MOVE_FACADE, @@ -26624,7 +26625,6 @@ static const u16 sZacianTeachableLearnset[] = { MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, - MOVE_BODY_SLAM, MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -26632,6 +26632,7 @@ static const u16 sZacianTeachableLearnset[] = { #if P_FAMILY_ZAMAZENTA static const u16 sZamazentaTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, MOVE_FACADE, @@ -26647,13 +26648,13 @@ static const u16 sZamazentaTeachableLearnset[] = { MOVE_SANDSTORM, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_BODY_SLAM, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ZAMAZENTA #if P_FAMILY_ETERNATUS static const u16 sEternatusTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -26669,7 +26670,6 @@ static const u16 sEternatusTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_BODY_SLAM, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ETERNATUS @@ -26678,19 +26678,19 @@ 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_DOUBLE_EDGE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, MOVE_ROCK_SMASH, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -26698,50 +26698,50 @@ 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_DOUBLE_EDGE, MOVE_FACADE, MOVE_FOCUS_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, - MOVE_TAUNT, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, + MOVE_TAUNT, MOVE_UNAVAILABLE, }; 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_FACADE, MOVE_FOCUS_PUNCH, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_WATERFALL, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KUBFU @@ -26749,35 +26749,37 @@ 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_FACADE, MOVE_FOCUS_PUNCH, MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, + MOVE_MEGA_KICK, + MOVE_MEGA_PUNCH, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_MEGA_KICK, - MOVE_MEGA_PUNCH, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ZARUDE #if P_FAMILY_REGIELEKI static const u16 sRegielekiTeachableLearnset[] = { + MOVE_BODY_SLAM, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, @@ -26788,8 +26790,6 @@ static const u16 sRegielekiTeachableLearnset[] = { MOVE_SHOCK_WAVE, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, - MOVE_EXPLOSION, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -26797,16 +26797,16 @@ static const u16 sRegielekiTeachableLearnset[] = { #if P_FAMILY_REGIDRAGO static const u16 sRegidragoTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_DRAGON_CLAW, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, - MOVE_BODY_SLAM, - MOVE_EXPLOSION, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_REGIDRAGO @@ -26814,6 +26814,8 @@ static const u16 sRegidragoTeachableLearnset[] = { #if P_FAMILY_GLASTRIER static const u16 sGlastrierTeachableLearnset[] = { MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_HAIL, MOVE_HYPER_BEAM, @@ -26821,18 +26823,18 @@ static const u16 sGlastrierTeachableLearnset[] = { MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TORMENT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GLASTRIER #if P_FAMILY_SPECTRIER static const u16 sSpectrierTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, @@ -26840,8 +26842,6 @@ static const u16 sSpectrierTeachableLearnset[] = { MOVE_REST, MOVE_SHADOW_BALL, MOVE_TAUNT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SPECTRIER @@ -26854,6 +26854,7 @@ static const u16 sCalyrexTeachableLearnset[] = { MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REFLECT, @@ -26862,21 +26863,23 @@ static const u16 sCalyrexTeachableLearnset[] = { MOVE_SKILL_SWAP, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_METRONOME, MOVE_UNAVAILABLE, }; #if P_FUSION_FORMS static const u16 sCalyrexIceTeachableLearnset[] = { MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_GIGA_DRAIN, MOVE_HAIL, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REFLECT, @@ -26886,22 +26889,22 @@ static const u16 sCalyrexIceTeachableLearnset[] = { MOVE_SKILL_SWAP, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_TORMENT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_METRONOME, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sCalyrexShadowTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REFLECT, @@ -26912,9 +26915,6 @@ static const u16 sCalyrexShadowTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TAUNT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_METRONOME, MOVE_UNAVAILABLE, }; #endif //P_FUSION_FORMS @@ -26922,6 +26922,7 @@ static const u16 sCalyrexShadowTeachableLearnset[] = { #if P_FAMILY_ENAMORUS static const u16 sEnamorusTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_FACADE, MOVE_FLY, @@ -26935,7 +26936,6 @@ static const u16 sEnamorusTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_TORMENT, - MOVE_BODY_SLAM, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ENAMORUS @@ -26985,6 +26985,7 @@ static const u16 sMeowscaradaTeachableLearnset[] = { #if P_FAMILY_FUECOCO static const u16 sFuecocoTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_DIG, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -26994,11 +26995,11 @@ static const u16 sFuecocoTeachableLearnset[] = { MOVE_REST, MOVE_ROAR, MOVE_SUNNY_DAY, - MOVE_BODY_SLAM, MOVE_UNAVAILABLE, }; static const u16 sCrocalorTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_DIG, MOVE_FACADE, MOVE_FIRE_BLAST, @@ -27008,11 +27009,11 @@ static const u16 sCrocalorTeachableLearnset[] = { MOVE_REST, MOVE_ROAR, MOVE_SUNNY_DAY, - MOVE_BODY_SLAM, MOVE_UNAVAILABLE, }; static const u16 sSkeledirgeTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_DIG, MOVE_EARTHQUAKE, MOVE_FACADE, @@ -27026,7 +27027,6 @@ static const u16 sSkeledirgeTeachableLearnset[] = { MOVE_SHADOW_BALL, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_BODY_SLAM, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FUECOCO @@ -27057,39 +27057,41 @@ static const u16 sQuaquavalTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, MOVE_BULK_UP, + MOVE_COUNTER, MOVE_FACADE, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_SURF, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_WATER_PULSE, - MOVE_COUNTER, - MOVE_MEGA_KICK, - 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_FACADE, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_SUNNY_DAY, MOVE_THIEF, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sOinkologneTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, @@ -27097,15 +27099,15 @@ static const u16 sOinkologneTeachableLearnset[] = { MOVE_REST, MOVE_SUNNY_DAY, MOVE_THIEF, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_LECHONK #if P_FAMILY_TAROUNTULA static const u16 sTarountulaTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_BULLET_SEED, + MOVE_COUNTER, MOVE_FACADE, MOVE_GIGA_DRAIN, MOVE_PROTECT, @@ -27113,15 +27115,15 @@ static const u16 sTarountulaTeachableLearnset[] = { MOVE_REST, MOVE_SUNNY_DAY, MOVE_THIEF, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_UNAVAILABLE, }; static const u16 sSpidopsTeachableLearnset[] = { MOVE_AERIAL_ACE, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_BULLET_SEED, + MOVE_COUNTER, MOVE_FACADE, MOVE_GIGA_DRAIN, MOVE_PROTECT, @@ -27131,37 +27133,35 @@ static const u16 sSpidopsTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TAROUNTULA #if P_FAMILY_NYMBLE static const u16 sNymbleTeachableLearnset[] = { + MOVE_COUNTER, MOVE_FACADE, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_SUNNY_DAY, MOVE_THIEF, - MOVE_COUNTER, MOVE_UNAVAILABLE, }; static const u16 sLokixTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, + MOVE_COUNTER, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_NYMBLE @@ -27200,9 +27200,11 @@ static const u16 sPawmotTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_BULK_UP, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, @@ -27211,8 +27213,6 @@ static const u16 sPawmotTeachableLearnset[] = { MOVE_THIEF, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_DOUBLE_EDGE, - MOVE_METRONOME, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -27223,6 +27223,7 @@ static const u16 sTandemausTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BULLET_SEED, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_PROTECT, MOVE_RAIN_DANCE, @@ -27230,9 +27231,8 @@ static const u16 sTandemausTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, - MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, + MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; @@ -27240,6 +27240,7 @@ static const u16 sMausholdTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BULLET_SEED, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, @@ -27248,29 +27249,30 @@ static const u16 sMausholdTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, - MOVE_WATER_PULSE, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, + MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TANDEMAUS #if P_FAMILY_FIDOUGH static const u16 sFidoughTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, MOVE_SUNNY_DAY, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sDachsbunTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, @@ -27278,8 +27280,6 @@ static const u16 sDachsbunTeachableLearnset[] = { MOVE_REST, MOVE_ROAR, MOVE_SUNNY_DAY, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FIDOUGH @@ -27313,13 +27313,13 @@ static const u16 sArbolivaTeachableLearnset[] = { MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, MOVE_SAFEGUARD, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_METRONOME, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SMOLIV @@ -27327,6 +27327,7 @@ static const u16 sArbolivaTeachableLearnset[] = { #if P_FAMILY_SQUAWKABILLY static const u16 sSquawkabillyTeachableLearnset[] = { MOVE_AERIAL_ACE, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_FLY, MOVE_HYPER_BEAM, @@ -27336,59 +27337,58 @@ static const u16 sSquawkabillyTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SQUAWKABILLY #if P_FAMILY_NACLI static const u16 sNacliTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_DIG, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_SANDSTORM, MOVE_SUNNY_DAY, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sNaclstackTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_SANDSTORM, MOVE_SUNNY_DAY, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sGarganaclTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, + MOVE_EXPLOSION, MOVE_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SUNNY_DAY, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_NACLI @@ -27437,8 +27437,8 @@ static const u16 sCeruledgeTeachableLearnset[] = { MOVE_REST, MOVE_SHADOW_BALL, MOVE_SUNNY_DAY, - MOVE_TAUNT, MOVE_SWORDS_DANCE, + MOVE_TAUNT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CHARCADET @@ -27452,8 +27452,8 @@ static const u16 sTadbulbTeachableLearnset[] = { MOVE_REST, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_WATER_PULSE, MOVE_THUNDER_WAVE, + MOVE_WATER_PULSE, MOVE_UNAVAILABLE, }; @@ -27466,9 +27466,9 @@ static const u16 sBelliboltTeachableLearnset[] = { MOVE_REST, MOVE_THUNDER, MOVE_THUNDERBOLT, + MOVE_THUNDER_WAVE, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TADBULB @@ -27502,7 +27502,9 @@ static const u16 sKilowattrelTeachableLearnset[] = { #if P_FAMILY_MASCHIFF static const u16 sMaschiffTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_PROTECT, MOVE_RAIN_DANCE, @@ -27511,13 +27513,13 @@ static const u16 sMaschiffTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sMabosstiffTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, @@ -27527,8 +27529,6 @@ static const u16 sMabosstiffTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MASCHIFF @@ -27536,35 +27536,35 @@ static const u16 sMabosstiffTeachableLearnset[] = { #if P_FAMILY_SHROODLE static const u16 sShroodleTeachableLearnset[] = { MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_FACADE, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_METRONOME, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; static const u16 sGrafaiaiTeachableLearnset[] = { MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_FACADE, + MOVE_METRONOME, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_DOUBLE_EDGE, - MOVE_METRONOME, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SHROODLE @@ -27631,6 +27631,7 @@ static const u16 sToedscruelTeachableLearnset[] = { #if P_FAMILY_KLAWF static const u16 sKlawfTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, MOVE_FACADE, @@ -27638,14 +27639,13 @@ static const u16 sKlawfTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SUNNY_DAY, - MOVE_THIEF, - MOVE_BODY_SLAM, - MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, + MOVE_THIEF, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KLAWF @@ -27736,7 +27736,9 @@ static const u16 sFlittleTeachableLearnset[] = { static const u16 sEspathraTeachableLearnset[] = { MOVE_AERIAL_ACE, + MOVE_BODY_SLAM, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, @@ -27750,8 +27752,6 @@ static const u16 sEspathraTeachableLearnset[] = { MOVE_SKILL_SWAP, MOVE_SUNNY_DAY, MOVE_THIEF, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FLITTLE @@ -27760,16 +27760,16 @@ static const u16 sEspathraTeachableLearnset[] = { static const u16 sTinkatinkTeachableLearnset[] = { MOVE_FACADE, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SKILL_SWAP, - MOVE_THIEF, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, + MOVE_THIEF, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -27778,16 +27778,16 @@ static const u16 sTinkatuffTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_FACADE, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SKILL_SWAP, - MOVE_THIEF, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, + MOVE_THIEF, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -27796,16 +27796,16 @@ static const u16 sTinkatonTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_FACADE, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_SMASH, MOVE_ROCK_TOMB, MOVE_SKILL_SWAP, - MOVE_THIEF, - MOVE_METRONOME, - MOVE_ROCK_SLIDE, MOVE_SWORDS_DANCE, + MOVE_THIEF, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -27851,13 +27851,13 @@ static const u16 sBombirdierTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, MOVE_TORMENT, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BOMBIRDIER @@ -27865,6 +27865,8 @@ static const u16 sBombirdierTeachableLearnset[] = { #if P_FAMILY_FINIZEN static const u16 sFinizenTeachableLearnset[] = { MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_COUNTER, MOVE_DIVE, MOVE_FACADE, MOVE_ICE_BEAM, @@ -27874,14 +27876,14 @@ static const u16 sFinizenTeachableLearnset[] = { MOVE_SURF, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_UNAVAILABLE, }; static const u16 sPalafinTeachableLearnset[] = { MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BULK_UP, + MOVE_COUNTER, MOVE_DIVE, MOVE_FACADE, MOVE_FOCUS_PUNCH, @@ -27894,14 +27896,14 @@ static const u16 sPalafinTeachableLearnset[] = { MOVE_TAUNT, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_COUNTER, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FINIZEN #if P_FAMILY_VAROOM static const u16 sVaroomTeachableLearnset[] = { + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_PROTECT, MOVE_RAIN_DANCE, @@ -27913,12 +27915,12 @@ static const u16 sVaroomTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sRevavroomTeachableLearnset[] = { + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_OVERHEAT, @@ -27932,8 +27934,6 @@ static const u16 sRevavroomTeachableLearnset[] = { MOVE_THIEF, MOVE_TORMENT, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_VAROOM @@ -27941,6 +27941,8 @@ 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_FACADE, MOVE_HYPER_BEAM, @@ -27953,49 +27955,48 @@ static const u16 sCyclizarTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, 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_FACADE, MOVE_HYPER_BEAM, MOVE_IRON_TAIL, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ORTHWORM #if P_FAMILY_GLIMMET static const u16 sGlimmetTeachableLearnset[] = { + MOVE_EXPLOSION, MOVE_FACADE, MOVE_LIGHT_SCREEN, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SLUDGE_BOMB, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; static const u16 sGlimmoraTeachableLearnset[] = { + MOVE_EXPLOSION, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, @@ -28003,14 +28004,13 @@ static const u16 sGlimmoraTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REFLECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SLUDGE_BOMB, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TOXIC, - MOVE_EXPLOSION, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GLIMMET @@ -28018,6 +28018,7 @@ static const u16 sGlimmoraTeachableLearnset[] = { #if P_FAMILY_GREAVARD static const u16 sGreavardTeachableLearnset[] = { MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_PROTECT, MOVE_RAIN_DANCE, @@ -28027,12 +28028,12 @@ static const u16 sGreavardTeachableLearnset[] = { MOVE_SHADOW_BALL, MOVE_SUNNY_DAY, MOVE_THIEF, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sHoundstoneTeachableLearnset[] = { MOVE_DIG, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, @@ -28043,7 +28044,6 @@ static const u16 sHoundstoneTeachableLearnset[] = { MOVE_SHADOW_BALL, MOVE_SUNNY_DAY, MOVE_THIEF, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GREAVARD @@ -28056,13 +28056,13 @@ static const u16 sFlamigoTeachableLearnset[] = { MOVE_FACADE, MOVE_FLY, MOVE_HYPER_BEAM, + MOVE_MEGA_KICK, MOVE_PROTECT, MOVE_REST, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_WATER_PULSE, - MOVE_MEGA_KICK, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FLAMIGO @@ -28070,6 +28070,8 @@ static const u16 sFlamigoTeachableLearnset[] = { #if P_FAMILY_CETODDLE static const u16 sCetoddleTeachableLearnset[] = { MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_HYPER_BEAM, @@ -28078,13 +28080,13 @@ static const u16 sCetoddleTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; static const u16 sCetitanTeachableLearnset[] = { MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_HYPER_BEAM, @@ -28093,8 +28095,6 @@ static const u16 sCetitanTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_CETODDLE @@ -28102,6 +28102,8 @@ static const u16 sCetitanTeachableLearnset[] = { #if P_FAMILY_VELUZA static const u16 sVeluzaTeachableLearnset[] = { MOVE_BLIZZARD, + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_PROTECT, @@ -28111,33 +28113,32 @@ static const u16 sVeluzaTeachableLearnset[] = { MOVE_SURF, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, 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_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_SURF, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_DONDOZO #if P_FAMILY_TATSUGIRI static const u16 sTatsugiriTeachableLearnset[] = { + MOVE_COUNTER, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, @@ -28146,29 +28147,28 @@ static const u16 sTatsugiriTeachableLearnset[] = { MOVE_SURF, MOVE_TAUNT, MOVE_WATER_PULSE, - MOVE_COUNTER, 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_DIG, + MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SUNNY_DAY, MOVE_TAUNT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_GREAT_TUSK @@ -28176,15 +28176,18 @@ 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_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_RAIN_DANCE, @@ -28196,18 +28199,17 @@ static const u16 sScreamTailTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_METRONOME, 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_FACADE, MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, @@ -28217,8 +28219,6 @@ static const u16 sBruteBonnetTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_TAUNT, MOVE_THIEF, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_BRUTE_BONNET @@ -28242,8 +28242,10 @@ 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_FACADE, MOVE_GIGA_DRAIN, @@ -28253,14 +28255,13 @@ static const u16 sSlitherWingTeachableLearnset[] = { MOVE_REST, MOVE_SANDSTORM, MOVE_SUNNY_DAY, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_SLITHER_WING #if P_FAMILY_SANDY_SHOCKS static const u16 sSandyShocksTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_HYPER_BEAM, @@ -28272,7 +28273,6 @@ static const u16 sSandyShocksTeachableLearnset[] = { MOVE_SUNNY_DAY, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -28280,17 +28280,17 @@ static const u16 sSandyShocksTeachableLearnset[] = { #if P_FAMILY_IRON_TREADS static const u16 sIronTreadsTeachableLearnset[] = { + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_THUNDER, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_IRON_TREADS @@ -28298,6 +28298,7 @@ static const u16 sIronTreadsTeachableLearnset[] = { #if P_FAMILY_IRON_BUNDLE static const u16 sIronBundleTeachableLearnset[] = { MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_ICE_BEAM, @@ -28307,35 +28308,36 @@ static const u16 sIronBundleTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, 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_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, + MOVE_METRONOME, MOVE_PROTECT, MOVE_REST, - MOVE_ROCK_TOMB, - MOVE_THUNDER, - MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_METRONOME, MOVE_ROCK_SLIDE, + MOVE_ROCK_TOMB, MOVE_SEISMIC_TOSS, MOVE_SWORDS_DANCE, + MOVE_THUNDER, + MOVE_THUNDERBOLT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_IRON_HANDS #if P_FAMILY_IRON_JUGULIS static const u16 sIronJugulisTeachableLearnset[] = { + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_FIRE_BLAST, MOVE_FLAMETHROWER, @@ -28348,8 +28350,6 @@ static const u16 sIronJugulisTeachableLearnset[] = { MOVE_ROCK_TOMB, MOVE_SUNNY_DAY, MOVE_TAUNT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_IRON_JUGULIS @@ -28375,8 +28375,10 @@ 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_FACADE, @@ -28387,16 +28389,14 @@ static const u16 sIronThornsTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SUNNY_DAY, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, - MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -28405,6 +28405,7 @@ static const u16 sIronThornsTeachableLearnset[] = { #if P_FAMILY_FRIGIBAX static const u16 sFrigibaxTeachableLearnset[] = { MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_DIG, MOVE_DRAGON_CLAW, MOVE_FACADE, @@ -28412,7 +28413,6 @@ static const u16 sFrigibaxTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_BODY_SLAM, MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -28420,6 +28420,7 @@ static const u16 sFrigibaxTeachableLearnset[] = { static const u16 sArctibaxTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BLIZZARD, + MOVE_BODY_SLAM, MOVE_BRICK_BREAK, MOVE_DIG, MOVE_DRAGON_CLAW, @@ -28428,7 +28429,6 @@ static const u16 sArctibaxTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_BODY_SLAM, MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -28436,8 +28436,10 @@ 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_FACADE, @@ -28446,8 +28448,6 @@ static const u16 sBaxcaliburTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -28484,6 +28484,7 @@ static const u16 sGholdengoTeachableLearnset[] = { #if P_FAMILY_WO_CHIEN static const u16 sWoChienTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_BULLET_SEED, MOVE_FACADE, MOVE_GIGA_DRAIN, @@ -28496,7 +28497,6 @@ static const u16 sWoChienTeachableLearnset[] = { MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_TAUNT, - MOVE_BODY_SLAM, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_WO_CHIEN @@ -28511,27 +28511,27 @@ static const u16 sChienPaoTeachableLearnset[] = { MOVE_PROTECT, MOVE_RAIN_DANCE, MOVE_REST, - MOVE_TAUNT, MOVE_SWORDS_DANCE, + MOVE_TAUNT, 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_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, + MOVE_ROCK_SLIDE, MOVE_ROCK_TOMB, MOVE_SANDSTORM, MOVE_SUNNY_DAY, MOVE_TAUNT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TING_LU @@ -28557,8 +28557,10 @@ 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_FACADE, @@ -28569,11 +28571,9 @@ static const u16 sRoaringMoonTeachableLearnset[] = { MOVE_PROTECT, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_SUNNY_DAY, MOVE_TAUNT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_ROARING_MOON @@ -28586,16 +28586,16 @@ static const u16 sIronValiantTeachableLearnset[] = { MOVE_DOUBLE_TEAM, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REFLECT, MOVE_REST, MOVE_SHADOW_BALL, MOVE_SKILL_SWAP, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THUNDERBOLT, - MOVE_METRONOME, - MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -28603,9 +28603,12 @@ 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_FACADE, MOVE_FIRE_BLAST, @@ -28619,17 +28622,15 @@ static const u16 sKoraidonTeachableLearnset[] = { MOVE_ROCK_SMASH, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, + MOVE_TAUNT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_KORAIDON #if P_FAMILY_MIRAIDON static const u16 sMiraidonTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_CALM_MIND, MOVE_DRAGON_CLAW, MOVE_FACADE, @@ -28641,11 +28642,10 @@ static const u16 sMiraidonTeachableLearnset[] = { MOVE_REST, MOVE_SHOCK_WAVE, MOVE_SOLAR_BEAM, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, - MOVE_SWORDS_DANCE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -28653,6 +28653,8 @@ static const u16 sMiraidonTeachableLearnset[] = { #if P_FAMILY_WALKING_WAKE static const u16 sWalkingWakeTeachableLearnset[] = { + MOVE_BODY_SLAM, + MOVE_DOUBLE_EDGE, MOVE_DRAGON_CLAW, MOVE_FACADE, MOVE_FLAMETHROWER, @@ -28665,8 +28667,6 @@ static const u16 sWalkingWakeTeachableLearnset[] = { MOVE_SURF, MOVE_WATERFALL, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_WALKING_WAKE @@ -28676,15 +28676,15 @@ static const u16 sIronLeavesTeachableLearnset[] = { MOVE_AERIAL_ACE, MOVE_BRICK_BREAK, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_FACADE, MOVE_GIGA_DRAIN, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_REST, MOVE_SOLAR_BEAM, - MOVE_TAUNT, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, + MOVE_TAUNT, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_IRON_LEAVES @@ -28716,9 +28716,12 @@ static const u16 sSinistchaTeachableLearnset[] = { #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_FACADE, MOVE_FOCUS_PUNCH, MOVE_HYPER_BEAM, @@ -28730,9 +28733,6 @@ static const u16 sOkidogiTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_OKIDOGI @@ -28743,6 +28743,7 @@ static const u16 sMunkidoriTeachableLearnset[] = { MOVE_FACADE, MOVE_HYPER_BEAM, MOVE_LIGHT_SCREEN, + MOVE_METRONOME, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, @@ -28751,7 +28752,6 @@ static const u16 sMunkidoriTeachableLearnset[] = { MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_METRONOME, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_MUNKIDORI @@ -28769,10 +28769,10 @@ static const u16 sFezandipitiTeachableLearnset[] = { MOVE_REST, MOVE_SHADOW_BALL, MOVE_SLUDGE_BOMB, + MOVE_SWORDS_DANCE, MOVE_TAUNT, MOVE_THIEF, MOVE_TOXIC, - MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_FEZANDIPITI @@ -28781,6 +28781,7 @@ static const u16 sFezandipitiTeachableLearnset[] = { static const u16 sOgerponTeachableLearnset[] = { MOVE_BRICK_BREAK, MOVE_BULLET_SEED, + MOVE_COUNTER, MOVE_FACADE, MOVE_GIGA_DRAIN, MOVE_PROTECT, @@ -28790,15 +28791,16 @@ static const u16 sOgerponTeachableLearnset[] = { MOVE_SANDSTORM, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, - MOVE_TAUNT, - MOVE_COUNTER, MOVE_SWORDS_DANCE, + MOVE_TAUNT, 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_FACADE, @@ -28810,15 +28812,15 @@ static const u16 sGougingFireTeachableLearnset[] = { MOVE_REST, MOVE_ROAR, MOVE_SUNNY_DAY, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, 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_FACADE, MOVE_HYPER_BEAM, @@ -28831,8 +28833,6 @@ static const u16 sRagingBoltTeachableLearnset[] = { MOVE_TAUNT, MOVE_THUNDER, MOVE_THUNDERBOLT, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_THUNDER_WAVE, MOVE_UNAVAILABLE, }; @@ -28841,7 +28841,10 @@ 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_FACADE, MOVE_HYPER_BEAM, @@ -28850,26 +28853,23 @@ static const u16 sIronBoulderTeachableLearnset[] = { MOVE_REST, MOVE_ROCK_TOMB, MOVE_SANDSTORM, - MOVE_TAUNT, - MOVE_BODY_SLAM, - MOVE_COUNTER, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, + MOVE_TAUNT, 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_FACADE, MOVE_HYPER_BEAM, MOVE_PROTECT, MOVE_PSYCHIC, MOVE_REST, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, MOVE_SWORDS_DANCE, MOVE_UNAVAILABLE, }; @@ -28877,7 +28877,9 @@ static const u16 sIronCrownTeachableLearnset[] = { #if P_FAMILY_TERAPAGOS static const u16 sTerapagosTeachableLearnset[] = { + MOVE_BODY_SLAM, MOVE_CALM_MIND, + MOVE_DOUBLE_EDGE, MOVE_EARTHQUAKE, MOVE_FACADE, MOVE_FLAMETHROWER, @@ -28887,6 +28889,7 @@ static const u16 sTerapagosTeachableLearnset[] = { MOVE_RAIN_DANCE, MOVE_REST, MOVE_ROAR, + MOVE_ROCK_SLIDE, MOVE_SOLAR_BEAM, MOVE_SUNNY_DAY, MOVE_SURF, @@ -28894,9 +28897,6 @@ static const u16 sTerapagosTeachableLearnset[] = { MOVE_THUNDERBOLT, MOVE_TOXIC, MOVE_WATER_PULSE, - MOVE_BODY_SLAM, - MOVE_DOUBLE_EDGE, - MOVE_ROCK_SLIDE, MOVE_UNAVAILABLE, }; #endif //P_FAMILY_TERAPAGOS diff --git a/src/data/wild_encounters.json.txt b/src/data/wild_encounters.json.txt index af63f185e..97c4e2b46 100644 --- a/src/data/wild_encounters.json.txt +++ b/src/data/wild_encounters.json.txt @@ -97,11 +97,11 @@ const struct WildPokemonHeader {{ wild_encounter_group.label }}[] = { .mapGroup = {% if wild_encounter_group.for_maps %}MAP_GROUP({{ removePrefix(encounter.map, "MAP_") }}){% else %}0{% endif %}, .mapNum = {% if wild_encounter_group.for_maps %}MAP_NUM({{ removePrefix(encounter.map, "MAP_") }}){% else %}{{ loop.index1 }}{% endif %}, - .landMonsInfo = {% if existsIn(encounter, "land_mons") %}&{{ encounter.base_label }}_LandMonsInfo{% else %}NULL{% endif %}, - .waterMonsInfo = {% if existsIn(encounter, "water_mons") %}&{{ encounter.base_label }}_WaterMonsInfo{% else %}NULL{% endif %}, - .rockSmashMonsInfo = {% if existsIn(encounter, "rock_smash_mons") %}&{{ encounter.base_label }}_RockSmashMonsInfo{% else %}NULL{% endif %}, - .fishingMonsInfo = {% if existsIn(encounter, "fishing_mons") %}&{{ encounter.base_label }}_FishingMonsInfo{% else %}NULL{% endif %}, - .hiddenMonsInfo = {% if existsIn(encounter, "hidden_mons") %}&{{ encounter.base_label }}_HiddenMonsInfo{% else %}NULL{% endif %}, + .encounterTypes[timeOfDay].landMonsInfo = {% if existsIn(encounter, "land_mons") %}&{{ encounter.base_label }}_LandMonsInfo{% else %}NULL{% endif %}, + .encounterTypes[timeOfDay].waterMonsInfo = {% if existsIn(encounter, "water_mons") %}&{{ encounter.base_label }}_WaterMonsInfo{% else %}NULL{% endif %}, + .encounterTypes[timeOfDay].rockSmashMonsInfo = {% if existsIn(encounter, "rock_smash_mons") %}&{{ encounter.base_label }}_RockSmashMonsInfo{% else %}NULL{% endif %}, + .encounterTypes[timeOfDay].fishingMonsInfo = {% if existsIn(encounter, "fishing_mons") %}&{{ encounter.base_label }}_FishingMonsInfo{% else %}NULL{% endif %}, + .encounterTypes[timeOfDay].hiddenMonsInfo = {% if existsIn(encounter, "hidden_mons") %}&{{ encounter.base_label }}_HiddenMonsInfo{% else %}NULL{% endif %}, }, {% if contains(encounter.base_label, "FireRed") or contains(encounter.base_label, "LeafGreen") %} #endif @@ -110,11 +110,11 @@ const struct WildPokemonHeader {{ wild_encounter_group.label }}[] = { .mapGroup = MAP_GROUP(UNDEFINED), .mapNum = MAP_NUM(UNDEFINED), - .landMonsInfo = NULL, - .waterMonsInfo = NULL, - .rockSmashMonsInfo = NULL, - .fishingMonsInfo = NULL, - .hiddenMonsInfo = NULL, + .encounterTypes[timeOfDay].landMonsInfo = NULL, + .encounterTypes[timeOfDay].waterMonsInfo = NULL, + .encounterTypes[timeOfDay].rockSmashMonsInfo = NULL, + .encounterTypes[timeOfDay].fishingMonsInfo = NULL, + .encounterTypes[timeOfDay].hiddenMonsInfo = NULL, }, }; ## endfor diff --git a/src/dexnav.c b/src/dexnav.c index 9ee173790..5799529be 100644 --- a/src/dexnav.c +++ b/src/dexnav.c @@ -36,6 +36,7 @@ #include "pokemon_summary_screen.h" #include "random.h" #include "region_map.h" +#include "rtc.h" #include "scanline_effect.h" #include "script.h" #include "script_pokemon_util.h" @@ -1516,9 +1517,7 @@ static u8 DexNavGeneratePotential(u8 searchLevel) static u8 GetEncounterLevelFromMapData(u16 species, u8 environment) { u16 headerId = GetCurrentMapWildMonHeaderId(); - const struct WildPokemonInfo *landMonsInfo = gWildMonHeaders[headerId].landMonsInfo; - const struct WildPokemonInfo *waterMonsInfo = gWildMonHeaders[headerId].waterMonsInfo; - const struct WildPokemonInfo *hiddenMonsInfo = gWildMonHeaders[headerId].hiddenMonsInfo; + enum TimeOfDay timeOfDay; u8 min = 100; u8 max = 0; u8 i; @@ -1526,6 +1525,9 @@ static u8 GetEncounterLevelFromMapData(u16 species, u8 environment) switch (environment) { case ENCOUNTER_TYPE_LAND: // grass + timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_LAND); + const struct WildPokemonInfo *landMonsInfo = gWildMonHeaders[headerId].encounterTypes[timeOfDay].landMonsInfo; + if (landMonsInfo == NULL) return MON_LEVEL_NONEXISTENT; //Hidden pokemon should only appear on walkable tiles or surf tiles @@ -1539,6 +1541,9 @@ static u8 GetEncounterLevelFromMapData(u16 species, u8 environment) } break; case ENCOUNTER_TYPE_WATER: //water + timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_WATER); + const struct WildPokemonInfo *waterMonsInfo = gWildMonHeaders[headerId].encounterTypes[timeOfDay].waterMonsInfo; + if (waterMonsInfo == NULL) return MON_LEVEL_NONEXISTENT; //Hidden pokemon should only appear on walkable tiles or surf tiles @@ -1552,6 +1557,8 @@ static u8 GetEncounterLevelFromMapData(u16 species, u8 environment) } break; case ENCOUNTER_TYPE_HIDDEN: + timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_HIDDEN); + const struct WildPokemonInfo *hiddenMonsInfo = gWildMonHeaders[headerId].encounterTypes[timeOfDay].hiddenMonsInfo; if (hiddenMonsInfo == NULL) return MON_LEVEL_NONEXISTENT; @@ -1728,7 +1735,8 @@ static bool8 CapturedAllLandMons(u16 headerId) { u16 i, species; int count = 0; - const struct WildPokemonInfo* landMonsInfo = gWildMonHeaders[headerId].landMonsInfo; + enum TimeOfDay timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_LAND); + const struct WildPokemonInfo* landMonsInfo = gWildMonHeaders[headerId].encounterTypes[timeOfDay].landMonsInfo; if (landMonsInfo != NULL) { @@ -1761,7 +1769,8 @@ static bool8 CapturedAllWaterMons(u16 headerId) u32 i; u16 species; u8 count = 0; - const struct WildPokemonInfo* waterMonsInfo = gWildMonHeaders[headerId].waterMonsInfo; + enum TimeOfDay timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_WATER); + const struct WildPokemonInfo* waterMonsInfo = gWildMonHeaders[headerId].encounterTypes[timeOfDay].waterMonsInfo; if (waterMonsInfo != NULL) { @@ -1792,7 +1801,8 @@ static bool8 CapturedAllHiddenMons(u16 headerId) u32 i; u16 species; u8 count = 0; - const struct WildPokemonInfo* hiddenMonsInfo = gWildMonHeaders[headerId].hiddenMonsInfo; + enum TimeOfDay timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_HIDDEN); + const struct WildPokemonInfo* hiddenMonsInfo = gWildMonHeaders[headerId].encounterTypes[timeOfDay].hiddenMonsInfo; if (hiddenMonsInfo != NULL) { @@ -1937,9 +1947,14 @@ static void DexNavLoadEncounterData(void) u16 species; u32 i; u16 headerId = GetCurrentMapWildMonHeaderId(); - const struct WildPokemonInfo* landMonsInfo = gWildMonHeaders[headerId].landMonsInfo; - const struct WildPokemonInfo* waterMonsInfo = gWildMonHeaders[headerId].waterMonsInfo; - const struct WildPokemonInfo* hiddenMonsInfo = gWildMonHeaders[headerId].hiddenMonsInfo; + enum TimeOfDay timeOfDay; + + timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_LAND); + const struct WildPokemonInfo* landMonsInfo = gWildMonHeaders[headerId].encounterTypes[timeOfDay].landMonsInfo; + timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_WATER); + const struct WildPokemonInfo* waterMonsInfo = gWildMonHeaders[headerId].encounterTypes[timeOfDay].waterMonsInfo; + timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_HIDDEN); + const struct WildPokemonInfo* hiddenMonsInfo = gWildMonHeaders[headerId].encounterTypes[timeOfDay].hiddenMonsInfo; // nop struct data memset(sDexNavUiDataPtr->landSpecies, 0, sizeof(sDexNavUiDataPtr->landSpecies)); @@ -2515,7 +2530,8 @@ bool8 TryFindHiddenPokemon(void) u16 species; u8 environment; u8 taskId; - const struct WildPokemonInfo* hiddenMonsInfo = gWildMonHeaders[headerId].hiddenMonsInfo; + enum TimeOfDay timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_HIDDEN); + const struct WildPokemonInfo* hiddenMonsInfo = gWildMonHeaders[headerId].encounterTypes[timeOfDay].hiddenMonsInfo; bool8 isHiddenMon = FALSE; // while you can still technically find hidden pokemon if there are not hidden-only pokemon on a map, @@ -2540,7 +2556,7 @@ bool8 TryFindHiddenPokemon(void) } else { - species = gWildMonHeaders[headerId].landMonsInfo->wildPokemon[ChooseWildMonIndex_Land()].species; + species = gWildMonHeaders[headerId].encounterTypes[timeOfDay].landMonsInfo->wildPokemon[ChooseWildMonIndex_Land()].species; environment = ENCOUNTER_TYPE_LAND; } break; @@ -2558,7 +2574,7 @@ bool8 TryFindHiddenPokemon(void) } else { - species = gWildMonHeaders[headerId].waterMonsInfo->wildPokemon[ChooseWildMonIndex_WaterRock()].species; + species = gWildMonHeaders[headerId].encounterTypes[timeOfDay].waterMonsInfo->wildPokemon[ChooseWildMonIndex_WaterRock()].species; environment = ENCOUNTER_TYPE_WATER; } diff --git a/src/fake_rtc.c b/src/fake_rtc.c index 36fa3f397..1237488a8 100644 --- a/src/fake_rtc.c +++ b/src/fake_rtc.c @@ -113,9 +113,10 @@ void AdvanceScript(void) u32 FakeRtc_GetSecondsRatio(void) { - return (OW_ALTERED_TIME_RATIO == GEN_8_PLA) ? 60 : - (OW_ALTERED_TIME_RATIO == GEN_9) ? 20 : - 1; + return (OW_ALTERED_TIME_RATIO == GEN_8_PLA) ? 60 : + (OW_ALTERED_TIME_RATIO == GEN_9) ? 20 : + (OW_ALTERED_TIME_RATIO == TIME_DEBUG) ? 1 : + 1; } STATIC_ASSERT((OW_FLAG_PAUSE_TIME == 0 || OW_USE_FAKE_RTC == TRUE), FakeRtcMustBeTrueToPauseTime); diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 77e8da08e..4ac257a37 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -24,14 +24,6 @@ #define MAX_ENCOUNTER_RATE 1600 -enum -{ - WILD_AREA_LAND, - WILD_AREA_WATER, - WILD_AREA_ROCKS, - WILD_AREA_FISHING, -}; - #define WILD_CHECK_REPEL 0x1 #define WILD_CHECK_KEEN_EYE 0x2 @@ -289,6 +281,40 @@ u16 GetCurrentMapWildMonHeaderId(void) return HEADER_NONE; } +enum TimeOfDay GetTimeOfDayForEncounters(u32 headerId, enum WildPokemonArea area) +{ + const struct WildPokemonInfo *wildMonInfo; + enum TimeOfDay timeOfDay = GetTimeOfDay(); + + if (!OW_TIME_OF_DAY_ENCOUNTERS) + return TIME_OF_DAY_DEFAULT; + + switch (area) + { + default: + case WILD_AREA_LAND: + wildMonInfo = gWildMonHeaders[headerId].encounterTypes[timeOfDay].landMonsInfo; + break; + case WILD_AREA_WATER: + wildMonInfo = gWildMonHeaders[headerId].encounterTypes[timeOfDay].waterMonsInfo; + break; + case WILD_AREA_ROCKS: + wildMonInfo = gWildMonHeaders[headerId].encounterTypes[timeOfDay].rockSmashMonsInfo; + break; + case WILD_AREA_FISHING: + wildMonInfo = gWildMonHeaders[headerId].encounterTypes[timeOfDay].fishingMonsInfo; + break; + case WILD_AREA_HIDDEN: + wildMonInfo = gWildMonHeaders[headerId].encounterTypes[timeOfDay].hiddenMonsInfo; + break; + } + + if (wildMonInfo == NULL && !OW_TIME_OF_DAY_DISABLE_FALLBACK) + return OW_TIME_OF_DAY_FALLBACK; + else + return timeOfDay; +} + static bool8 UnlockedTanobyOrAreNotInTanoby(void) { if (FlagGet(FLAG_SYS_UNLOCKED_TANOBY_RUINS)) @@ -539,13 +565,14 @@ static bool8 DoGlobalWildEncounterDiceRoll(void) bool8 TryStandardWildLandEncounter(u16 headerId, u32 currMetatileAttrs, u16 previousMetatileBehavior) { struct Roamer * roamer; - if (gWildMonHeaders[headerId].landMonsInfo == NULL) + enum TimeOfDay timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_LAND); + if (gWildMonHeaders[headerId].encounterTypes[timeOfDay].landMonsInfo == NULL) return FALSE; if (previousMetatileBehavior != ExtractMetatileAttribute(currMetatileAttrs, METATILE_ATTRIBUTE_BEHAVIOR) && !DoGlobalWildEncounterDiceRoll()) return FALSE; - if (DoWildEncounterRateTest(gWildMonHeaders[headerId].landMonsInfo->encounterRate, FALSE) != TRUE) + if (DoWildEncounterRateTest(gWildMonHeaders[headerId].encounterTypes[timeOfDay].landMonsInfo->encounterRate, FALSE) != TRUE) { - AddToWildEncounterRateBuff(gWildMonHeaders[headerId].landMonsInfo->encounterRate); + AddToWildEncounterRateBuff(gWildMonHeaders[headerId].encounterTypes[timeOfDay].landMonsInfo->encounterRate); return FALSE; } if (TryStartRoamerEncounter() == TRUE) @@ -561,12 +588,12 @@ bool8 TryStandardWildLandEncounter(u16 headerId, u32 currMetatileAttrs, u16 prev } // try a regular wild land encounter - if (TryGenerateWildMon(gWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, WILD_CHECK_REPEL) == TRUE) + if (TryGenerateWildMon(gWildMonHeaders[headerId].encounterTypes[timeOfDay].landMonsInfo, WILD_AREA_LAND, WILD_CHECK_REPEL) == TRUE) { if (TryDoDoubleWildBattle()) { struct Pokemon mon1 = gEnemyParty[0]; - TryGenerateWildMon(gWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, WILD_CHECK_KEEN_EYE); + TryGenerateWildMon(gWildMonHeaders[headerId].encounterTypes[timeOfDay].landMonsInfo, WILD_AREA_LAND, WILD_CHECK_KEEN_EYE); gEnemyParty[1] = mon1; StartDoubleWildBattle(); } @@ -576,20 +603,21 @@ bool8 TryStandardWildLandEncounter(u16 headerId, u32 currMetatileAttrs, u16 prev } return TRUE; } - AddToWildEncounterRateBuff(gWildMonHeaders[headerId].landMonsInfo->encounterRate); + AddToWildEncounterRateBuff(gWildMonHeaders[headerId].encounterTypes[timeOfDay].landMonsInfo->encounterRate); return FALSE; } bool8 TryStandardWildSurfEncounter(u16 headerId, u32 currMetatileAttrs, u16 previousMetatileBehavior) { struct Roamer * roamer; - if (gWildMonHeaders[headerId].waterMonsInfo == NULL) + enum TimeOfDay timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_WATER); + if (gWildMonHeaders[headerId].encounterTypes[timeOfDay].waterMonsInfo == NULL) return FALSE; if (previousMetatileBehavior != ExtractMetatileAttribute(currMetatileAttrs, METATILE_ATTRIBUTE_BEHAVIOR) && !DoGlobalWildEncounterDiceRoll()) return FALSE; - if (DoWildEncounterRateTest(gWildMonHeaders[headerId].waterMonsInfo->encounterRate, FALSE) != TRUE) + if (DoWildEncounterRateTest(gWildMonHeaders[headerId].encounterTypes[timeOfDay].waterMonsInfo->encounterRate, FALSE) != TRUE) { - AddToWildEncounterRateBuff(gWildMonHeaders[headerId].waterMonsInfo->encounterRate); + AddToWildEncounterRateBuff(gWildMonHeaders[headerId].encounterTypes[timeOfDay].waterMonsInfo->encounterRate); return FALSE; } @@ -605,13 +633,13 @@ bool8 TryStandardWildSurfEncounter(u16 headerId, u32 currMetatileAttrs, u16 prev return TRUE; } // try a regular surfing encounter - if (TryGenerateWildMon(gWildMonHeaders[headerId].waterMonsInfo, WILD_AREA_WATER, WILD_CHECK_REPEL) == TRUE) + if (TryGenerateWildMon(gWildMonHeaders[headerId].encounterTypes[timeOfDay].waterMonsInfo, WILD_AREA_WATER, WILD_CHECK_REPEL) == TRUE) { gIsSurfingEncounter = TRUE; if (TryDoDoubleWildBattle()) { struct Pokemon mon1 = gEnemyParty[0]; - TryGenerateWildMon(gWildMonHeaders[headerId].waterMonsInfo, WILD_AREA_WATER, WILD_CHECK_KEEN_EYE); + TryGenerateWildMon(gWildMonHeaders[headerId].encounterTypes[timeOfDay].waterMonsInfo, WILD_AREA_WATER, WILD_CHECK_KEEN_EYE); gEnemyParty[1] = mon1; StartDoubleWildBattle(); } @@ -622,7 +650,7 @@ bool8 TryStandardWildSurfEncounter(u16 headerId, u32 currMetatileAttrs, u16 prev return TRUE; } - AddToWildEncounterRateBuff(gWildMonHeaders[headerId].waterMonsInfo->encounterRate); + AddToWildEncounterRateBuff(gWildMonHeaders[headerId].encounterTypes[timeOfDay].waterMonsInfo->encounterRate); return FALSE; } @@ -648,14 +676,15 @@ bool8 StandardWildEncounter(u32 currMetatileAttrs, u16 previousMetatileBehavior) void RockSmashWildEncounter(void) { - u16 headerIdx = GetCurrentMapWildMonHeaderId(); - if (headerIdx == HEADER_NONE) + u16 headerId = GetCurrentMapWildMonHeaderId(); + enum TimeOfDay timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_ROCKS); + if (headerId == HEADER_NONE) gSpecialVar_Result = FALSE; - else if (gWildMonHeaders[headerIdx].rockSmashMonsInfo == NULL) + else if (gWildMonHeaders[headerId].encounterTypes[timeOfDay].rockSmashMonsInfo == NULL) gSpecialVar_Result = FALSE; - else if (DoWildEncounterRateTest(gWildMonHeaders[headerIdx].rockSmashMonsInfo->encounterRate, TRUE) != TRUE) + else if (DoWildEncounterRateTest(gWildMonHeaders[headerId].encounterTypes[timeOfDay].rockSmashMonsInfo->encounterRate, TRUE) != TRUE) gSpecialVar_Result = FALSE; - else if (TryGenerateWildMon(gWildMonHeaders[headerIdx].rockSmashMonsInfo, WILD_AREA_ROCKS, WILD_CHECK_REPEL) == TRUE) + else if (TryGenerateWildMon(gWildMonHeaders[headerId].encounterTypes[timeOfDay].rockSmashMonsInfo, WILD_AREA_ROCKS, WILD_CHECK_REPEL) == TRUE) { StartWildBattle(); gSpecialVar_Result = TRUE; @@ -668,6 +697,7 @@ bool8 SweetScentWildEncounter(void) { s16 x, y; u16 headerId; + enum TimeOfDay timeOfDay; PlayerGetDestCoords(&x, &y); headerId = GetCurrentMapWildMonHeaderId(); @@ -682,11 +712,12 @@ bool8 SweetScentWildEncounter(void) StartRoamerBattle(); return TRUE; } + timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_LAND); - if (gWildMonHeaders[headerId].landMonsInfo == NULL) + if (gWildMonHeaders[headerId].encounterTypes[timeOfDay].landMonsInfo == NULL) return FALSE; - TryGenerateWildMon(gWildMonHeaders[headerId].landMonsInfo, WILD_AREA_LAND, 0); + TryGenerateWildMon(gWildMonHeaders[headerId].encounterTypes[timeOfDay].landMonsInfo, WILD_AREA_LAND, 0); StartWildBattle(); return TRUE; @@ -699,10 +730,11 @@ bool8 SweetScentWildEncounter(void) return TRUE; } - if (gWildMonHeaders[headerId].waterMonsInfo == NULL) + timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_WATER); + if (gWildMonHeaders[headerId].encounterTypes[timeOfDay].waterMonsInfo == NULL) return FALSE; - TryGenerateWildMon(gWildMonHeaders[headerId].waterMonsInfo, WILD_AREA_WATER, 0); + TryGenerateWildMon(gWildMonHeaders[headerId].encounterTypes[timeOfDay].waterMonsInfo, WILD_AREA_WATER, 0); StartWildBattle(); return TRUE; } @@ -712,10 +744,12 @@ bool8 SweetScentWildEncounter(void) bool8 DoesCurrentMapHaveFishingMons(void) { - u16 headerIdx = GetCurrentMapWildMonHeaderId(); - if (headerIdx == HEADER_NONE) + u16 headerId = GetCurrentMapWildMonHeaderId(); + enum TimeOfDay timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_FISHING); + + if (headerId == HEADER_NONE) return FALSE; - if (gWildMonHeaders[headerIdx].fishingMonsInfo == NULL) + if (gWildMonHeaders[headerId].encounterTypes[timeOfDay].fishingMonsInfo == NULL) return FALSE; return TRUE; } @@ -738,15 +772,18 @@ static void UpdateChainFishingStreak() void FishingWildEncounter(u8 rod) { + u32 headerId = GetCurrentMapWildMonHeaderId(); + enum TimeOfDay timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_FISHING); gIsFishingEncounter = TRUE; - GenerateFishingEncounter(gWildMonHeaders[GetCurrentMapWildMonHeaderId()].fishingMonsInfo, rod); + GenerateFishingEncounter(gWildMonHeaders[headerId].encounterTypes[timeOfDay].fishingMonsInfo, rod); IncrementGameStat(GAME_STAT_FISHING_CAPTURES); StartWildBattle(); } u16 GetLocalWildMon(bool8 *isWaterMon) { - u16 headerId; + u32 headerId; + enum TimeOfDay timeOfDay; const struct WildPokemonInfo *landMonsInfo; const struct WildPokemonInfo *waterMonsInfo; @@ -754,8 +791,11 @@ u16 GetLocalWildMon(bool8 *isWaterMon) headerId = GetCurrentMapWildMonHeaderId(); if (headerId == HEADER_NONE) return SPECIES_NONE; - landMonsInfo = gWildMonHeaders[headerId].landMonsInfo; - waterMonsInfo = gWildMonHeaders[headerId].waterMonsInfo; + timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_LAND); + landMonsInfo = gWildMonHeaders[headerId].encounterTypes[timeOfDay].landMonsInfo; + + timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_WATER); + waterMonsInfo = gWildMonHeaders[headerId].encounterTypes[timeOfDay].waterMonsInfo; // Neither if (landMonsInfo == NULL && waterMonsInfo == NULL) return SPECIES_NONE; @@ -783,10 +823,12 @@ u16 GetLocalWildMon(bool8 *isWaterMon) u16 GetLocalWaterMon(void) { u16 headerId = GetCurrentMapWildMonHeaderId(); + enum TimeOfDay timeOfDay; if (headerId != HEADER_NONE) { - const struct WildPokemonInfo * waterMonsInfo = gWildMonHeaders[headerId].waterMonsInfo; + timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_WATER); + const struct WildPokemonInfo * waterMonsInfo = gWildMonHeaders[headerId].encounterTypes[timeOfDay].waterMonsInfo; if (waterMonsInfo) return waterMonsInfo->wildPokemon[ChooseWildMonIndex_WaterRock()].species; @@ -982,28 +1024,31 @@ static u16 WildEncounterRandom(void) static u8 GetMapBaseEncounterCooldown(u8 encounterType) { - u16 headerIdx = GetCurrentMapWildMonHeaderId(); - if (headerIdx == HEADER_NONE) + u16 headerId = GetCurrentMapWildMonHeaderId(); + enum TimeOfDay timeOfDay; + if (headerId == HEADER_NONE) return 0xFF; if (encounterType == TILE_ENCOUNTER_LAND) { - if (gWildMonHeaders[headerIdx].landMonsInfo == NULL) + timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_LAND); + if (gWildMonHeaders[headerId].encounterTypes[timeOfDay].landMonsInfo == NULL) return 0xFF; - if (gWildMonHeaders[headerIdx].landMonsInfo->encounterRate >= 80) + if (gWildMonHeaders[headerId].encounterTypes[timeOfDay].landMonsInfo->encounterRate >= 80) return 0; - if (gWildMonHeaders[headerIdx].landMonsInfo->encounterRate < 10) + if (gWildMonHeaders[headerId].encounterTypes[timeOfDay].landMonsInfo->encounterRate < 10) return 8; - return 8 - (gWildMonHeaders[headerIdx].landMonsInfo->encounterRate / 10); + return 8 - (gWildMonHeaders[headerId].encounterTypes[timeOfDay].landMonsInfo->encounterRate / 10); } if (encounterType == TILE_ENCOUNTER_WATER) { - if (gWildMonHeaders[headerIdx].waterMonsInfo == NULL) + timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_WATER); + if (gWildMonHeaders[headerId].encounterTypes[timeOfDay].waterMonsInfo == NULL) return 0xFF; - if (gWildMonHeaders[headerIdx].waterMonsInfo->encounterRate >= 80) + if (gWildMonHeaders[headerId].encounterTypes[timeOfDay].waterMonsInfo->encounterRate >= 80) return 0; - if (gWildMonHeaders[headerIdx].waterMonsInfo->encounterRate < 10) + if (gWildMonHeaders[headerId].encounterTypes[timeOfDay].waterMonsInfo->encounterRate < 10) return 8; - return 8 - (gWildMonHeaders[headerIdx].waterMonsInfo->encounterRate / 10); + return 8 - (gWildMonHeaders[headerId].encounterTypes[timeOfDay].waterMonsInfo->encounterRate / 10); } return 0xFF; } diff --git a/src/wild_pokemon_area.c b/src/wild_pokemon_area.c index 1fc25e12c..a4c05f438 100644 --- a/src/wild_pokemon_area.c +++ b/src/wild_pokemon_area.c @@ -6,6 +6,7 @@ #include "overworld.h" #include "pokedex.h" #include "pokedex_area_markers.h" +#include "rtc.h" #include "constants/region_map_sections.h" #include "constants/maps.h" @@ -17,7 +18,7 @@ struct RoamerPair static s32 GetRoamerIndex(u16 species); static s32 GetRoamerPokedexAreaMarkers(u16 species, struct Subsprite * subsprites); -static bool32 IsSpeciesOnMap(const struct WildPokemonHeader * data, s32 species); +static bool32 IsSpeciesOnMap(const struct WildPokemonHeader * data, u32 headerId, s32 species); static bool32 IsSpeciesInEncounterTable(const struct WildPokemonInfo * pokemon, s32 species, s32 count); static u16 GetMapSecIdFromWildMonHeader(const struct WildPokemonHeader * header); static bool32 FindDexAreaByMapSec(u16 mapSecId, const u16 (*lut)[2], s32 count, s32 * lutIdx_p, u16 * tableIdx_p); @@ -190,7 +191,7 @@ s32 GetSpeciesPokedexAreaMarkers(u16 species, struct Subsprite * subsprites) if (alteringCaveNum != alteringCaveCount - 1) continue; } - if (IsSpeciesOnMap(&gWildMonHeaders[i], species)) + if (IsSpeciesOnMap(&gWildMonHeaders[i], i, species)) { // Search for all dex areas associated with this MAPSEC. // In the vanilla game each MAPSEC only has at most one DEX_AREA. @@ -259,21 +260,22 @@ static s32 GetRoamerPokedexAreaMarkers(u16 species, struct Subsprite * subsprite return 0; } -static bool32 IsSpeciesOnMap(const struct WildPokemonHeader * data, s32 species) +static bool32 IsSpeciesOnMap(const struct WildPokemonHeader * data, u32 headerId, s32 species) { - if (IsSpeciesInEncounterTable(data->landMonsInfo, species, LAND_WILD_COUNT)) + enum TimeOfDay timeOfDay = GetTimeOfDayForEncounters(headerId, WILD_AREA_LAND); + if (IsSpeciesInEncounterTable(data->encounterTypes[timeOfDay].landMonsInfo, species, LAND_WILD_COUNT)) return TRUE; - if (IsSpeciesInEncounterTable(data->waterMonsInfo, species, WATER_WILD_COUNT)) + if (IsSpeciesInEncounterTable(data->encounterTypes[timeOfDay].waterMonsInfo, species, WATER_WILD_COUNT)) return TRUE; // When searching the fishing encounters, this incorrectly uses the size of the land encounters. // As a result it's reading out of bounds of the fishing encounters tables. #ifdef BUGFIX - if (IsSpeciesInEncounterTable(data->fishingMonsInfo, species, FISH_WILD_COUNT)) + if (IsSpeciesInEncounterTable(data->encounterTypes[timeOfDay].fishingMonsInfo, species, FISH_WILD_COUNT)) #else - if (IsSpeciesInEncounterTable(data->fishingMonsInfo, species, LAND_WILD_COUNT)) + if (IsSpeciesInEncounterTable(data->encounterTypes[timeOfDay].fishingMonsInfo, species, LAND_WILD_COUNT)) #endif return TRUE; - if (IsSpeciesInEncounterTable(data->rockSmashMonsInfo, species, ROCK_WILD_COUNT)) + if (IsSpeciesInEncounterTable(data->encounterTypes[timeOfDay].rockSmashMonsInfo, species, ROCK_WILD_COUNT)) return TRUE; return FALSE; diff --git a/tools/jsonproc/jsonproc.cpp b/tools/jsonproc/jsonproc.cpp index 68b1c73ba..03e51b765 100755 --- a/tools/jsonproc/jsonproc.cpp +++ b/tools/jsonproc/jsonproc.cpp @@ -45,13 +45,6 @@ int main(int argc, char *argv[]) return "//\n// DO NOT MODIFY THIS FILE! It is auto-generated from " + jsonfilepath +" and Inja template " + templateFilepath + "\n//\n"; }); - env.add_callback("contains", 2, [](Arguments& args) { - string word = args.at(0)->get(); - string check = args.at(1)->get(); - - return word.find(check) != std::string::npos; - }); - env.add_callback("subtract", 2, [](Arguments& args) { int minuend = args.at(0)->get(); int subtrahend = args.at(1)->get(); diff --git a/tools/learnset_helpers/make_learnables.py b/tools/learnset_helpers/make_learnables.py new file mode 100755 index 000000000..347e18934 --- /dev/null +++ b/tools/learnset_helpers/make_learnables.py @@ -0,0 +1,62 @@ +#!/usr/bin/env python3 + +""" +Usage: python3 make_learnables.py INPUTS_DIR OUTPUT_FILE + +Build a primary store of learnable moves for each species based on input documents. This script +is meant to be run to generate a pre-processed store of data that should not change very much; +thus, it can safely be pre-computed in order to speed up incremental builds for end-users. +""" + +from functools import reduce + +import json +import pathlib +import sys + + +def from_single(fname: pathlib.Path) -> dict[str, set[str]]: + with open(fname, "r") as fp: + return { + species: set([level_up["Move"] for level_up in by_method["LevelMoves"]]) + | set([move for move in by_method["TMMoves"]]) + | set([move for move in by_method["EggMoves"]]) + | set([move for move in by_method["TutorMoves"]]) + for species, by_method in json.load(fp).items() + } + + +def from_batch(dir: pathlib.Path) -> dict[str, set[str]]: + return reduce( + lambda acc, single: { + species: acc.get(species, set()) | single.get(species, set()) + for species in acc.keys() | single.keys() + }, + map(from_single, dir.glob("*.json")), + {}, + ) + + +def main(): + if len(sys.argv) < 3: + print("Missing required arguments", file=sys.stderr) + print(__doc__, file=sys.stderr) + quit(1) + + INPUTS_DIR = pathlib.Path(sys.argv[1]) + OUTPUT_FILE = pathlib.Path(sys.argv[2]) + + assert INPUTS_DIR.exists(), f"{INPUTS_DIR=} does not exist" + assert INPUTS_DIR.is_dir(), f"{INPUTS_DIR=} is not a directory" + assert OUTPUT_FILE.parent.exists(), f"parent of {OUTPUT_FILE=} does not exist" + + batch = { + species: list(sorted(learnables)) + for species, learnables in from_batch(INPUTS_DIR).items() + } + with open(OUTPUT_FILE, "w") as fp: + json.dump(batch, fp, indent=2) + + +if __name__ == "__main__": + main() diff --git a/tools/learnset_helpers/make_teachables.py b/tools/learnset_helpers/make_teachables.py new file mode 100644 index 000000000..6f3b186b6 --- /dev/null +++ b/tools/learnset_helpers/make_teachables.py @@ -0,0 +1,233 @@ +#!/usr/bin/env python3 + +""" +Usage: python3 make_teachable.py SOURCE_LEARNSETS_JSON + +Build a C-header defining the set of teachable moves for each configured-on +species-family based on the learnable moves defined in SOURCE_LEARNSETS_JSON. + +A move is "teachable" if it is: + 1. Can be taught by some Move Tutor in the overworld, which is identified by + using the ChooseMonForMoveTutor special in a script and setting VAR_0x8005 + to the offered MOVE constant. (e.g., MOVE_SWAGGER) + 2. Assigned to some TM or HM in include/constants/tms_hms.h using the + FOREACH_TM macro. + 3. Not a universal move, as defined by sUniversalMoves in src/pokemon.c. + +For a given species, a move is considered teachable to that species if: + 1. The species is not NONE -- which learns nothing -- nor MEW -- which + learns everything. + 2. The species can learn the move via *any* method within any Expansion- + supported game. +""" + +from itertools import chain +from textwrap import dedent + +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_.*)") +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]*?};") +SNAKIFY_PAT = re.compile(r"(?!^)([A-Z]+)") +TUTOR_ARRAY_ENABLED_PAT = re.compile(r"#define\s+P_TUTOR_MOVES_ARRAY\s+(?P[^ ]*)") + + +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 extract_repo_tms() -> typing.Generator[str, None, None]: + """ + Yield MOVE constants assigned to a TM or HM in the user's repo. + """ + with open("./include/constants/tms_hms.h", "r") as tmshms_fp: + tmshms = tmshms_fp.read() + match_it = TMHM_MACRO_PAT.finditer(tmshms) + if not match_it: + return + + for match in match_it: + yield f"MOVE_{match.group(1)}" + + +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 prepare_output(all_learnables: dict[str, set[str]], repo_teachables: set[str], header: str) -> str: + """ + Build the file content for teachable_learnsets.h. + """ + with open("./src/data/pokemon/teachable_learnsets.h", "r") as teachables_fp: + old = teachables_fp.read() + + cursor = 0 + new = header + dedent(""" + static const u16 sNoneTeachableLearnset[] = { + MOVE_UNAVAILABLE, + }; + """) + + joinpat = ",\n " + for species in TEACHABLE_ARRAY_DECL_PAT.finditer(old): + match_b, match_e = species.span() + species_upper = SNAKIFY_PAT.sub(r"_\1", species.group("name")).upper() + if species_upper == "NONE": + # NONE is hard-coded to be at the start of the file to keep this code simple. + 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 + + repo_species_teachables = filter(lambda m: m in repo_teachables, all_learnables[species_upper]) + + new += old[cursor:match_b] + new += "\n".join([ + f"{species.group('decl')} = {{", + f" {joinpat.join(chain(repo_species_teachables, ('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:" + 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)) + + lines = [ + "//", + "// DO NOT MODIFY THIS FILE! It is auto-generated by tools/learnset_helpers/make_teachables.py", + "//", + "", + f"// {'*' * h_align} //", + f"// {tmhm_title: >{h_align}} //", + ] + lines.extend([f"// - {move: <{h_align - 2}} //" for move in tmshms]) + lines.extend([ + f"// {'*' * h_align} //", + f"// {tutor_title: <{h_align}} //", + ]) + lines.extend([f"// - {move: <{h_align - 2}} //" for move in sorted(tutors)]) + lines.extend([ + f"// {'*' * h_align} //", + f"// {universals_title: <{h_align}} //", + ]) + lines.extend([f"// - {move: <{h_align - 2}} //" for move in universals]) + lines.extend([ + f"// {'*' * h_align} //", + "", + ]) + + return "\n".join(lines) + + +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) + + SOURCE_LEARNSETS_JSON = pathlib.Path(sys.argv[1]) + + 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() + 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) + )) + + create_tutor_moves_array(repo_tutors) + + 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_LEARNSETS_JSON, "r") as source_fp: + all_learnables = json.load(source_fp) + + content = prepare_output(all_learnables, repo_teachables, 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/porymoves_files/b2w2.json b/tools/learnset_helpers/porymoves_files/b2w2.json index bd1762990..b959d386a 100644 --- a/tools/learnset_helpers/porymoves_files/b2w2.json +++ b/tools/learnset_helpers/porymoves_files/b2w2.json @@ -6536,7 +6536,7 @@ "MOVE_REVENGE", "MOVE_REVERSAL", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_COVET", @@ -6687,7 +6687,7 @@ "MOVE_REVENGE", "MOVE_REVERSAL", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_COVET", @@ -7754,7 +7754,7 @@ "MOVE_MEDITATE", "MOVE_POWER_TRICK", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH", "MOVE_TICKLE" ], @@ -7890,7 +7890,7 @@ "MOVE_MEDITATE", "MOVE_POWER_TRICK", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH", "MOVE_TICKLE" ], @@ -8033,7 +8033,7 @@ "MOVE_MEDITATE", "MOVE_POWER_TRICK", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH", "MOVE_TICKLE" ], @@ -13164,7 +13164,7 @@ "MOVE_MAGNITUDE", "MOVE_MUDDY_WATER", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_ZEN_HEADBUTT" ], @@ -25781,7 +25781,7 @@ "MOVE_METRONOME", "MOVE_MIMIC", "MOVE_PRESENT", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_THUNDER_FANG" ], @@ -25930,7 +25930,7 @@ "MOVE_METRONOME", "MOVE_MIMIC", "MOVE_PRESENT", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_THUNDER_FANG" ], @@ -31544,7 +31544,7 @@ "MOVE_LOW_KICK", "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_BOUNCE", @@ -31677,7 +31677,7 @@ "MOVE_LOW_KICK", "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_BOUNCE", @@ -31834,7 +31834,7 @@ "MOVE_LOW_KICK", "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_BLAST_BURN", @@ -35812,7 +35812,7 @@ "MOVE_EXTRASENSORY", "MOVE_FAKE_TEARS", "MOVE_HAMMER_ARM", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_TAKE_DOWN" @@ -35943,7 +35943,7 @@ "MOVE_EXTRASENSORY", "MOVE_FAKE_TEARS", "MOVE_HAMMER_ARM", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_TAKE_DOWN" @@ -36099,7 +36099,7 @@ "MOVE_EXTRASENSORY", "MOVE_FAKE_TEARS", "MOVE_HAMMER_ARM", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_TAKE_DOWN" @@ -36155,7 +36155,7 @@ }, { "Level": 22, - "Move": "MOVE_SMELLING_SALT" + "Move": "MOVE_SMELLING_SALTS" }, { "Level": 25, @@ -36301,7 +36301,7 @@ }, { "Level": 22, - "Move": "MOVE_SMELLING_SALT" + "Move": "MOVE_SMELLING_SALTS" }, { "Level": 27, @@ -37260,7 +37260,7 @@ "MOVE_HEAD_SMASH", "MOVE_IRON_HEAD", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STEALTH_ROCK", "MOVE_STOMP", "MOVE_SUPERPOWER" @@ -37395,7 +37395,7 @@ "MOVE_HEAD_SMASH", "MOVE_IRON_HEAD", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STEALTH_ROCK", "MOVE_STOMP", "MOVE_SUPERPOWER" @@ -37551,7 +37551,7 @@ "MOVE_HEAD_SMASH", "MOVE_IRON_HEAD", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STEALTH_ROCK", "MOVE_STOMP", "MOVE_SUPERPOWER" @@ -40230,7 +40230,7 @@ "MOVE_PSYCHO_CUT", "MOVE_RAPID_SPIN", "MOVE_ROLE_PLAY", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_TRICK", "MOVE_WATER_PULSE", "MOVE_WISH" @@ -40775,7 +40775,7 @@ "MOVE_MAGICAL_LEAF", "MOVE_NASTY_PLOT", "MOVE_SEED_BOMB", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWITCHEROO", "MOVE_TEETER_DANCE", "MOVE_WORRY_SEED" @@ -40920,7 +40920,7 @@ "MOVE_MAGICAL_LEAF", "MOVE_NASTY_PLOT", "MOVE_SEED_BOMB", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWITCHEROO", "MOVE_TEETER_DANCE", "MOVE_WORRY_SEED" @@ -55166,7 +55166,7 @@ "MOVE_HEADBUTT", "MOVE_ME_FIRST", "MOVE_MEDITATE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VACUUM_WAVE", "MOVE_WAKE_UP_SLAP" ], @@ -55321,7 +55321,7 @@ "MOVE_HEADBUTT", "MOVE_ME_FIRST", "MOVE_MEDITATE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VACUUM_WAVE", "MOVE_WAKE_UP_SLAP" ], @@ -56469,7 +56469,7 @@ "MOVE_MAGNITUDE", "MOVE_MUDDY_WATER", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_ZEN_HEADBUTT" ], @@ -65266,7 +65266,7 @@ "MOVE_FORESIGHT", "MOVE_MACH_PUNCH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_WIDE_GUARD" ], "TutorMoves": [ @@ -65403,7 +65403,7 @@ "MOVE_FORESIGHT", "MOVE_MACH_PUNCH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_WIDE_GUARD" ], "TutorMoves": [ @@ -65544,7 +65544,7 @@ "MOVE_FORESIGHT", "MOVE_MACH_PUNCH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_WIDE_GUARD" ], "TutorMoves": [ @@ -76069,7 +76069,7 @@ "MOVE_KNOCK_OFF", "MOVE_LOW_KICK", "MOVE_ME_FIRST", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VITAL_THROW" ], "TutorMoves": [ @@ -76215,7 +76215,7 @@ "MOVE_KNOCK_OFF", "MOVE_LOW_KICK", "MOVE_ME_FIRST", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VITAL_THROW" ], "TutorMoves": [ diff --git a/tools/learnset_helpers/porymoves_files/bw.json b/tools/learnset_helpers/porymoves_files/bw.json index 4a93b5760..4d744607e 100644 --- a/tools/learnset_helpers/porymoves_files/bw.json +++ b/tools/learnset_helpers/porymoves_files/bw.json @@ -5876,7 +5876,7 @@ "MOVE_REVENGE", "MOVE_REVERSAL", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [] }, @@ -6010,7 +6010,7 @@ "MOVE_REVENGE", "MOVE_REVERSAL", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [] }, @@ -6954,7 +6954,7 @@ "MOVE_MEDITATE", "MOVE_POWER_TRICK", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH", "MOVE_TICKLE" ], @@ -7078,7 +7078,7 @@ "MOVE_MEDITATE", "MOVE_POWER_TRICK", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH", "MOVE_TICKLE" ], @@ -7209,7 +7209,7 @@ "MOVE_MEDITATE", "MOVE_POWER_TRICK", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH", "MOVE_TICKLE" ], @@ -11879,7 +11879,7 @@ "MOVE_MAGNITUDE", "MOVE_MUDDY_WATER", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_ZEN_HEADBUTT" ], @@ -23106,7 +23106,7 @@ "MOVE_METRONOME", "MOVE_MIMIC", "MOVE_PRESENT", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_THUNDER_FANG" ], @@ -23242,7 +23242,7 @@ "MOVE_METRONOME", "MOVE_MIMIC", "MOVE_PRESENT", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_THUNDER_FANG" ], @@ -28253,7 +28253,7 @@ "MOVE_LOW_KICK", "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_FIRE_PLEDGE" @@ -28379,7 +28379,7 @@ "MOVE_LOW_KICK", "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_FIRE_PLEDGE" @@ -28526,7 +28526,7 @@ "MOVE_LOW_KICK", "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_BLAST_BURN", @@ -32107,7 +32107,7 @@ "MOVE_EXTRASENSORY", "MOVE_FAKE_TEARS", "MOVE_HAMMER_ARM", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_TAKE_DOWN" @@ -32227,7 +32227,7 @@ "MOVE_EXTRASENSORY", "MOVE_FAKE_TEARS", "MOVE_HAMMER_ARM", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_TAKE_DOWN" @@ -32371,7 +32371,7 @@ "MOVE_EXTRASENSORY", "MOVE_FAKE_TEARS", "MOVE_HAMMER_ARM", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_TAKE_DOWN" @@ -32414,7 +32414,7 @@ }, { "Level": 22, - "Move": "MOVE_SMELLING_SALT" + "Move": "MOVE_SMELLING_SALTS" }, { "Level": 25, @@ -32549,7 +32549,7 @@ }, { "Level": 22, - "Move": "MOVE_SMELLING_SALT" + "Move": "MOVE_SMELLING_SALTS" }, { "Level": 27, @@ -33386,7 +33386,7 @@ "MOVE_HEAD_SMASH", "MOVE_IRON_HEAD", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STEALTH_ROCK", "MOVE_STOMP", "MOVE_SUPERPOWER" @@ -33512,7 +33512,7 @@ "MOVE_HEAD_SMASH", "MOVE_IRON_HEAD", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STEALTH_ROCK", "MOVE_STOMP", "MOVE_SUPERPOWER" @@ -33659,7 +33659,7 @@ "MOVE_HEAD_SMASH", "MOVE_IRON_HEAD", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STEALTH_ROCK", "MOVE_STOMP", "MOVE_SUPERPOWER" @@ -36075,7 +36075,7 @@ "MOVE_PSYCHO_CUT", "MOVE_RAPID_SPIN", "MOVE_ROLE_PLAY", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_TRICK", "MOVE_WATER_PULSE", "MOVE_WISH" @@ -36505,7 +36505,7 @@ "MOVE_MAGICAL_LEAF", "MOVE_NASTY_PLOT", "MOVE_SEED_BOMB", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWITCHEROO", "MOVE_TEETER_DANCE", "MOVE_WORRY_SEED" @@ -36636,7 +36636,7 @@ "MOVE_MAGICAL_LEAF", "MOVE_NASTY_PLOT", "MOVE_SEED_BOMB", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWITCHEROO", "MOVE_TEETER_DANCE", "MOVE_WORRY_SEED" @@ -49431,7 +49431,7 @@ "MOVE_HEADBUTT", "MOVE_ME_FIRST", "MOVE_MEDITATE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VACUUM_WAVE", "MOVE_WAKE_UP_SLAP" ], @@ -49567,7 +49567,7 @@ "MOVE_HEADBUTT", "MOVE_ME_FIRST", "MOVE_MEDITATE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VACUUM_WAVE", "MOVE_WAKE_UP_SLAP" ], @@ -50591,7 +50591,7 @@ "MOVE_MAGNITUDE", "MOVE_MUDDY_WATER", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_ZEN_HEADBUTT" ], @@ -58423,7 +58423,7 @@ "MOVE_FORESIGHT", "MOVE_MACH_PUNCH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_WIDE_GUARD" ], "TutorMoves": [] @@ -58548,7 +58548,7 @@ "MOVE_FORESIGHT", "MOVE_MACH_PUNCH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_WIDE_GUARD" ], "TutorMoves": [] @@ -58677,7 +58677,7 @@ "MOVE_FORESIGHT", "MOVE_MACH_PUNCH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_WIDE_GUARD" ], "TutorMoves": [] @@ -68196,7 +68196,7 @@ "MOVE_KNOCK_OFF", "MOVE_LOW_KICK", "MOVE_ME_FIRST", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VITAL_THROW" ], "TutorMoves": [] @@ -68332,7 +68332,7 @@ "MOVE_KNOCK_OFF", "MOVE_LOW_KICK", "MOVE_ME_FIRST", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VITAL_THROW" ], "TutorMoves": [] diff --git a/tools/learnset_helpers/porymoves_files/dp.json b/tools/learnset_helpers/porymoves_files/dp.json index fdae45c2a..2cc1bbea8 100644 --- a/tools/learnset_helpers/porymoves_files/dp.json +++ b/tools/learnset_helpers/porymoves_files/dp.json @@ -5745,7 +5745,7 @@ "MOVE_REVENGE", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [] }, @@ -5873,7 +5873,7 @@ "MOVE_REVENGE", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [] }, @@ -6789,7 +6789,7 @@ "MOVE_MEDITATE", "MOVE_ROCK_SLIDE", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH" ], "TutorMoves": [] @@ -6902,7 +6902,7 @@ "MOVE_MEDITATE", "MOVE_ROCK_SLIDE", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH" ], "TutorMoves": [] @@ -7018,7 +7018,7 @@ "MOVE_MEDITATE", "MOVE_ROCK_SLIDE", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH" ], "TutorMoves": [] @@ -11489,7 +11489,7 @@ "MOVE_HAMMER_ARM", "MOVE_MAGNITUDE", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_SUBSTITUTE" ], @@ -22486,7 +22486,7 @@ "MOVE_METRONOME", "MOVE_PRESENT", "MOVE_REFLECT", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_THUNDER_FANG" ], @@ -22618,7 +22618,7 @@ "MOVE_METRONOME", "MOVE_PRESENT", "MOVE_REFLECT", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_THUNDER_FANG" ], @@ -27537,7 +27537,7 @@ "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWAGGER" ], "TutorMoves": [] @@ -27658,7 +27658,7 @@ "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWAGGER" ], "TutorMoves": [] @@ -27795,7 +27795,7 @@ "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWAGGER" ], "TutorMoves": [ @@ -31332,7 +31332,7 @@ "EggMoves": [ "MOVE_ENDEAVOR", "MOVE_EXTRASENSORY", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_SWAGGER", @@ -31446,7 +31446,7 @@ "EggMoves": [ "MOVE_ENDEAVOR", "MOVE_EXTRASENSORY", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_SWAGGER", @@ -31586,7 +31586,7 @@ "EggMoves": [ "MOVE_ENDEAVOR", "MOVE_EXTRASENSORY", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_SWAGGER", @@ -31630,7 +31630,7 @@ }, { "Level": 22, - "Move": "MOVE_SMELLING_SALT" + "Move": "MOVE_SMELLING_SALTS" }, { "Level": 25, @@ -31758,7 +31758,7 @@ }, { "Level": 22, - "Move": "MOVE_SMELLING_SALT" + "Move": "MOVE_SMELLING_SALTS" }, { "Level": 27, @@ -32577,7 +32577,7 @@ "MOVE_ENDEAVOR", "MOVE_IRON_HEAD", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STOMP" ], "TutorMoves": [] @@ -32698,7 +32698,7 @@ "MOVE_ENDEAVOR", "MOVE_IRON_HEAD", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STOMP" ], "TutorMoves": [] @@ -32842,7 +32842,7 @@ "MOVE_ENDEAVOR", "MOVE_IRON_HEAD", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STOMP" ], "TutorMoves": [] @@ -35217,7 +35217,7 @@ "MOVE_PSYCHO_CUT", "MOVE_ROCK_SLIDE", "MOVE_ROLE_PLAY", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_TRICK", "MOVE_WISH" ], @@ -35649,7 +35649,7 @@ "MOVE_LOW_KICK", "MOVE_MAGICAL_LEAF", "MOVE_SEED_BOMB", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_TEETER_DANCE" ], "TutorMoves": [] @@ -35782,7 +35782,7 @@ "MOVE_LOW_KICK", "MOVE_MAGICAL_LEAF", "MOVE_SEED_BOMB", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_TEETER_DANCE" ], "TutorMoves": [] @@ -48274,7 +48274,7 @@ "MOVE_HEADBUTT", "MOVE_ME_FIRST", "MOVE_MEDITATE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VACUUM_WAVE", "MOVE_WAKE_UP_SLAP" ], @@ -48405,7 +48405,7 @@ "MOVE_HEADBUTT", "MOVE_ME_FIRST", "MOVE_MEDITATE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VACUUM_WAVE", "MOVE_WAKE_UP_SLAP" ], @@ -49430,7 +49430,7 @@ "MOVE_HAMMER_ARM", "MOVE_MAGNITUDE", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_SUBSTITUTE" ], diff --git a/tools/learnset_helpers/porymoves_files/frlg.json b/tools/learnset_helpers/porymoves_files/frlg.json index b3ca34bc9..750e15e89 100644 --- a/tools/learnset_helpers/porymoves_files/frlg.json +++ b/tools/learnset_helpers/porymoves_files/frlg.json @@ -4694,7 +4694,7 @@ "MOVE_REVENGE", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_BODY_SLAM", @@ -4807,7 +4807,7 @@ "MOVE_REVENGE", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_BODY_SLAM", @@ -5582,7 +5582,7 @@ "MOVE_MEDITATE", "MOVE_ROCK_SLIDE", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_BODY_SLAM", @@ -5685,7 +5685,7 @@ "MOVE_MEDITATE", "MOVE_ROCK_SLIDE", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_BODY_SLAM", @@ -5789,7 +5789,7 @@ "MOVE_MEDITATE", "MOVE_ROCK_SLIDE", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_BODY_SLAM", @@ -9379,7 +9379,7 @@ "MOVE_CURSE", "MOVE_MAGNITUDE", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_SUBSTITUTE" ], @@ -18107,7 +18107,7 @@ "MOVE_METRONOME", "MOVE_PRESENT", "MOVE_REFLECT", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE" ], "TutorMoves": [ @@ -18212,7 +18212,7 @@ "MOVE_METRONOME", "MOVE_PRESENT", "MOVE_REFLECT", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE" ], "TutorMoves": [ @@ -22086,7 +22086,7 @@ "MOVE_ENDURE", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWAGGER" ], "TutorMoves": [ @@ -22195,7 +22195,7 @@ "MOVE_ENDURE", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWAGGER" ], "TutorMoves": [ @@ -22315,7 +22315,7 @@ "MOVE_ENDURE", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWAGGER" ], "TutorMoves": [ @@ -25387,7 +25387,7 @@ ], "EggMoves": [ "MOVE_EXTRASENSORY", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_SWAGGER", "MOVE_TAKE_DOWN" @@ -25495,7 +25495,7 @@ ], "EggMoves": [ "MOVE_EXTRASENSORY", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_SWAGGER", "MOVE_TAKE_DOWN" @@ -25609,7 +25609,7 @@ ], "EggMoves": [ "MOVE_EXTRASENSORY", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_SWAGGER", "MOVE_TAKE_DOWN" @@ -25662,7 +25662,7 @@ }, { "Level": 31, - "Move": "MOVE_SMELLING_SALT" + "Move": "MOVE_SMELLING_SALTS" }, { "Level": 37, @@ -25772,7 +25772,7 @@ }, { "Level": 33, - "Move": "MOVE_SMELLING_SALT" + "Move": "MOVE_SMELLING_SALTS" }, { "Level": 40, @@ -26446,7 +26446,7 @@ "EggMoves": [ "MOVE_BODY_SLAM", "MOVE_ENDEAVOR", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STOMP" ], "TutorMoves": [ @@ -26550,7 +26550,7 @@ "EggMoves": [ "MOVE_BODY_SLAM", "MOVE_ENDEAVOR", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STOMP" ], "TutorMoves": [ @@ -26667,7 +26667,7 @@ "EggMoves": [ "MOVE_BODY_SLAM", "MOVE_ENDEAVOR", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STOMP" ], "TutorMoves": [ @@ -28659,7 +28659,7 @@ "MOVE_DISABLE", "MOVE_ENCORE", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_TRICK", "MOVE_WISH" ], diff --git a/tools/learnset_helpers/porymoves_files/hgss.json b/tools/learnset_helpers/porymoves_files/hgss.json index 8aaf2714b..2e54c5697 100644 --- a/tools/learnset_helpers/porymoves_files/hgss.json +++ b/tools/learnset_helpers/porymoves_files/hgss.json @@ -6393,7 +6393,7 @@ "MOVE_REVENGE", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_ENDEAVOR", @@ -6539,7 +6539,7 @@ "MOVE_REVENGE", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_ENDEAVOR", @@ -7558,7 +7558,7 @@ "MOVE_POWER_TRICK", "MOVE_ROCK_SLIDE", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH" ], "TutorMoves": [ @@ -7684,7 +7684,7 @@ "MOVE_POWER_TRICK", "MOVE_ROCK_SLIDE", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH" ], "TutorMoves": [ @@ -7813,7 +7813,7 @@ "MOVE_POWER_TRICK", "MOVE_ROCK_SLIDE", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH" ], "TutorMoves": [ @@ -12749,7 +12749,7 @@ "MOVE_MAGNITUDE", "MOVE_MUDDY_WATER", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_SUBSTITUTE" ], @@ -25059,7 +25059,7 @@ "MOVE_METRONOME", "MOVE_PRESENT", "MOVE_REFLECT", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_THUNDER_FANG" ], @@ -25203,7 +25203,7 @@ "MOVE_METRONOME", "MOVE_PRESENT", "MOVE_REFLECT", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_THUNDER_FANG" ], @@ -30728,7 +30728,7 @@ "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWAGGER" ], "TutorMoves": [ @@ -30859,7 +30859,7 @@ "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWAGGER" ], "TutorMoves": [ @@ -31011,7 +31011,7 @@ "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWAGGER" ], "TutorMoves": [ @@ -34988,7 +34988,7 @@ "MOVE_ENDEAVOR", "MOVE_EXTRASENSORY", "MOVE_HAMMER_ARM", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_SWAGGER", @@ -35114,7 +35114,7 @@ "MOVE_ENDEAVOR", "MOVE_EXTRASENSORY", "MOVE_HAMMER_ARM", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_SWAGGER", @@ -35268,7 +35268,7 @@ "MOVE_ENDEAVOR", "MOVE_EXTRASENSORY", "MOVE_HAMMER_ARM", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_SWAGGER", @@ -35325,7 +35325,7 @@ }, { "Level": 22, - "Move": "MOVE_SMELLING_SALT" + "Move": "MOVE_SMELLING_SALTS" }, { "Level": 25, @@ -35468,7 +35468,7 @@ }, { "Level": 22, - "Move": "MOVE_SMELLING_SALT" + "Move": "MOVE_SMELLING_SALTS" }, { "Level": 27, @@ -36406,7 +36406,7 @@ "MOVE_HEAD_SMASH", "MOVE_IRON_HEAD", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STOMP" ], "TutorMoves": [ @@ -36543,7 +36543,7 @@ "MOVE_HEAD_SMASH", "MOVE_IRON_HEAD", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STOMP" ], "TutorMoves": [ @@ -36704,7 +36704,7 @@ "MOVE_HEAD_SMASH", "MOVE_IRON_HEAD", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STOMP" ], "TutorMoves": [ @@ -39350,7 +39350,7 @@ "MOVE_PSYCHO_CUT", "MOVE_ROCK_SLIDE", "MOVE_ROLE_PLAY", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_TRICK", "MOVE_WISH" ], @@ -39836,7 +39836,7 @@ "MOVE_MAGICAL_LEAF", "MOVE_NASTY_PLOT", "MOVE_SEED_BOMB", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_TEETER_DANCE" ], "TutorMoves": [ @@ -39983,7 +39983,7 @@ "MOVE_MAGICAL_LEAF", "MOVE_NASTY_PLOT", "MOVE_SEED_BOMB", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_TEETER_DANCE" ], "TutorMoves": [ @@ -54014,7 +54014,7 @@ "MOVE_HEADBUTT", "MOVE_ME_FIRST", "MOVE_MEDITATE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VACUUM_WAVE", "MOVE_WAKE_UP_SLAP" ], @@ -54164,7 +54164,7 @@ "MOVE_HEADBUTT", "MOVE_ME_FIRST", "MOVE_MEDITATE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VACUUM_WAVE", "MOVE_WAKE_UP_SLAP" ], @@ -55299,7 +55299,7 @@ "MOVE_MAGNITUDE", "MOVE_MUDDY_WATER", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_SUBSTITUTE" ], diff --git a/tools/learnset_helpers/porymoves_files/oras.json b/tools/learnset_helpers/porymoves_files/oras.json index da1a3bf21..c51de9a23 100644 --- a/tools/learnset_helpers/porymoves_files/oras.json +++ b/tools/learnset_helpers/porymoves_files/oras.json @@ -6941,7 +6941,7 @@ "MOVE_REVENGE", "MOVE_REVERSAL", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_COVET", @@ -7101,7 +7101,7 @@ "MOVE_REVENGE", "MOVE_REVERSAL", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_COVET", @@ -8220,7 +8220,7 @@ "MOVE_POWER_TRICK", "MOVE_QUICK_GUARD", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH", "MOVE_TICKLE" ], @@ -8372,7 +8372,7 @@ "MOVE_POWER_TRICK", "MOVE_QUICK_GUARD", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH", "MOVE_TICKLE" ], @@ -8531,7 +8531,7 @@ "MOVE_POWER_TRICK", "MOVE_QUICK_GUARD", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH", "MOVE_TICKLE" ], @@ -13938,7 +13938,7 @@ "MOVE_MAGNITUDE", "MOVE_MUDDY_WATER", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_ZEN_HEADBUTT" ], @@ -27315,7 +27315,7 @@ "MOVE_METRONOME", "MOVE_MIMIC", "MOVE_PRESENT", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_THUNDER_FANG" ], @@ -27475,7 +27475,7 @@ "MOVE_METRONOME", "MOVE_MIMIC", "MOVE_PRESENT", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_THUNDER_FANG" ], @@ -33468,7 +33468,7 @@ "MOVE_LOW_KICK", "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_BOUNCE", @@ -33608,7 +33608,7 @@ "MOVE_LOW_KICK", "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_BOUNCE", @@ -33777,7 +33777,7 @@ "MOVE_LOW_KICK", "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_BLAST_BURN", @@ -38135,7 +38135,7 @@ "MOVE_EXTRASENSORY", "MOVE_FAKE_TEARS", "MOVE_HAMMER_ARM", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_TAKE_DOWN" @@ -38275,7 +38275,7 @@ "MOVE_EXTRASENSORY", "MOVE_FAKE_TEARS", "MOVE_HAMMER_ARM", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_TAKE_DOWN" @@ -38448,7 +38448,7 @@ "MOVE_EXTRASENSORY", "MOVE_FAKE_TEARS", "MOVE_HAMMER_ARM", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_TAKE_DOWN" @@ -38513,7 +38513,7 @@ }, { "Level": 28, - "Move": "MOVE_SMELLING_SALT" + "Move": "MOVE_SMELLING_SALTS" }, { "Level": 31, @@ -38662,7 +38662,7 @@ }, { "Level": 30, - "Move": "MOVE_SMELLING_SALT" + "Move": "MOVE_SMELLING_SALTS" }, { "Level": 34, @@ -39698,7 +39698,7 @@ "MOVE_IRON_HEAD", "MOVE_REVERSAL", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STEALTH_ROCK", "MOVE_STOMP", "MOVE_SUPERPOWER" @@ -39846,7 +39846,7 @@ "MOVE_IRON_HEAD", "MOVE_REVERSAL", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STEALTH_ROCK", "MOVE_STOMP", "MOVE_SUPERPOWER" @@ -40017,7 +40017,7 @@ "MOVE_IRON_HEAD", "MOVE_REVERSAL", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STEALTH_ROCK", "MOVE_STOMP", "MOVE_SUPERPOWER" @@ -42918,7 +42918,7 @@ "MOVE_PSYCHO_SHIFT", "MOVE_RAPID_SPIN", "MOVE_ROLE_PLAY", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_TRICK", "MOVE_WATER_PULSE", "MOVE_WISH" @@ -43493,7 +43493,7 @@ "MOVE_NASTY_PLOT", "MOVE_ROTOTILLER", "MOVE_SEED_BOMB", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWITCHEROO", "MOVE_TEETER_DANCE", "MOVE_WORRY_SEED" @@ -43658,7 +43658,7 @@ "MOVE_NASTY_PLOT", "MOVE_ROTOTILLER", "MOVE_SEED_BOMB", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWITCHEROO", "MOVE_TEETER_DANCE", "MOVE_WORRY_SEED" @@ -58895,7 +58895,7 @@ "MOVE_ME_FIRST", "MOVE_MEDITATE", "MOVE_QUICK_GUARD", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VACUUM_WAVE", "MOVE_WAKE_UP_SLAP" ], @@ -59058,7 +59058,7 @@ "MOVE_ME_FIRST", "MOVE_MEDITATE", "MOVE_QUICK_GUARD", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VACUUM_WAVE", "MOVE_WAKE_UP_SLAP" ], @@ -60269,7 +60269,7 @@ "MOVE_MAGNITUDE", "MOVE_MUDDY_WATER", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_ZEN_HEADBUTT" ], @@ -69623,7 +69623,7 @@ "MOVE_FORESIGHT", "MOVE_MACH_PUNCH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_WIDE_GUARD" ], "TutorMoves": [ @@ -69763,7 +69763,7 @@ "MOVE_FORESIGHT", "MOVE_MACH_PUNCH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_WIDE_GUARD" ], "TutorMoves": [ @@ -69907,7 +69907,7 @@ "MOVE_FORESIGHT", "MOVE_MACH_PUNCH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_WIDE_GUARD" ], "TutorMoves": [ @@ -81039,7 +81039,7 @@ "MOVE_KNOCK_OFF", "MOVE_LOW_KICK", "MOVE_ME_FIRST", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VITAL_THROW" ], "TutorMoves": [ @@ -81197,7 +81197,7 @@ "MOVE_KNOCK_OFF", "MOVE_LOW_KICK", "MOVE_ME_FIRST", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VITAL_THROW" ], "TutorMoves": [ diff --git a/tools/learnset_helpers/porymoves_files/pt.json b/tools/learnset_helpers/porymoves_files/pt.json index bf2ace3c5..647f12367 100644 --- a/tools/learnset_helpers/porymoves_files/pt.json +++ b/tools/learnset_helpers/porymoves_files/pt.json @@ -6231,7 +6231,7 @@ "MOVE_REVENGE", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_ENDEAVOR", @@ -6373,7 +6373,7 @@ "MOVE_REVENGE", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_ENDEAVOR", @@ -7363,7 +7363,7 @@ "MOVE_MEDITATE", "MOVE_ROCK_SLIDE", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH" ], "TutorMoves": [ @@ -7485,7 +7485,7 @@ "MOVE_MEDITATE", "MOVE_ROCK_SLIDE", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH" ], "TutorMoves": [ @@ -7610,7 +7610,7 @@ "MOVE_MEDITATE", "MOVE_ROCK_SLIDE", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH" ], "TutorMoves": [ @@ -12437,7 +12437,7 @@ "MOVE_HAMMER_ARM", "MOVE_MAGNITUDE", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_SUBSTITUTE" ], @@ -24447,7 +24447,7 @@ "MOVE_METRONOME", "MOVE_PRESENT", "MOVE_REFLECT", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_THUNDER_FANG" ], @@ -24587,7 +24587,7 @@ "MOVE_METRONOME", "MOVE_PRESENT", "MOVE_REFLECT", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_THUNDER_FANG" ], @@ -29978,7 +29978,7 @@ "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWAGGER" ], "TutorMoves": [ @@ -30107,7 +30107,7 @@ "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWAGGER" ], "TutorMoves": [ @@ -30256,7 +30256,7 @@ "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWAGGER" ], "TutorMoves": [ @@ -34139,7 +34139,7 @@ "EggMoves": [ "MOVE_ENDEAVOR", "MOVE_EXTRASENSORY", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_SWAGGER", @@ -34263,7 +34263,7 @@ "EggMoves": [ "MOVE_ENDEAVOR", "MOVE_EXTRASENSORY", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_SWAGGER", @@ -34413,7 +34413,7 @@ "EggMoves": [ "MOVE_ENDEAVOR", "MOVE_EXTRASENSORY", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_SWAGGER", @@ -34468,7 +34468,7 @@ }, { "Level": 22, - "Move": "MOVE_SMELLING_SALT" + "Move": "MOVE_SMELLING_SALTS" }, { "Level": 25, @@ -34606,7 +34606,7 @@ }, { "Level": 22, - "Move": "MOVE_SMELLING_SALT" + "Move": "MOVE_SMELLING_SALTS" }, { "Level": 27, @@ -35512,7 +35512,7 @@ "MOVE_ENDEAVOR", "MOVE_IRON_HEAD", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STOMP" ], "TutorMoves": [ @@ -35647,7 +35647,7 @@ "MOVE_ENDEAVOR", "MOVE_IRON_HEAD", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STOMP" ], "TutorMoves": [ @@ -35805,7 +35805,7 @@ "MOVE_ENDEAVOR", "MOVE_IRON_HEAD", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STOMP" ], "TutorMoves": [ @@ -38387,7 +38387,7 @@ "MOVE_PSYCHO_CUT", "MOVE_ROCK_SLIDE", "MOVE_ROLE_PLAY", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_TRICK", "MOVE_WISH" ], @@ -38859,7 +38859,7 @@ "MOVE_LOW_KICK", "MOVE_MAGICAL_LEAF", "MOVE_SEED_BOMB", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_TEETER_DANCE" ], "TutorMoves": [ @@ -39001,7 +39001,7 @@ "MOVE_LOW_KICK", "MOVE_MAGICAL_LEAF", "MOVE_SEED_BOMB", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_TEETER_DANCE" ], "TutorMoves": [ @@ -52668,7 +52668,7 @@ "MOVE_HEADBUTT", "MOVE_ME_FIRST", "MOVE_MEDITATE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VACUUM_WAVE", "MOVE_WAKE_UP_SLAP" ], @@ -52813,7 +52813,7 @@ "MOVE_HEADBUTT", "MOVE_ME_FIRST", "MOVE_MEDITATE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VACUUM_WAVE", "MOVE_WAKE_UP_SLAP" ], @@ -53921,7 +53921,7 @@ "MOVE_HAMMER_ARM", "MOVE_MAGNITUDE", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_SUBSTITUTE" ], diff --git a/tools/learnset_helpers/porymoves_files/rse.json b/tools/learnset_helpers/porymoves_files/rse.json index 14708c729..badf14488 100644 --- a/tools/learnset_helpers/porymoves_files/rse.json +++ b/tools/learnset_helpers/porymoves_files/rse.json @@ -5046,7 +5046,7 @@ "MOVE_REVENGE", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_BODY_SLAM", @@ -5167,7 +5167,7 @@ "MOVE_REVENGE", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_BODY_SLAM", @@ -6014,7 +6014,7 @@ "MOVE_MEDITATE", "MOVE_ROCK_SLIDE", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_BODY_SLAM", @@ -6126,7 +6126,7 @@ "MOVE_MEDITATE", "MOVE_ROCK_SLIDE", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_BODY_SLAM", @@ -6239,7 +6239,7 @@ "MOVE_MEDITATE", "MOVE_ROCK_SLIDE", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_BODY_SLAM", @@ -10019,7 +10019,7 @@ "MOVE_CURSE", "MOVE_MAGNITUDE", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_SUBSTITUTE" ], @@ -19386,7 +19386,7 @@ "MOVE_METRONOME", "MOVE_PRESENT", "MOVE_REFLECT", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE" ], "TutorMoves": [ @@ -19501,7 +19501,7 @@ "MOVE_METRONOME", "MOVE_PRESENT", "MOVE_REFLECT", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE" ], "TutorMoves": [ @@ -23705,7 +23705,7 @@ "MOVE_ENDURE", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWAGGER" ], "TutorMoves": [ @@ -23820,7 +23820,7 @@ "MOVE_ENDURE", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWAGGER" ], "TutorMoves": [ @@ -23950,7 +23950,7 @@ "MOVE_ENDURE", "MOVE_REVERSAL", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWAGGER" ], "TutorMoves": [ @@ -27284,7 +27284,7 @@ ], "EggMoves": [ "MOVE_EXTRASENSORY", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_SWAGGER", "MOVE_TAKE_DOWN" @@ -27405,7 +27405,7 @@ ], "EggMoves": [ "MOVE_EXTRASENSORY", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_SWAGGER", "MOVE_TAKE_DOWN" @@ -27532,7 +27532,7 @@ ], "EggMoves": [ "MOVE_EXTRASENSORY", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_SWAGGER", "MOVE_TAKE_DOWN" @@ -27598,7 +27598,7 @@ }, { "Level": 31, - "Move": "MOVE_SMELLING_SALT" + "Move": "MOVE_SMELLING_SALTS" }, { "Level": 37, @@ -27717,7 +27717,7 @@ }, { "Level": 33, - "Move": "MOVE_SMELLING_SALT" + "Move": "MOVE_SMELLING_SALTS" }, { "Level": 40, @@ -28461,7 +28461,7 @@ "EggMoves": [ "MOVE_BODY_SLAM", "MOVE_ENDEAVOR", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STOMP" ], "TutorMoves": [ @@ -28573,7 +28573,7 @@ "EggMoves": [ "MOVE_BODY_SLAM", "MOVE_ENDEAVOR", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STOMP" ], "TutorMoves": [ @@ -28698,7 +28698,7 @@ "EggMoves": [ "MOVE_BODY_SLAM", "MOVE_ENDEAVOR", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STOMP" ], "TutorMoves": [ @@ -30867,7 +30867,7 @@ "MOVE_DISABLE", "MOVE_ENCORE", "MOVE_ROCK_SLIDE", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_TRICK", "MOVE_WISH" ], diff --git a/tools/learnset_helpers/porymoves_files/sm.json b/tools/learnset_helpers/porymoves_files/sm.json index d79ab5c4e..627475970 100644 --- a/tools/learnset_helpers/porymoves_files/sm.json +++ b/tools/learnset_helpers/porymoves_files/sm.json @@ -6229,7 +6229,7 @@ "MOVE_REVENGE", "MOVE_REVERSAL", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [] }, @@ -6382,7 +6382,7 @@ "MOVE_REVENGE", "MOVE_REVERSAL", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [] }, @@ -7355,7 +7355,7 @@ "MOVE_POWER_TRICK", "MOVE_QUICK_GUARD", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH", "MOVE_TICKLE" ], @@ -7489,7 +7489,7 @@ "MOVE_POWER_TRICK", "MOVE_QUICK_GUARD", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH", "MOVE_TICKLE" ], @@ -7638,7 +7638,7 @@ "MOVE_POWER_TRICK", "MOVE_QUICK_GUARD", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH", "MOVE_TICKLE" ], @@ -12606,7 +12606,7 @@ "MOVE_MAGNITUDE", "MOVE_MUDDY_WATER", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_ZEN_HEADBUTT" ], @@ -24581,7 +24581,7 @@ "MOVE_METRONOME", "MOVE_MIMIC", "MOVE_PRESENT", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_THUNDER_FANG" ], @@ -24720,7 +24720,7 @@ "MOVE_METRONOME", "MOVE_MIMIC", "MOVE_PRESENT", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_THUNDER_FANG" ], @@ -30061,7 +30061,7 @@ "MOVE_LOW_KICK", "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_FIRE_PLEDGE" @@ -30192,7 +30192,7 @@ "MOVE_LOW_KICK", "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_FIRE_PLEDGE" @@ -30349,7 +30349,7 @@ "MOVE_LOW_KICK", "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_BLAST_BURN", @@ -34270,7 +34270,7 @@ "MOVE_EXTRASENSORY", "MOVE_FAKE_TEARS", "MOVE_HAMMER_ARM", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_TAKE_DOWN" @@ -34397,7 +34397,7 @@ "MOVE_EXTRASENSORY", "MOVE_FAKE_TEARS", "MOVE_HAMMER_ARM", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_TAKE_DOWN" @@ -34558,7 +34558,7 @@ "MOVE_EXTRASENSORY", "MOVE_FAKE_TEARS", "MOVE_HAMMER_ARM", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_TAKE_DOWN" @@ -34609,7 +34609,7 @@ }, { "Level": 28, - "Move": "MOVE_SMELLING_SALT" + "Move": "MOVE_SMELLING_SALTS" }, { "Level": 31, @@ -34742,7 +34742,7 @@ }, { "Level": 30, - "Move": "MOVE_SMELLING_SALT" + "Move": "MOVE_SMELLING_SALTS" }, { "Level": 34, @@ -35641,7 +35641,7 @@ "MOVE_IRON_HEAD", "MOVE_REVERSAL", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STEALTH_ROCK", "MOVE_STOMP", "MOVE_SUPERPOWER" @@ -35769,7 +35769,7 @@ "MOVE_IRON_HEAD", "MOVE_REVERSAL", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STEALTH_ROCK", "MOVE_STOMP", "MOVE_SUPERPOWER" @@ -35920,7 +35920,7 @@ "MOVE_IRON_HEAD", "MOVE_REVERSAL", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STEALTH_ROCK", "MOVE_STOMP", "MOVE_SUPERPOWER" @@ -38534,7 +38534,7 @@ "MOVE_PSYCHO_SHIFT", "MOVE_RAPID_SPIN", "MOVE_ROLE_PLAY", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SPOTLIGHT", "MOVE_TRICK", "MOVE_WATER_PULSE", @@ -39048,7 +39048,7 @@ "MOVE_NASTY_PLOT", "MOVE_ROTOTILLER", "MOVE_SEED_BOMB", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWITCHEROO", "MOVE_TEETER_DANCE", "MOVE_WORRY_SEED" @@ -39198,7 +39198,7 @@ "MOVE_NASTY_PLOT", "MOVE_ROTOTILLER", "MOVE_SEED_BOMB", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWITCHEROO", "MOVE_TEETER_DANCE", "MOVE_WORRY_SEED" @@ -52913,7 +52913,7 @@ "MOVE_ME_FIRST", "MOVE_MEDITATE", "MOVE_QUICK_GUARD", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VACUUM_WAVE", "MOVE_WAKE_UP_SLAP" ], @@ -53052,7 +53052,7 @@ "MOVE_ME_FIRST", "MOVE_MEDITATE", "MOVE_QUICK_GUARD", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VACUUM_WAVE", "MOVE_WAKE_UP_SLAP" ], @@ -54137,7 +54137,7 @@ "MOVE_MAGNITUDE", "MOVE_MUDDY_WATER", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_ZEN_HEADBUTT" ], @@ -62422,7 +62422,7 @@ "MOVE_FORESIGHT", "MOVE_MACH_PUNCH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_WIDE_GUARD" ], "TutorMoves": [] @@ -62546,7 +62546,7 @@ "MOVE_FORESIGHT", "MOVE_MACH_PUNCH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_WIDE_GUARD" ], "TutorMoves": [] @@ -62674,7 +62674,7 @@ "MOVE_FORESIGHT", "MOVE_MACH_PUNCH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_WIDE_GUARD" ], "TutorMoves": [] @@ -72602,7 +72602,7 @@ "MOVE_KNOCK_OFF", "MOVE_LOW_KICK", "MOVE_ME_FIRST", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VITAL_THROW" ], "TutorMoves": [] @@ -72745,7 +72745,7 @@ "MOVE_KNOCK_OFF", "MOVE_LOW_KICK", "MOVE_ME_FIRST", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VITAL_THROW" ], "TutorMoves": [] diff --git a/tools/learnset_helpers/porymoves_files/sv.json b/tools/learnset_helpers/porymoves_files/sv.json index 190b08461..b6f43b8d0 100644 --- a/tools/learnset_helpers/porymoves_files/sv.json +++ b/tools/learnset_helpers/porymoves_files/sv.json @@ -60044,7 +60044,7 @@ }, { "Level": 52, - "Move": "MOVE_FOREST\u2019S_CURSE" + "Move": "MOVE_FORESTS_CURSE" } ], "PreEvoMoves": [], @@ -60166,7 +60166,7 @@ }, { "Level": 52, - "Move": "MOVE_FOREST\u2019S_CURSE" + "Move": "MOVE_FORESTS_CURSE" } ], "PreEvoMoves": [], diff --git a/tools/learnset_helpers/porymoves_files/usum.json b/tools/learnset_helpers/porymoves_files/usum.json index 2587a7de8..c9cb1a97d 100644 --- a/tools/learnset_helpers/porymoves_files/usum.json +++ b/tools/learnset_helpers/porymoves_files/usum.json @@ -6867,7 +6867,7 @@ "MOVE_REVENGE", "MOVE_REVERSAL", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_COVET", @@ -7039,7 +7039,7 @@ "MOVE_REVENGE", "MOVE_REVERSAL", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_COVET", @@ -8149,7 +8149,7 @@ "MOVE_POWER_TRICK", "MOVE_QUICK_GUARD", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH", "MOVE_TICKLE" ], @@ -8295,7 +8295,7 @@ "MOVE_POWER_TRICK", "MOVE_QUICK_GUARD", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH", "MOVE_TICKLE" ], @@ -8457,7 +8457,7 @@ "MOVE_POWER_TRICK", "MOVE_QUICK_GUARD", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH", "MOVE_TICKLE" ], @@ -13908,7 +13908,7 @@ "MOVE_MAGNITUDE", "MOVE_MUDDY_WATER", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_THRASH", "MOVE_ZEN_HEADBUTT" @@ -27257,7 +27257,7 @@ "MOVE_METRONOME", "MOVE_MIMIC", "MOVE_PRESENT", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_THUNDER_FANG" ], @@ -27411,7 +27411,7 @@ "MOVE_METRONOME", "MOVE_MIMIC", "MOVE_PRESENT", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_THUNDER_FANG" ], @@ -33325,7 +33325,7 @@ "MOVE_LOW_KICK", "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_BOUNCE", @@ -33463,7 +33463,7 @@ "MOVE_LOW_KICK", "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_BOUNCE", @@ -33631,7 +33631,7 @@ "MOVE_LOW_KICK", "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_BLAST_BURN", @@ -37975,7 +37975,7 @@ "MOVE_EXTRASENSORY", "MOVE_FAKE_TEARS", "MOVE_HAMMER_ARM", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_TAKE_DOWN", @@ -38115,7 +38115,7 @@ "MOVE_EXTRASENSORY", "MOVE_FAKE_TEARS", "MOVE_HAMMER_ARM", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_TAKE_DOWN", @@ -38291,7 +38291,7 @@ "MOVE_EXTRASENSORY", "MOVE_FAKE_TEARS", "MOVE_HAMMER_ARM", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_TAKE_DOWN", @@ -38358,7 +38358,7 @@ }, { "Level": 28, - "Move": "MOVE_SMELLING_SALT" + "Move": "MOVE_SMELLING_SALTS" }, { "Level": 31, @@ -38502,7 +38502,7 @@ }, { "Level": 30, - "Move": "MOVE_SMELLING_SALT" + "Move": "MOVE_SMELLING_SALTS" }, { "Level": 34, @@ -39511,7 +39511,7 @@ "MOVE_IRON_HEAD", "MOVE_REVERSAL", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STEALTH_ROCK", "MOVE_STOMP", "MOVE_SUPERPOWER" @@ -39653,7 +39653,7 @@ "MOVE_IRON_HEAD", "MOVE_REVERSAL", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STEALTH_ROCK", "MOVE_STOMP", "MOVE_SUPERPOWER" @@ -39819,7 +39819,7 @@ "MOVE_IRON_HEAD", "MOVE_REVERSAL", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STEALTH_ROCK", "MOVE_STOMP", "MOVE_SUPERPOWER" @@ -42709,7 +42709,7 @@ "MOVE_PSYCHO_SHIFT", "MOVE_RAPID_SPIN", "MOVE_ROLE_PLAY", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SPOTLIGHT", "MOVE_TRICK", "MOVE_WATER_PULSE", @@ -43284,7 +43284,7 @@ "MOVE_POWER_UP_PUNCH", "MOVE_ROTOTILLER", "MOVE_SEED_BOMB", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWITCHEROO", "MOVE_TEETER_DANCE", "MOVE_WORRY_SEED" @@ -43448,7 +43448,7 @@ "MOVE_POWER_UP_PUNCH", "MOVE_ROTOTILLER", "MOVE_SEED_BOMB", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWITCHEROO", "MOVE_TEETER_DANCE", "MOVE_WORRY_SEED" @@ -58660,7 +58660,7 @@ "MOVE_ME_FIRST", "MOVE_MEDITATE", "MOVE_QUICK_GUARD", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VACUUM_WAVE", "MOVE_WAKE_UP_SLAP" ], @@ -58817,7 +58817,7 @@ "MOVE_ME_FIRST", "MOVE_MEDITATE", "MOVE_QUICK_GUARD", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VACUUM_WAVE", "MOVE_WAKE_UP_SLAP" ], @@ -60013,7 +60013,7 @@ "MOVE_MAGNITUDE", "MOVE_MUDDY_WATER", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_THRASH", "MOVE_ZEN_HEADBUTT" @@ -69340,7 +69340,7 @@ "MOVE_MACH_PUNCH", "MOVE_POWER_UP_PUNCH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_WIDE_GUARD" ], "TutorMoves": [ @@ -69477,7 +69477,7 @@ "MOVE_MACH_PUNCH", "MOVE_POWER_UP_PUNCH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_WIDE_GUARD" ], "TutorMoves": [ @@ -69618,7 +69618,7 @@ "MOVE_MACH_PUNCH", "MOVE_POWER_UP_PUNCH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_WIDE_GUARD" ], "TutorMoves": [ @@ -80651,7 +80651,7 @@ "MOVE_KNOCK_OFF", "MOVE_LOW_KICK", "MOVE_ME_FIRST", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VITAL_THROW" ], "TutorMoves": [ @@ -80805,7 +80805,7 @@ "MOVE_KNOCK_OFF", "MOVE_LOW_KICK", "MOVE_ME_FIRST", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VITAL_THROW" ], "TutorMoves": [ diff --git a/tools/learnset_helpers/porymoves_files/xy.json b/tools/learnset_helpers/porymoves_files/xy.json index 1cb68d527..d3f2d76d5 100644 --- a/tools/learnset_helpers/porymoves_files/xy.json +++ b/tools/learnset_helpers/porymoves_files/xy.json @@ -6251,7 +6251,7 @@ "MOVE_REVENGE", "MOVE_REVERSAL", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [] }, @@ -6392,7 +6392,7 @@ "MOVE_REVENGE", "MOVE_REVERSAL", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [] }, @@ -7365,7 +7365,7 @@ "MOVE_POWER_TRICK", "MOVE_QUICK_GUARD", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH", "MOVE_TICKLE" ], @@ -7492,7 +7492,7 @@ "MOVE_POWER_TRICK", "MOVE_QUICK_GUARD", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH", "MOVE_TICKLE" ], @@ -7626,7 +7626,7 @@ "MOVE_POWER_TRICK", "MOVE_QUICK_GUARD", "MOVE_ROLLING_KICK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_THUNDER_PUNCH", "MOVE_TICKLE" ], @@ -12530,7 +12530,7 @@ "MOVE_MAGNITUDE", "MOVE_MUDDY_WATER", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_ZEN_HEADBUTT" ], @@ -24501,7 +24501,7 @@ "MOVE_METRONOME", "MOVE_MIMIC", "MOVE_PRESENT", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_THUNDER_FANG" ], @@ -24645,7 +24645,7 @@ "MOVE_METRONOME", "MOVE_MIMIC", "MOVE_PRESENT", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_THUNDER_FANG" ], @@ -30010,7 +30010,7 @@ "MOVE_LOW_KICK", "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_FIRE_PLEDGE" @@ -30138,7 +30138,7 @@ "MOVE_LOW_KICK", "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_FIRE_PLEDGE" @@ -30291,7 +30291,7 @@ "MOVE_LOW_KICK", "MOVE_NIGHT_SLASH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT" + "MOVE_SMELLING_SALTS" ], "TutorMoves": [ "MOVE_BLAST_BURN", @@ -34074,7 +34074,7 @@ "MOVE_EXTRASENSORY", "MOVE_FAKE_TEARS", "MOVE_HAMMER_ARM", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_TAKE_DOWN" @@ -34197,7 +34197,7 @@ "MOVE_EXTRASENSORY", "MOVE_FAKE_TEARS", "MOVE_HAMMER_ARM", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_TAKE_DOWN" @@ -34352,7 +34352,7 @@ "MOVE_EXTRASENSORY", "MOVE_FAKE_TEARS", "MOVE_HAMMER_ARM", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SMOKESCREEN", "MOVE_SNORE", "MOVE_TAKE_DOWN" @@ -34395,7 +34395,7 @@ }, { "Level": 22, - "Move": "MOVE_SMELLING_SALT" + "Move": "MOVE_SMELLING_SALTS" }, { "Level": 25, @@ -34532,7 +34532,7 @@ }, { "Level": 22, - "Move": "MOVE_SMELLING_SALT" + "Move": "MOVE_SMELLING_SALTS" }, { "Level": 27, @@ -35457,7 +35457,7 @@ "MOVE_IRON_HEAD", "MOVE_REVERSAL", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STEALTH_ROCK", "MOVE_STOMP", "MOVE_SUPERPOWER" @@ -35582,7 +35582,7 @@ "MOVE_IRON_HEAD", "MOVE_REVERSAL", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STEALTH_ROCK", "MOVE_STOMP", "MOVE_SUPERPOWER" @@ -35730,7 +35730,7 @@ "MOVE_IRON_HEAD", "MOVE_REVERSAL", "MOVE_SCREECH", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_STEALTH_ROCK", "MOVE_STOMP", "MOVE_SUPERPOWER" @@ -38335,7 +38335,7 @@ "MOVE_PSYCHO_SHIFT", "MOVE_RAPID_SPIN", "MOVE_ROLE_PLAY", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_TRICK", "MOVE_WATER_PULSE", "MOVE_WISH" @@ -38856,7 +38856,7 @@ "MOVE_NASTY_PLOT", "MOVE_ROTOTILLER", "MOVE_SEED_BOMB", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWITCHEROO", "MOVE_TEETER_DANCE", "MOVE_WORRY_SEED" @@ -38999,7 +38999,7 @@ "MOVE_NASTY_PLOT", "MOVE_ROTOTILLER", "MOVE_SEED_BOMB", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SWITCHEROO", "MOVE_TEETER_DANCE", "MOVE_WORRY_SEED" @@ -52626,7 +52626,7 @@ "MOVE_ME_FIRST", "MOVE_MEDITATE", "MOVE_QUICK_GUARD", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VACUUM_WAVE", "MOVE_WAKE_UP_SLAP" ], @@ -52770,7 +52770,7 @@ "MOVE_ME_FIRST", "MOVE_MEDITATE", "MOVE_QUICK_GUARD", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VACUUM_WAVE", "MOVE_WAKE_UP_SLAP" ], @@ -53863,7 +53863,7 @@ "MOVE_MAGNITUDE", "MOVE_MUDDY_WATER", "MOVE_SLEEP_TALK", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_SNORE", "MOVE_ZEN_HEADBUTT" ], @@ -62168,7 +62168,7 @@ "MOVE_FORESIGHT", "MOVE_MACH_PUNCH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_WIDE_GUARD" ], "TutorMoves": [] @@ -62295,7 +62295,7 @@ "MOVE_FORESIGHT", "MOVE_MACH_PUNCH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_WIDE_GUARD" ], "TutorMoves": [] @@ -62426,7 +62426,7 @@ "MOVE_FORESIGHT", "MOVE_MACH_PUNCH", "MOVE_REVERSAL", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_WIDE_GUARD" ], "TutorMoves": [] @@ -72468,7 +72468,7 @@ "MOVE_KNOCK_OFF", "MOVE_LOW_KICK", "MOVE_ME_FIRST", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VITAL_THROW" ], "TutorMoves": [] @@ -72615,7 +72615,7 @@ "MOVE_KNOCK_OFF", "MOVE_LOW_KICK", "MOVE_ME_FIRST", - "MOVE_SMELLING_SALT", + "MOVE_SMELLING_SALTS", "MOVE_VITAL_THROW" ], "TutorMoves": [] diff --git a/tools/learnset_helpers/teachable.py b/tools/learnset_helpers/teachable.py deleted file mode 100644 index eb109e7a4..000000000 --- a/tools/learnset_helpers/teachable.py +++ /dev/null @@ -1,214 +0,0 @@ -import glob -import re -import json -import os - -# before all else, abort if the config is off -with open("./include/config/pokemon.h", "r") as file: - learnset_config = re.findall(r"#define P_LEARNSET_HELPER_TEACHABLE *([^ ]*)", file.read()) - if len(learnset_config) != 1: - quit() - if learnset_config[0] != "TRUE": - quit() - -def parse_mon_name(name): - return re.sub(r'(?!^)([A-Z]+)', r'_\1', name).upper() - -tm_moves = [] -tutor_moves = [] - -# scan incs -incs_to_check = glob.glob('./data/scripts/*.inc') # all .incs in the script folder -incs_to_check += glob.glob('./data/maps/*/scripts.inc') # all map scripts - -if len(incs_to_check) == 0: # disabled if no jsons present - quit() - -for file in incs_to_check: - with open(file, 'r') as f2: - raw = f2.read() - if 'special ChooseMonForMoveTutor' in raw: - for x in re.findall(r'setvar VAR_0x8005, (MOVE_.*)', raw): - if not x in tutor_moves: - tutor_moves.append(x) - -# scan TMs and HMs -with open("./include/constants/tms_hms.h", 'r') as file: - for x in re.findall(r'F\((.*)\)', file.read()): - if not 'MOVE_' + x in tm_moves: - tm_moves.append('MOVE_' + x) - -# look up universal moves to exclude them -universal_moves = [] -with open("./src/pokemon.c", "r") as file: - for x in re.findall(r"static const u16 sUniversalMoves\[\] =(.|\n)*?{((.|\n)*?)};", file.read())[0]: - x = x.replace("\n", "") - for y in x.split(","): - y = y.strip() - if y == "": - continue - universal_moves.append(y) - -# get compatibility from jsons -def construct_compatibility_dict(force_custom_check): - dict_out = {} - for pth in glob.glob('./tools/learnset_helpers/porymoves_files/*.json'): - f = open(pth, 'r') - data = json.load(f) - for mon in data.keys(): - if not mon in dict_out: - dict_out[mon] = [] - for move in data[mon]['LevelMoves']: - if not move['Move'] in dict_out[mon]: - dict_out[mon].append(move['Move']) - #for move in data[mon]['PreEvoMoves']: - # if not move in dict_out[mon]: - # dict_out[mon].append(move) - for move in data[mon]['TMMoves']: - if not move in dict_out[mon]: - dict_out[mon].append(move) - for move in data[mon]['EggMoves']: - if not move in dict_out[mon]: - dict_out[mon].append(move) - for move in data[mon]['TutorMoves']: - if not move in dict_out[mon]: - dict_out[mon].append(move) - - # if the file was not previously generated, check if there is custom data there that needs to be preserved - with open("./src/data/pokemon/teachable_learnsets.h", 'r') as file: - raw = file.read() - if not "// DO NOT MODIFY THIS FILE!" in raw and force_custom_check == True: - custom_teachable_compatibilities = {} - for entry in re.findall(r"static const u16 s(.*)TeachableLearnset\[\] = {\n((.|\n)*?)\n};", raw): - monname = parse_mon_name(entry[0]) - if monname == "NONE": - continue - compatibility = entry[1].split("\n") - if not monname in custom_teachable_compatibilities: - custom_teachable_compatibilities[monname] = [] - if not monname in dict_out: - # this mon is unknown, so all data needs to be preserved - for move in compatibility: - move = move.replace(",", "").strip() - if move == "" or move == "MOVE_UNAVAILABLE": - continue - custom_teachable_compatibilities[monname].append(move) - else: - # this mon is known, so check if the moves in the old teachable_learnsets.h are not in the jsons - for move in compatibility: - move = move.replace(",", "").strip() - if move == "" or move == "MOVE_UNAVAILABLE": - continue - if not move in dict_out[monname]: - custom_teachable_compatibilities[monname].append(move) - # actually store the data in custom.json - if os.path.exists("./tools/learnset_helpers/porymoves_files/custom.json"): - f2 = open("./tools/learnset_helpers/porymoves_files/custom.json", "r") - custom_json = json.load(f2) - f2.close() - else: - custom_json = {} - for x in custom_teachable_compatibilities: - if len(custom_teachable_compatibilities[x]) == 0: - continue - if not x in custom_json: - custom_json[x] = {"LevelMoves": [], "PreEvoMoves": [], "TMMoves": [], "EggMoves": [], "TutorMoves": []} - for move in custom_teachable_compatibilities[x]: - custom_json[x]["TutorMoves"].append(move) - f2 = open("./tools/learnset_helpers/porymoves_files/custom.json", "w") - f2.write(json.dumps(custom_json, indent=2)) - f2.close() - print("FIRST RUN: Updated custom.json with teachable_learnsets.h's data") - # rerun the process - dict_out = construct_compatibility_dict(False) - return dict_out - -compatibility_dict = construct_compatibility_dict(True) - -# actually prepare the file -with open("./src/data/pokemon/teachable_learnsets.h", 'r') as file: - out = file.read() - list_of_mons = re.findall(r'static const u16 s(.*)TeachableLearnset', out) -for mon in list_of_mons: - mon_parsed = parse_mon_name(mon) - tm_learnset = [] - tutor_learnset = [] - if mon_parsed == "NONE" or mon_parsed == "MEW": - continue - if not mon_parsed in compatibility_dict: - print("Unable to find %s in json" % mon) - continue - for move in tm_moves: - if move in universal_moves: - continue - if move in tm_learnset: - continue - if move in compatibility_dict[mon_parsed]: - tm_learnset.append(move) - continue - for move in tutor_moves: - if move in universal_moves: - continue - if move in tutor_learnset: - continue - if move in compatibility_dict[mon_parsed]: - tutor_learnset.append(move) - continue - tm_learnset.sort() - tutor_learnset.sort() - tm_learnset += tutor_learnset - repl = "static const u16 s%sTeachableLearnset[] = {\n " % mon - if len(tm_learnset) > 0: - repl += ",\n ".join(tm_learnset) + ",\n " - repl += "MOVE_UNAVAILABLE,\n};" - newout = re.sub(r'static const u16 s%sTeachableLearnset\[\] = {[\s\S]*?};' % mon, repl, out) - if newout != out: - out = newout - print("Updated %s" % mon) - -# add/update header -header = "//\n// DO NOT MODIFY THIS FILE! It is auto-generated from tools/learnset_helpers/teachable.py\n//\n\n" -longest_move_name = 0 -for move in tm_moves + tutor_moves: - if len(move) > longest_move_name: - longest_move_name = len(move) -longest_move_name += 2 # + 2 for a hyphen and a space - -universal_title = "Near-universal moves found in sUniversalMoves:" -tmhm_title = "TM/HM moves found in \"include/constants/tms_hms.h\":" -tutor_title = "Tutor moves found in map scripts:" - -if longest_move_name < len(universal_title): - longest_move_name = len(universal_title) -if longest_move_name < len(tmhm_title): - longest_move_name = len(tmhm_title) -if longest_move_name < len(tutor_title): - longest_move_name = len(tutor_title) - -def header_print(str): - global header - header += "// " + str + " " * (longest_move_name - len(str)) + " //\n" - -header += "// " + longest_move_name * "*" + " //\n" -header_print(tmhm_title) -for move in tm_moves: - header_print("- " + move) -header += "// " + longest_move_name * "*" + " //\n" -header_print(tutor_title) -tutor_moves.sort() # alphabetically sort tutor moves for easier referencing -for move in tutor_moves: - header_print("- " + move) -header += "// " + longest_move_name * "*" + " //\n" -header_print(universal_title) -universal_moves.sort() # alphabetically sort near-universal moves for easier referencing -for move in universal_moves: - header_print("- " + move) -header += "// " + longest_move_name * "*" + " //\n\n" - -if not "// DO NOT MODIFY THIS FILE!" in out: - out = header + out -else: - out = re.sub(r"\/\/\n\/\/ DO NOT MODIFY THIS FILE!(.|\n)*\* \/\/\n\n", header, out) - -with open("./src/data/pokemon/teachable_learnsets.h", 'w') as file: - file.write(out) diff --git a/tools/wild_encounters/wild_encounters_to_header.py b/tools/wild_encounters/wild_encounters_to_header.py new file mode 100644 index 000000000..b98662761 --- /dev/null +++ b/tools/wild_encounters/wild_encounters_to_header.py @@ -0,0 +1,687 @@ +import json +import re +import os + + +IS_ENABLED = False + +# C string vars +define = "#define" +ENCOUNTER_CHANCE = "ENCOUNTER_CHANCE" +SLOT = "SLOT" +TOTAL = "TOTAL" +NULL = "NULL" +UNDEFINED = "UNDEFINED" +MAP_UNDEFINED = "MAP_UNDEFINED" + +# encounter group header types, filled out programmatically +MON_HEADERS = [] + +# mon encounter group types +fieldData = [] +fieldInfoStrings = [] +fieldStrings = [] + +# time of day encounter data +TIME_DEFAULT = "" +TIME_DEFAULT_LABEL = "TIME_OF_DAY_DEFAULT" +TIME_DEFAULT_INDEX = 0 +TIMES_OF_DAY_COUNT = TIME_DEFAULT_INDEX + 1 + +# struct building blocks +baseStruct = "const struct WildPokemon" +structLabel = "" +structMonType = "" +structTime = "" +structMap = "" + +structInfo = "Info" +structHeader = "Header" +structArrayAssign = "[] =" + +baseStructLabel = "" +baseStructContent = [] +infoStructString = "" +infoStructRate = 0 +infoStructContent = [] +headerStructLabel = "" +headerStructContent = {} +headerStructTable = {} +headerIndex = 0 + +# map header data variables +hLabel = "" +hForMaps = True +headersArray = [headerIndex] + + + +# debug output control +mainSwitch = True +printWarningAndInclude = mainSwitch +printEncounterHeaders = mainSwitch +printEncounterRateMacros = mainSwitch +printEncounterStructsInfoString = mainSwitch +printEncounterStructs = mainSwitch + + +class TimeOfDay(): + def __init__(self): + self.vals = [] + self.lvals = [] + self.fvals = [] + self.count = 0 + + def __len__(self): + return self.count + + # for debugging purposes + def __str__(self): + return str([self.vals, self.lvals, self.fvals, self.count]) + + def add(self, val): + self.vals.append(val) + self.lvals.append(val.lower()) + self.fvals.append(GetTimeLabelFromString(val).capitalize()) + self.count += 1 + + def indexOf(self, val): + tempArr = [self.vals, self.lvals, self.fvals] + + for tvals in tempArr: + i = 0 + for time in tvals: + if val in time: + return i + + i += 1 + # return -1 here so it returns a consistent type and can be checked against < 0 + return -1 + + +def ImportWildEncounterFile(): + # make sure we're in the right directory before anything else + if not os.path.exists("Makefile"): + print("Please run this script from the project's root folder.") + quit() + + global MON_HEADERS + + global TIME_OF_DAY + TIME_OF_DAY = SetupUserTimeEnum(TimeOfDay()) + + global IS_ENABLED + global TIMES_OF_DAY_COUNT + if IsConfigEnabled(): + IS_ENABLED = True + TIMES_OF_DAY_COUNT = len(TIME_OF_DAY) + + global fieldInfoStrings + global fieldStrings + global structLabel + global structMonType + global structTime + global structMap + global baseStructLabel + global baseStructContent + global infoStructString + global infoStructRate + global headerStructLabel + global headerStructContent + global hLabel + global headersArray + global encounterTotalCount + global encounterCount + global headerIndex + global fieldData + global tabStr + tabStr = " " + + wFile = open("src/data/wild_encounters.json") + wData = json.load(wFile) + + encounterTotalCount = [] + encounterCount = [] + groupCount = 0 + while groupCount < len(wData["wild_encounter_groups"]): + encounterTotalCount.append(0) + encounterCount.append(0) + groupCount += 1 + + for data in wData["wild_encounter_groups"]: + wEncounters = wData["wild_encounter_groups"][headerIndex]["encounters"] + headerSuffix = structHeader + "s" + + if data["label"]: + hLabel = wData["wild_encounter_groups"][headerIndex]["label"] + if headerSuffix in hLabel: + hLabel = hLabel[:len(hLabel) - len(headerSuffix)] + MON_HEADERS.append(hLabel) + + if data["for_maps"]: + hForMaps = wData["wild_encounter_groups"][headerIndex]["for_maps"] + + # for the encounter rate macros, so we don't worry about hidden mons here + if headerIndex == 0: + wFields = wData["wild_encounter_groups"][headerIndex]["fields"] + fieldCounter = 0 + for field in wFields: + fieldData.append({}) + fieldData[fieldCounter]["name"] = field["type"] + fieldData[fieldCounter]["pascalName"] = GetPascalCase(field["type"]) + fieldData[fieldCounter]["snakeName"] = GetSnakeCase(field["type"]) + fieldData[fieldCounter]["encounter_rates"] = field["encounter_rates"] + + if "groups" in field: + fieldData[fieldCounter]["groups"] = field["groups"] + + if fieldCounter == len(wFields) - 1: + fieldData.append({}) + fieldData[fieldCounter + 1]["name"] = "hidden_mons" + fieldData[fieldCounter + 1]["pascalName"] = GetPascalCase("hidden_mons") + fieldData[fieldCounter + 1]["snakeName"] = GetSnakeCase("hidden_mons") + + fieldCounter += 1 + + if printWarningAndInclude: + PrintGeneratedWarningText() + print('#include "rtc.h"') + print("\n") + + PrintEncounterRateMacros() + + for encounter in wEncounters: + if "map" in encounter: + structMap = encounter["map"] + else: + structMap = encounter["base_label"] + + structLabel = encounter["base_label"] + + if encounterTotalCount[headerIndex] != len(wEncounters): + encounterTotalCount[headerIndex] = len(wEncounters) + + encounterCount[headerIndex] += 1 + headersArray = [] + + structTime = TIME_DEFAULT_INDEX + if IS_ENABLED: + timeCounter = 0 + while timeCounter < TIMES_OF_DAY_COUNT: + tempfTime = f"_{TIME_OF_DAY.fvals[timeCounter]}" + tempTime = TIME_OF_DAY.vals[timeCounter] + if tempfTime in structLabel or tempTime in structLabel: + structTime = timeCounter + + timeCounter += 1 + + fieldCounter = 0 + fieldInfoStrings = [] + while fieldCounter < len(fieldData): + fieldInfoStrings.append("") + fieldStrings.append("") + fieldCounter += 1 + + fieldCounter = 0 + while fieldCounter < len(fieldData): + for areaTable in encounter: + if fieldData[fieldCounter]["name"] in areaTable: + structMonType = fieldData[fieldCounter]["pascalName"] + if f"_{TIME_OF_DAY.fvals[structTime]}" in structLabel: + fieldInfoStrings[fieldCounter] = f"{structLabel}_{structMonType}{structInfo}" + fieldStrings[fieldCounter] = f"{structLabel}_{structMonType}" + else: + fieldInfoStrings[fieldCounter] = f"{structLabel}_{TIME_OF_DAY.fvals[structTime]}_{structMonType}{structInfo}" + fieldStrings[fieldCounter] = f"{structLabel}_{TIME_OF_DAY.fvals[structTime]}_{structMonType}" + else: + structMonType = "" + continue + + baseStructContent = [] + for group in encounter[areaTable]: + if "mons" in group: + for mon in encounter[areaTable][group]: + baseStructContent.append(list(mon.values())) + + if "encounter_rate" in group: + infoStructRate = encounter[areaTable][group] + + baseStructLabel = f"{baseStruct} {fieldStrings[fieldCounter]}{structArrayAssign}" + if printEncounterStructs: + print() + print(baseStructLabel) + print("{") + PrintStructContent(baseStructContent) + print("};") + + if printEncounterStructsInfoString: + infoStructString = f"{baseStruct}{structInfo} {fieldInfoStrings[fieldCounter]} = {{ {infoStructRate}, {fieldStrings[fieldCounter]} }};" + print(infoStructString) + + fieldCounter += 1 + AssembleMonHeaderContent() + headerIndex += 1 + PrintWildMonHeadersContent() + + +def PrintStructContent(contentList): + for monList in contentList: + print(f"{tabStr}{{ {monList[0]}, {monList[1]}, {monList[2]} }},") + return + + +def GetStructLabelWithoutTime(label): + labelLength = len(label) + timeLength = 0 + + if not IS_ENABLED: + return label + + timeCounter = 0 + while timeCounter < TIMES_OF_DAY_COUNT: + tempTime = TIME_OF_DAY.fvals[timeCounter] + if tempTime in label: + timeLength = len(tempTime) + return label[:(labelLength - (timeLength + 1))] + + timeCounter += 1 + return label + + +def GetStructTimeWithoutLabel(label): + if not IS_ENABLED: + return TIME_DEFAULT_INDEX + + timeCounter = 0 + while timeCounter < TIMES_OF_DAY_COUNT: + tempTime = f"_{TIME_OF_DAY.fvals[timeCounter]}" + if tempTime in label: + return timeCounter + + timeCounter += 1 + return TIME_DEFAULT_INDEX + + +def AssembleMonHeaderContent(): + SetupMonInfoVars() + + tempHeaderLabel = GetWildMonHeadersLabel() + tempHeaderTimeIndex = GetStructTimeWithoutLabel(structLabel) + structLabelNoTime = GetStructLabelWithoutTime(structLabel) + + if tempHeaderLabel not in headerStructTable: + headerStructTable[tempHeaderLabel] = {} + headerStructTable[tempHeaderLabel]["groupNum"] = headerIndex + + if structLabelNoTime not in headerStructTable[tempHeaderLabel]: + headerStructTable[tempHeaderLabel][structLabelNoTime] = {} + headerStructTable[tempHeaderLabel][structLabelNoTime]["headerType"] = GetWildMonHeadersLabel() + headerStructTable[tempHeaderLabel][structLabelNoTime]["mapGroup"] = structMap + headerStructTable[tempHeaderLabel][structLabelNoTime]["mapNum"] = structMap + headerStructTable[tempHeaderLabel][structLabelNoTime]["encounterTotalCount"] = encounterTotalCount[headerIndex] + headerStructTable[tempHeaderLabel][structLabelNoTime]["encounter_types"] = [] + + timeCounter = 0 + while timeCounter < TIMES_OF_DAY_COUNT: + headerStructTable[tempHeaderLabel][structLabelNoTime]["encounter_types"].append([]) + timeCounter += 1 + + fieldCounter = 0 + while fieldCounter < len(fieldData): + headerStructTable[tempHeaderLabel][structLabelNoTime]["encounter_types"][tempHeaderTimeIndex].append(fieldInfoStrings[fieldCounter]) + fieldCounter += 1 + + +def SetupMonInfoVars(): + i = 0 + while i < len(fieldData): + fieldData[i]["infoStringBase"] = "." + fieldData[i]["snakeName"] + structInfo + if CheckEmpty(fieldInfoStrings[i]): + fieldInfoStrings[i] = NULL + else: + fieldInfoStrings[i] = "&" + fieldInfoStrings[i] + + i += 1 + + +def PrintWildMonHeadersContent(): + groupCount = 0 + for group in headerStructTable: + labelCount = 0 + for label in headerStructTable[group]: + if label != "groupNum": + if labelCount == 0: + PrintEncounterHeaders("\n") + PrintEncounterHeaders(headerStructTable[group][label]["headerType"]) + + PrintEncounterHeaders(tabStr + "{") + + for stat in headerStructTable[group][label]: + mapData = headerStructTable[group][label][stat] + + if stat == "mapGroup": + PrintEncounterHeaders(f"{TabStr(2)}.mapGroup = {GetMapGroupEnum(mapData)},") + elif stat == "mapNum": + PrintEncounterHeaders(f"{TabStr(2)}.mapNum = {GetMapGroupEnum(mapData, labelCount + 1)},") + + if type(headerStructTable[group][label][stat]) == list: + PrintEncounterHeaders(f"{TabStr(2)}.encounterTypes =") + PrintEncounterHeaders(TabStr(2) + "{") + + timeCounter = 0 + while timeCounter < TIMES_OF_DAY_COUNT: + monInfo = headerStructTable[group][label][stat][timeCounter] + PrintEncounterHeaders(f"{TabStr(3)}[{TIME_OF_DAY.vals[timeCounter]}] = ") + + infoIndex = 0 + while infoIndex < len(fieldData): + if infoIndex == 0: + PrintEncounterHeaders(TabStr(3) + "{") + + if len(monInfo) == 0: + PrintEncounterHeaders(f"{TabStr(4)}{GetIMonInfoStringFromIndex(infoIndex)} = NULL,") + else: + PrintEncounterHeaders(f"{TabStr(4)}{GetIMonInfoStringFromIndex(infoIndex)} = {monInfo[infoIndex]},") + + if infoIndex == len(fieldData) - 1: + PrintEncounterHeaders(TabStr(3) + "},") + + infoIndex += 1 + timeCounter += 1 + PrintEncounterHeaders(TabStr(2) + "},") + PrintEncounterHeaders(tabStr + "},") + + if labelCount + 1 == headerStructTable[group][label]["encounterTotalCount"]: + PrintEncounterHeaders(tabStr + "{") + PrintEncounterHeaders(f"{TabStr(2)}.mapGroup = {GetMapGroupEnum(MAP_UNDEFINED)},") + PrintEncounterHeaders(f"{TabStr(2)}.mapNum = {GetMapGroupEnum(MAP_UNDEFINED, labelCount + 1)},") + + nullCount = 0 + while nullCount < TIMES_OF_DAY_COUNT: + if nullCount == 0: + PrintEncounterHeaders(f"{TabStr(2)}.encounterTypes =") + PrintEncounterHeaders(TabStr(2)+ "{") + + PrintEncounterHeaders(f"{TabStr(3)}[{TIME_OF_DAY.vals[nullCount]}] = ") + + nullIndex = 0 + while nullIndex <= len(fieldData) - 1: + if nullIndex == 0: + PrintEncounterHeaders(TabStr(3) + "{") + + PrintEncounterHeaders(f"{TabStr(4)}{GetIMonInfoStringFromIndex(nullIndex)} = NULL,") + + if nullIndex == len(fieldData) - 1: + PrintEncounterHeaders(TabStr(3) + "},") + + nullIndex += 1 + nullCount += 1 + PrintEncounterHeaders(TabStr(2) + "},") + PrintEncounterHeaders(tabStr + "},") + labelCount += 1 + groupCount += 1 + PrintEncounterHeaders("};") + + +def GetWildMonHeadersLabel(): + return f"{baseStruct}{structHeader} {MON_HEADERS[headerIndex]}{structHeader}s{structArrayAssign}" + "\n{" + + +def PrintEncounterHeaders(content): + if printEncounterHeaders: + print(content) + + +def PrintEncounterRateMacros(): + if not printEncounterRateMacros: + return + + fieldCounter = 0 + # len(fieldData) - 1 here so we skip hidden_mons + while fieldCounter < len(fieldData) - 1: + tempName = fieldData[fieldCounter]["name"].upper() + if "groups" not in fieldData[fieldCounter]: + rateCount = 0 + for percent in fieldData[fieldCounter]["encounter_rates"]: + if rateCount == 0: + print(f"{define} {ENCOUNTER_CHANCE}_{tempName}_{SLOT}_{rateCount} {percent}") + else: + print( + f"{define} {ENCOUNTER_CHANCE}_{tempName}_{SLOT}_{rateCount} {ENCOUNTER_CHANCE}_{tempName}_{SLOT}_{rateCount - 1} + {percent}" + ) + + if rateCount + 1 == len(fieldData[fieldCounter]["encounter_rates"]): + print( + f"{define} {ENCOUNTER_CHANCE}_{tempName}_{TOTAL} ({ENCOUNTER_CHANCE}_{tempName}_{SLOT}_{rateCount})" + ) + + rateCount += 1 + else: + rates = fieldData[fieldCounter]["encounter_rates"] + groups = fieldData[fieldCounter]["groups"] + + for method in groups: + method_indices = groups[method] + if not method_indices: + continue + + for i, methodPercentIndex in enumerate(method_indices): + if methodPercentIndex < 0 or methodPercentIndex >= len(rates): + print(f"#error Invalid fishing encounter rate index {methodPercentIndex} for {method.upper()}") + continue + + rate_value = rates[methodPercentIndex] + if i == 0: + print(f"{define} {ENCOUNTER_CHANCE}_{tempName}_{method.upper()}_{SLOT}_{methodPercentIndex} {rate_value}") + else: + previous_method_index = method_indices[i - 1] + print(f"{define} {ENCOUNTER_CHANCE}_{tempName}_{method.upper()}_{SLOT}_{methodPercentIndex} {ENCOUNTER_CHANCE}_{tempName}_{method.upper()}_{SLOT}_{previous_method_index} + {rate_value}") + + if i == len(method_indices) - 1: + print(f"{define} {ENCOUNTER_CHANCE}_{tempName}_{method.upper()}_{TOTAL} ({ENCOUNTER_CHANCE}_{tempName}_{method.upper()}_{SLOT}_{methodPercentIndex})") + + fieldCounter += 1 + print() + + +def GetTimeLabelFromString(string): + time = "TIME" + time_ = "TIME_" + + if string == "TIMES_OF_DAY_COUNT": + return string + + if time_ in string.upper(): + return string[len(time_):len(string)] + elif time in string.upper(): + return string[len(time):len(string)] + return string + + +def GetIMonInfoStringFromIndex(index): + return fieldData[index]["infoStringBase"] + + +def GetMapGroupEnum(string, index = 0): + if "MAP_" in string and index == 0: + return "MAP_GROUP(" + string[4:len(string)] + ")" + elif "MAP_" in string and index != 0: + return "MAP_NUM(" + string[4:len(string)] + ")" + return index + + +""" +get copied lhea :^ ) +- next three functions copied almost verbatim from @lhearachel's python scripts in tools/learnset_helpers +""" +def PrintGeneratedWarningText(): + print("//") + print("// DO NOT MODIFY THIS FILE! It is auto-generated by tools/wild_encounters/wild_encounters_to_header.py") + print("//") + print("\n") + + +def IsConfigEnabled(): + CONFIG_ENABLED_PAT = re.compile(r"#define OW_TIME_OF_DAY_ENCOUNTERS\s+(?P[^ ]*)") + + with open("./include/config/overworld.h", "r") as overworld_config_file: + config_overworld = overworld_config_file.read() + config_setting = CONFIG_ENABLED_PAT.search(config_overworld) + return config_setting is not None and config_setting.group("cfg_val") in ("TRUE", "1") + + +def GetTimeEnum(): + DEFAULT_TIME_PAT = re.compile(r"enum\s+TimeOfDay\s*\{(?P[\s*\w+,\=\d*]+)\s*\}\s*\;") + + with open("./include/rtc.h", "r") as rtc_include_file: + include_rtc = rtc_include_file.read() + include_enum = DEFAULT_TIME_PAT.search(include_rtc) + return include_enum.group("rtc_val") + + +def CheckEmpty(string): + return string == "" or string.isspace() or string == "\n" + + +def SetupUserTimeEnum(timeOfDay): + enum_string = GetTimeEnum() + enum_string = enum_string.split(",") + + # check for extra element from trailing comma + if CheckEmpty(enum_string[-1]): + enum_string.pop(-1) + + # we don't need the `TIMES_OF_DAY_COUNT` value, so - 1 from the value of len(enum_string) + strCount = 0 + while strCount < len(enum_string) - 1: + tempStr = enum_string[strCount].strip("\n ") + + """ + we need to ignore any value assignments, as the times will need to correspond + with the elements in the array. + """ + if "=" in tempStr: + tempStr = tempStr[0:tempStr.index("=")] + tempStr = tempStr.strip(" ") + + #double check we didn't catch any empty values + if not CheckEmpty(enum_string[strCount]): + timeOfDay.add(tempStr) + + strCount += 1 + return timeOfDay + + +def TabStr(amount): + return tabStr * amount + + +def GetPascalCase(string): + stringArray = string.split("_") + pascalString = "" + + for string in stringArray: + pascalString += string.capitalize() + return pascalString + + +def GetSnakeCase(string): + stringArray = string.split("_") + snakeString = "" + + i = 0 + for string in stringArray: + if i == 0: + snakeString += string + else: + snakeString += string.capitalize() + + i += 1 + return snakeString + + +def main(): + pass + + +if __name__ == "__main__": + ImportWildEncounterFile() + + +""" +!!!! EXAMPLE OUTPUT !!!! +- when OW_TIME_OF DAY_ENCOUNTERS is FALSE in configoverworld.h + +#define ENCOUNTER_CHANCE_LAND_MONS_SLOT_0 20 +#define ENCOUNTER_CHANCE_LAND_MONS_SLOT_1 ENCOUNTER_CHANCE_LAND_MONS_SLOT_0 + 20 +#define ENCOUNTER_CHANCE_LAND_MONS_SLOT_2 ENCOUNTER_CHANCE_LAND_MONS_SLOT_1 + 10 +#define ENCOUNTER_CHANCE_LAND_MONS_SLOT_3 ENCOUNTER_CHANCE_LAND_MONS_SLOT_2 + 10 +#define ENCOUNTER_CHANCE_LAND_MONS_SLOT_4 ENCOUNTER_CHANCE_LAND_MONS_SLOT_3 + 10 +#define ENCOUNTER_CHANCE_LAND_MONS_SLOT_5 ENCOUNTER_CHANCE_LAND_MONS_SLOT_4 + 10 +#define ENCOUNTER_CHANCE_LAND_MONS_SLOT_6 ENCOUNTER_CHANCE_LAND_MONS_SLOT_5 + 5 +#define ENCOUNTER_CHANCE_LAND_MONS_SLOT_7 ENCOUNTER_CHANCE_LAND_MONS_SLOT_6 + 5 +#define ENCOUNTER_CHANCE_LAND_MONS_SLOT_8 ENCOUNTER_CHANCE_LAND_MONS_SLOT_7 + 4 +#define ENCOUNTER_CHANCE_LAND_MONS_SLOT_9 ENCOUNTER_CHANCE_LAND_MONS_SLOT_8 + 4 +#define ENCOUNTER_CHANCE_LAND_MONS_SLOT_10 ENCOUNTER_CHANCE_LAND_MONS_SLOT_9 + 1 +#define ENCOUNTER_CHANCE_LAND_MONS_SLOT_11 ENCOUNTER_CHANCE_LAND_MONS_SLOT_10 + 1 +#define ENCOUNTER_CHANCE_LAND_MONS_TOTAL (ENCOUNTER_CHANCE_LAND_MONS_SLOT_11) +#define ENCOUNTER_CHANCE_WATER_MONS_SLOT_0 60 +#define ENCOUNTER_CHANCE_WATER_MONS_SLOT_1 ENCOUNTER_CHANCE_WATER_MONS_SLOT_0 + 30 +#define ENCOUNTER_CHANCE_WATER_MONS_SLOT_2 ENCOUNTER_CHANCE_WATER_MONS_SLOT_1 + 5 +#define ENCOUNTER_CHANCE_WATER_MONS_SLOT_3 ENCOUNTER_CHANCE_WATER_MONS_SLOT_2 + 4 +#define ENCOUNTER_CHANCE_WATER_MONS_SLOT_4 ENCOUNTER_CHANCE_WATER_MONS_SLOT_3 + 1 +#define ENCOUNTER_CHANCE_WATER_MONS_TOTAL (ENCOUNTER_CHANCE_WATER_MONS_SLOT_4) +#define ENCOUNTER_CHANCE_ROCK_SMASH_MONS_SLOT_0 60 +#define ENCOUNTER_CHANCE_ROCK_SMASH_MONS_SLOT_1 ENCOUNTER_CHANCE_ROCK_SMASH_MONS_SLOT_0 + 30 +#define ENCOUNTER_CHANCE_ROCK_SMASH_MONS_SLOT_2 ENCOUNTER_CHANCE_ROCK_SMASH_MONS_SLOT_1 + 5 +#define ENCOUNTER_CHANCE_ROCK_SMASH_MONS_SLOT_3 ENCOUNTER_CHANCE_ROCK_SMASH_MONS_SLOT_2 + 4 +#define ENCOUNTER_CHANCE_ROCK_SMASH_MONS_SLOT_4 ENCOUNTER_CHANCE_ROCK_SMASH_MONS_SLOT_3 + 1 +#define ENCOUNTER_CHANCE_ROCK_SMASH_MONS_TOTAL (ENCOUNTER_CHANCE_ROCK_SMASH_MONS_SLOT_4) +#define ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_2 60 +#define ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_3 ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_2 + 20 +#define ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_4 ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_3 + 20 +#define ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_TOTAL (ENCOUNTER_CHANCE_FISHING_MONS_GOOD_ROD_SLOT_4) +#define ENCOUNTER_CHANCE_FISHING_MONS_OLD_ROD_SLOT_0 70 +#define ENCOUNTER_CHANCE_FISHING_MONS_OLD_ROD_SLOT_1 ENCOUNTER_CHANCE_FISHING_MONS_OLD_ROD_SLOT_0 + 30 +#define ENCOUNTER_CHANCE_FISHING_MONS_OLD_ROD_TOTAL (ENCOUNTER_CHANCE_FISHING_MONS_OLD_ROD_SLOT_1) +#define ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_5 40 +#define ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_6 ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_5 + 40 +#define ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_7 ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_6 + 15 +#define ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_8 ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_7 + 4 +#define ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_9 ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_8 + 1 +#define ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_TOTAL (ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_9) + +const struct WildPokemon gRoute101_LandMons_Day[] = +{ + { 2, 2, SPECIES_WURMPLE }, + { 2, 2, SPECIES_POOCHYENA }, + { 2, 2, SPECIES_WURMPLE }, + { 3, 3, SPECIES_WURMPLE }, + { 3, 3, SPECIES_POOCHYENA }, + { 3, 3, SPECIES_POOCHYENA }, + { 3, 3, SPECIES_WURMPLE }, + { 3, 3, SPECIES_POOCHYENA }, + { 2, 2, SPECIES_ZIGZAGOON }, + { 2, 2, SPECIES_ZIGZAGOON }, + { 3, 3, SPECIES_ZIGZAGOON }, + { 3, 3, SPECIES_ZIGZAGOON }, +}; + +const struct WildPokemonInfo gRoute101_Day_LandMonsInfo= { 20, gRoute101_Day_LandMons }; +const struct WildPokemonHeader gWildMonHeaders[] = +{ + { + .mapGroup = MAP(ROUTE101), + .mapNum = MAP_NUM(ROUTE101), + .encounterTypes = + [OW_TIME_OF_DAY_DEFAULT] = + { + .encounterTypes[timeOfDay].landMonsInfo = &gRoute101_LandMonsInfo, + .encounterTypes[timeOfDay].waterMonsInfo = NULL, + .encounterTypes[timeOfDay].rockSmashMonsInfo = NULL, + .encounterTypes[timeOfDay].fishingMonsInfo = NULL, + .encounterTypes[timeOfDay].hiddenMonsInfo = NULL, + } + }, +} +"""