got evo.h working as the move file. added the constant EVO to include/config/general.h to be used for indicating which move generation. updated include/config/pokemon.h to reference EVO for movesets. confirmed it works by changing bulbasaurs moveset

This commit is contained in:
nicksnax 2026-03-17 17:12:29 +09:00
parent 383d49185b
commit e665b17248
5 changed files with 22885 additions and 2 deletions

View File

@ -68,6 +68,7 @@
#define GEN_7 6
#define GEN_8 7
#define GEN_9 8
#define EVO 9
#define GEN_COUNT 9
// Changing GEN_LATEST's value to a different Generation will change every default setting that uses it at once.
#define GEN_LATEST GEN_9

View File

@ -11,7 +11,8 @@
#define P_UPDATED_EXP_YIELDS GEN_LATEST // Since Gen 5, some Pokémon have received base Experience changes.
// Learnsets
#define P_LVL_UP_LEARNSETS GEN_LATEST // Choose which set of Level Up Learnsets to use.
//#define P_LVL_UP_LEARNSETS GEN_LATEST // Choose which set of Level Up Learnsets to use.
#define P_LVL_UP_LEARNSETS EVO // Choose which set of Level Up Learnsets to use.
// For generations that hadn't introduced a species yet, we use their first appearence (eg. Chikorita's Gen2 data if the config is set to GEN_1).
// For generations that don't include a previously introduced species, we use their last apperance (eg. Snivy's Gen7 data if the config is set to GEN_8).
// GEN_1/2/3/4/5/6/7: Yellow, Crystal, RSE, HGSS, B2W2, ORAS, USUM learnsets respectively.

View File

@ -8,6 +8,61 @@ static const struct LevelUpMove sNoneLevelUpLearnset[] = {
};
#endif
#if P_FAMILY_BULBASAUR
static const struct LevelUpMove sBulbasaurLevelUpLearnset[] = {
LEVEL_UP_MOVE( 4 , MOVE_GROWL),
LEVEL_UP_MOVE( 7 , MOVE_LEECH_SEED),
LEVEL_UP_MOVE( 10 , MOVE_VINE_WHIP),
LEVEL_UP_MOVE( 15 , MOVE_POISON_POWDER),
LEVEL_UP_MOVE( 15 , MOVE_SLEEP_POWDER),
LEVEL_UP_MOVE( 20 , MOVE_RAZOR_LEAF),
LEVEL_UP_MOVE( 25 , MOVE_SWEET_SCENT),
LEVEL_UP_MOVE( 28 , MOVE_SLUDGE_BOMB),
LEVEL_UP_MOVE( 32 , MOVE_GROWTH),
LEVEL_UP_MOVE( 36 , MOVE_GIGA_DRAIN),
LEVEL_UP_MOVE( 39 , MOVE_SYNTHESIS),
LEVEL_UP_MOVE( 46 , MOVE_SOLARBEAM),
LEVEL_UP_END
};
static const struct LevelUpMove sIvysaurLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1 , MOVE_GROWL),
LEVEL_UP_MOVE( 1 , MOVE_LEECH_SEED),
LEVEL_UP_MOVE( 4 , MOVE_GROWL),
LEVEL_UP_MOVE( 7 , MOVE_LEECH_SEED),
LEVEL_UP_MOVE( 10 , MOVE_VINE_WHIP),
LEVEL_UP_MOVE( 15 , MOVE_POISON_POWDER),
LEVEL_UP_MOVE( 15 , MOVE_SLEEP_POWDER),
LEVEL_UP_MOVE( 22 , MOVE_RAZOR_LEAF),
LEVEL_UP_MOVE( 29 , MOVE_SWEET_SCENT),
LEVEL_UP_MOVE( 32 , MOVE_SLUDGE_BOMB),
LEVEL_UP_MOVE( 38 , MOVE_GROWTH),
LEVEL_UP_MOVE( 43 , MOVE_GIGA_DRAIN),
LEVEL_UP_MOVE( 47 , MOVE_SYNTHESIS),
LEVEL_UP_MOVE( 56 , MOVE_SOLARBEAM),
LEVEL_UP_END
};
static const struct LevelUpMove sVenusaurLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1 , MOVE_GROWL),
LEVEL_UP_MOVE( 1 , MOVE_LEECH_SEED),
LEVEL_UP_MOVE( 1 , MOVE_VINE_WHIP),
LEVEL_UP_MOVE( 4 , MOVE_GROWL),
LEVEL_UP_MOVE( 7 , MOVE_LEECH_SEED),
LEVEL_UP_MOVE( 10 , MOVE_VINE_WHIP),
LEVEL_UP_MOVE( 15 , MOVE_POISON_POWDER),
LEVEL_UP_MOVE( 15 , MOVE_SLEEP_POWDER),
LEVEL_UP_MOVE( 22 , MOVE_RAZOR_LEAF),
LEVEL_UP_MOVE( 29 , MOVE_SWEET_SCENT),
LEVEL_UP_MOVE( 34 , MOVE_SLUDGE_BOMB),
LEVEL_UP_MOVE( 41 , MOVE_GROWTH),
LEVEL_UP_MOVE( 46 , MOVE_GIGA_DRAIN),
LEVEL_UP_MOVE( 53 , MOVE_SYNTHESIS),
LEVEL_UP_MOVE( 65 , MOVE_SOLARBEAM),
LEVEL_UP_MOVE( 70 , MOVE_FRENZY_PLANT),
LEVEL_UP_END
};
static const struct LevelUpMove sEcosaurLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1 , MOVE_GROWL),
LEVEL_UP_MOVE( 1 , MOVE_LEECH_SEED),
@ -47,3 +102,494 @@ static const struct LevelUpMove sTerarisaurLevelUpLearnset[] = {
LEVEL_UP_MOVE( 70 , MOVE_FRENZY_PLANT),
LEVEL_UP_END
};
static const struct LevelUpMove sSymbisaurLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1 , MOVE_GROWL),
LEVEL_UP_MOVE( 1 , MOVE_LEECH_SEED),
LEVEL_UP_MOVE( 1 , MOVE_VINE_WHIP),
LEVEL_UP_MOVE( 4 , MOVE_GROWL),
LEVEL_UP_MOVE( 7 , MOVE_LEECH_SEED),
LEVEL_UP_MOVE( 10 , MOVE_VINE_WHIP),
LEVEL_UP_MOVE( 15 , MOVE_POISON_POWDER),
LEVEL_UP_MOVE( 15 , MOVE_SLEEP_POWDER),
LEVEL_UP_MOVE( 22 , MOVE_RAZOR_LEAF),
LEVEL_UP_MOVE( 29 , MOVE_SWEET_SCENT),
LEVEL_UP_MOVE( 34 , MOVE_SLUDGE_BOMB),
LEVEL_UP_MOVE( 41 , MOVE_GROWTH),
LEVEL_UP_MOVE( 46 , MOVE_GIGA_DRAIN),
LEVEL_UP_MOVE( 53 , MOVE_SYNTHESIS),
LEVEL_UP_MOVE( 65 , MOVE_SOLARBEAM),
LEVEL_UP_MOVE( 70 , MOVE_FRENZY_PLANT),
LEVEL_UP_END
};
#endif
#if P_FAMILY_CHARMANDER
static const struct LevelUpMove sCharmanderLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1 , MOVE_GROWL),
LEVEL_UP_MOVE( 7 , MOVE_EMBER),
LEVEL_UP_MOVE( 13 , MOVE_METAL_CLAW),
LEVEL_UP_MOVE( 14 , MOVE_SMOKESCREEN),
LEVEL_UP_MOVE( 19 , MOVE_FIRE_SPIN),
LEVEL_UP_MOVE( 25 , MOVE_SCARY_FACE),
LEVEL_UP_MOVE( 31 , MOVE_FLAMETHROWER),
LEVEL_UP_MOVE( 37 , MOVE_SLASH),
LEVEL_UP_MOVE( 43 , MOVE_DRAGONBREATH),
LEVEL_UP_MOVE( 49 , MOVE_HEAT_WAVE),
LEVEL_UP_END
};
static const struct LevelUpMove sCharmeleonLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1 , MOVE_GROWL),
LEVEL_UP_MOVE( 1 , MOVE_EMBER),
LEVEL_UP_MOVE( 7 , MOVE_EMBER),
LEVEL_UP_MOVE( 13 , MOVE_METAL_CLAW),
LEVEL_UP_MOVE( 16 , MOVE_SMOKESCREEN),
LEVEL_UP_MOVE( 20 , MOVE_FIRE_SPIN),
LEVEL_UP_MOVE( 27 , MOVE_SCARY_FACE),
LEVEL_UP_MOVE( 34 , MOVE_FLAMETHROWER),
LEVEL_UP_MOVE( 41 , MOVE_SLASH),
LEVEL_UP_MOVE( 48 , MOVE_DRAGONBREATH),
LEVEL_UP_MOVE( 55 , MOVE_HEAT_WAVE),
LEVEL_UP_END
};
static const struct LevelUpMove sCharizardLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1 , MOVE_SCRATCH),
LEVEL_UP_MOVE( 1 , MOVE_GROWL),
LEVEL_UP_MOVE( 1 , MOVE_EMBER),
LEVEL_UP_MOVE( 1 , MOVE_METAL_CLAW),
LEVEL_UP_MOVE( 7 , MOVE_EMBER),
LEVEL_UP_MOVE( 13 , MOVE_METAL_CLAW),
LEVEL_UP_MOVE( 20 , MOVE_SMOKESCREEN),
LEVEL_UP_MOVE( 27 , MOVE_SCARY_FACE),
LEVEL_UP_MOVE( 34 , MOVE_FLAMETHROWER),
LEVEL_UP_MOVE( 36 , MOVE_WING_ATTACK),
LEVEL_UP_MOVE( 44 , MOVE_SLASH),
LEVEL_UP_MOVE( 54 , MOVE_DRAGONBREATH),
LEVEL_UP_MOVE( 64 , MOVE_HEAT_WAVE),
LEVEL_UP_END
};
static const struct LevelUpMove sChariguanaLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1 , MOVE_SCRATCH),
LEVEL_UP_MOVE( 1 , MOVE_GROWL),
LEVEL_UP_MOVE( 1 , MOVE_EMBER),
LEVEL_UP_MOVE( 1 , MOVE_METAL_CLAW),
LEVEL_UP_MOVE( 7 , MOVE_EMBER),
LEVEL_UP_MOVE( 13 , MOVE_METAL_CLAW),
LEVEL_UP_MOVE( 16 , MOVE_SMOKESCREEN),
LEVEL_UP_MOVE( 23 , MOVE_FIRE_SPIN),
LEVEL_UP_MOVE( 27 , MOVE_SCARY_FACE),
LEVEL_UP_MOVE( 34 , MOVE_FLAMETHROWER),
LEVEL_UP_MOVE( 36 , MOVE_WING_ATTACK),
LEVEL_UP_MOVE( 44 , MOVE_SLASH),
LEVEL_UP_MOVE( 54 , MOVE_DRAGONBREATH),
LEVEL_UP_MOVE( 64 , MOVE_HEAT_WAVE),
LEVEL_UP_END
};
static const struct LevelUpMove sCharianaLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1 , MOVE_SCRATCH),
LEVEL_UP_MOVE( 1 , MOVE_GROWL),
LEVEL_UP_MOVE( 1 , MOVE_EMBER),
LEVEL_UP_MOVE( 1 , MOVE_METAL_CLAW),
LEVEL_UP_MOVE( 7 , MOVE_EMBER),
LEVEL_UP_MOVE( 13 , MOVE_METAL_CLAW),
LEVEL_UP_MOVE( 16 , MOVE_SMOKESCREEN),
LEVEL_UP_MOVE( 23 , MOVE_FIRE_SPIN),
LEVEL_UP_MOVE( 27 , MOVE_SCARY_FACE),
LEVEL_UP_MOVE( 34 , MOVE_FLAMETHROWER),
LEVEL_UP_MOVE( 36 , MOVE_WING_ATTACK),
LEVEL_UP_MOVE( 44 , MOVE_SLASH),
LEVEL_UP_MOVE( 54 , MOVE_DRAGONBREATH),
LEVEL_UP_MOVE( 64 , MOVE_HEAT_WAVE),
LEVEL_UP_MOVE( 70 , MOVE_HYDRO_PUMP),
LEVEL_UP_END
};
static const struct LevelUpMove sChariathanLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1 , MOVE_SCRATCH),
LEVEL_UP_MOVE( 1 , MOVE_GROWL),
LEVEL_UP_MOVE( 1 , MOVE_EMBER),
LEVEL_UP_MOVE( 1 , MOVE_METAL_CLAW),
LEVEL_UP_MOVE( 7 , MOVE_EMBER),
LEVEL_UP_MOVE( 13 , MOVE_METAL_CLAW),
LEVEL_UP_MOVE( 16 , MOVE_SMOKESCREEN),
LEVEL_UP_MOVE( 23 , MOVE_FIRE_SPIN),
LEVEL_UP_MOVE( 27 , MOVE_SCARY_FACE),
LEVEL_UP_MOVE( 34 , MOVE_FLAMETHROWER),
LEVEL_UP_MOVE( 36 , MOVE_WING_ATTACK),
LEVEL_UP_MOVE( 44 , MOVE_SLASH),
LEVEL_UP_MOVE( 54 , MOVE_DRAGONBREATH),
LEVEL_UP_MOVE( 64 , MOVE_HEAT_WAVE),
LEVEL_UP_MOVE( 70 , MOVE_HYDRO_PUMP),
LEVEL_UP_END
};
#endif
#if P_FAMILY_SQUIRTLE
static const struct LevelUpMove sSquirtleLevelUpLearnset[] = {
LEVEL_UP_MOVE( 4 , MOVE_TAIL_WHIP),
LEVEL_UP_MOVE( 7 , MOVE_BUBBLE),
LEVEL_UP_MOVE( 10 , MOVE_WITHDRAW),
LEVEL_UP_MOVE( 13 , MOVE_WATER_GUN),
LEVEL_UP_MOVE( 18 , MOVE_BITE),
LEVEL_UP_MOVE( 21 , MOVE_RAPID_SPIN),
LEVEL_UP_MOVE( 24 , MOVE_BUBBLEBEAM),
LEVEL_UP_MOVE( 28 , MOVE_PROTECT),
LEVEL_UP_MOVE( 33 , MOVE_RAIN_DANCE),
LEVEL_UP_MOVE( 40 , MOVE_SKULL_BASH),
LEVEL_UP_MOVE( 47 , MOVE_HYDRO_PUMP),
LEVEL_UP_END
};
static const struct LevelUpMove sWartortleLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1 , MOVE_TAIL_WHIP),
LEVEL_UP_MOVE( 1 , MOVE_BUBBLE),
LEVEL_UP_MOVE( 4 , MOVE_TAIL_WHIP),
LEVEL_UP_MOVE( 7 , MOVE_BUBBLE),
LEVEL_UP_MOVE( 10 , MOVE_WITHDRAW),
LEVEL_UP_MOVE( 13 , MOVE_WATER_GUN),
LEVEL_UP_MOVE( 19 , MOVE_BITE),
LEVEL_UP_MOVE( 22 , MOVE_RAPID_SPIN),
LEVEL_UP_MOVE( 25 , MOVE_BUBBLEBEAM),
LEVEL_UP_MOVE( 31 , MOVE_PROTECT),
LEVEL_UP_MOVE( 37 , MOVE_RAIN_DANCE),
LEVEL_UP_MOVE( 45 , MOVE_SKULL_BASH),
LEVEL_UP_MOVE( 53 , MOVE_HYDRO_PUMP),
LEVEL_UP_END
};
static const struct LevelUpMove sBlastoiseLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1 , MOVE_TAIL_WHIP),
LEVEL_UP_MOVE( 1 , MOVE_BUBBLE),
LEVEL_UP_MOVE( 1 , MOVE_WITHDRAW),
LEVEL_UP_MOVE( 4 , MOVE_TAIL_WHIP),
LEVEL_UP_MOVE( 7 , MOVE_BUBBLE),
LEVEL_UP_MOVE( 10 , MOVE_WITHDRAW),
LEVEL_UP_MOVE( 13 , MOVE_WATER_GUN),
LEVEL_UP_MOVE( 19 , MOVE_BITE),
LEVEL_UP_MOVE( 22 , MOVE_RAPID_SPIN),
LEVEL_UP_MOVE( 25 , MOVE_BUBBLEBEAM),
LEVEL_UP_MOVE( 31 , MOVE_PROTECT),
LEVEL_UP_MOVE( 42 , MOVE_RAIN_DANCE),
LEVEL_UP_MOVE( 55 , MOVE_SKULL_BASH),
LEVEL_UP_MOVE( 68 , MOVE_HYDRO_PUMP),
LEVEL_UP_END
};
static const struct LevelUpMove sFerrapinLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1 , MOVE_TAIL_WHIP),
LEVEL_UP_MOVE( 1 , MOVE_BUBBLE),
LEVEL_UP_MOVE( 1 , MOVE_WITHDRAW),
LEVEL_UP_MOVE( 4 , MOVE_TAIL_WHIP),
LEVEL_UP_MOVE( 7 , MOVE_BUBBLE),
LEVEL_UP_MOVE( 10 , MOVE_WITHDRAW),
LEVEL_UP_MOVE( 13 , MOVE_WATER_GUN),
LEVEL_UP_MOVE( 19 , MOVE_BITE),
LEVEL_UP_MOVE( 22 , MOVE_RAPID_SPIN),
LEVEL_UP_MOVE( 25 , MOVE_BUBBLEBEAM),
LEVEL_UP_MOVE( 31 , MOVE_PROTECT),
LEVEL_UP_MOVE( 42 , MOVE_RAIN_DANCE),
LEVEL_UP_MOVE( 55 , MOVE_SKULL_BASH),
LEVEL_UP_MOVE( 68 , MOVE_HYDRO_PUMP),
LEVEL_UP_END
};
static const struct LevelUpMove sFortoiseLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1 , MOVE_TAIL_WHIP),
LEVEL_UP_MOVE( 1 , MOVE_BUBBLE),
LEVEL_UP_MOVE( 1 , MOVE_WITHDRAW),
LEVEL_UP_MOVE( 4 , MOVE_TAIL_WHIP),
LEVEL_UP_MOVE( 7 , MOVE_BUBBLE),
LEVEL_UP_MOVE( 10 , MOVE_WITHDRAW),
LEVEL_UP_MOVE( 13 , MOVE_WATER_GUN),
LEVEL_UP_MOVE( 19 , MOVE_BITE),
LEVEL_UP_MOVE( 22 , MOVE_RAPID_SPIN),
LEVEL_UP_MOVE( 25 , MOVE_BUBBLEBEAM),
LEVEL_UP_MOVE( 31 , MOVE_PROTECT),
LEVEL_UP_MOVE( 42 , MOVE_RAIN_DANCE),
LEVEL_UP_MOVE( 52 , MOVE_FLASH_CANNON),
LEVEL_UP_MOVE( 55 , MOVE_SKULL_BASH),
LEVEL_UP_MOVE( 68 , MOVE_HYDRO_PUMP),
LEVEL_UP_END
};
static const struct LevelUpMove sTurtilleryLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1 , MOVE_TAIL_WHIP),
LEVEL_UP_MOVE( 1 , MOVE_BUBBLE),
LEVEL_UP_MOVE( 1 , MOVE_WITHDRAW),
LEVEL_UP_MOVE( 4 , MOVE_TAIL_WHIP),
LEVEL_UP_MOVE( 7 , MOVE_BUBBLE),
LEVEL_UP_MOVE( 10 , MOVE_WITHDRAW),
LEVEL_UP_MOVE( 13 , MOVE_WATER_GUN),
LEVEL_UP_MOVE( 19 , MOVE_BITE),
LEVEL_UP_MOVE( 22 , MOVE_RAPID_SPIN),
LEVEL_UP_MOVE( 25 , MOVE_BUBBLEBEAM),
LEVEL_UP_MOVE( 31 , MOVE_PROTECT),
LEVEL_UP_MOVE( 42 , MOVE_RAIN_DANCE),
LEVEL_UP_MOVE( 52 , MOVE_FLASH_CANNON),
LEVEL_UP_MOVE( 55 , MOVE_SKULL_BASH),
LEVEL_UP_MOVE( 68 , MOVE_HYDRO_PUMP),
LEVEL_UP_END
};
#endif
#if P_FAMILY_CATERPIE
static const struct LevelUpMove sCaterpieLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1 , MOVE_STRING_SHOT),
LEVEL_UP_END
};
static const struct LevelUpMove sMetapodLevelUpLearnset[] = {
LEVEL_UP_MOVE( 7 , MOVE_HARDEN),
LEVEL_UP_END
};
static const struct LevelUpMove sButterfreeLevelUpLearnset[] = {
LEVEL_UP_MOVE( 10 , MOVE_CONFUSION),
LEVEL_UP_MOVE( 13 , MOVE_POISON_POWDER),
LEVEL_UP_MOVE( 14 , MOVE_STUN_SPORE),
LEVEL_UP_MOVE( 15 , MOVE_SLEEP_POWDER),
LEVEL_UP_MOVE( 18 , MOVE_SUPERSONIC),
LEVEL_UP_MOVE( 23 , MOVE_WHIRLWIND),
LEVEL_UP_MOVE( 28 , MOVE_GUST),
LEVEL_UP_MOVE( 34 , MOVE_PSYBEAM),
LEVEL_UP_MOVE( 40 , MOVE_SAFEGUARD),
LEVEL_UP_MOVE( 47 , MOVE_SILVER_WIND),
LEVEL_UP_END
};
static const struct LevelUpMove sButteflareLevelUpLearnset[] = {
LEVEL_UP_MOVE( 10 , MOVE_CONFUSION),
LEVEL_UP_MOVE( 11 , MOVE_EMBER),
LEVEL_UP_MOVE( 13 , MOVE_POISON_POWDER),
LEVEL_UP_MOVE( 14 , MOVE_STUN_SPORE),
LEVEL_UP_MOVE( 15 , MOVE_SLEEP_POWDER),
LEVEL_UP_MOVE( 18 , MOVE_SUPERSONIC),
LEVEL_UP_MOVE( 22 , MOVE_FIRE_SPIN),
LEVEL_UP_MOVE( 23 , MOVE_WHIRLWIND),
LEVEL_UP_MOVE( 25 , MOVE_WILL_O_WISP),
LEVEL_UP_MOVE( 28 , MOVE_GUST),
LEVEL_UP_MOVE( 34 , MOVE_PSYBEAM),
LEVEL_UP_MOVE( 40 , MOVE_SAFEGUARD),
LEVEL_UP_MOVE( 47 , MOVE_SILVER_WIND),
LEVEL_UP_END
};
static const struct LevelUpMove sPyrefreeLevelUpLearnset[] = {
LEVEL_UP_MOVE( 10 , MOVE_CONFUSION),
LEVEL_UP_MOVE( 11 , MOVE_EMBER),
LEVEL_UP_MOVE( 13 , MOVE_POISON_POWDER),
LEVEL_UP_MOVE( 14 , MOVE_STUN_SPORE),
LEVEL_UP_MOVE( 15 , MOVE_SLEEP_POWDER),
LEVEL_UP_MOVE( 18 , MOVE_SUPERSONIC),
LEVEL_UP_MOVE( 23 , MOVE_GUST),
LEVEL_UP_MOVE( 25 , MOVE_FIRE_SPIN),
LEVEL_UP_MOVE( 28 , MOVE_WILL_O_WISP),
LEVEL_UP_MOVE( 34 , MOVE_HEAT_WAVE),
LEVEL_UP_MOVE( 36 , MOVE_WEATHER_BALL),
LEVEL_UP_MOVE( 40 , MOVE_AIR_CUTTER),
LEVEL_UP_MOVE( 47 , MOVE_OVERHEAT),
LEVEL_UP_END
};
static const struct LevelUpMove sImpsectLevelUpLearnset[] = {
LEVEL_UP_MOVE( 10 , MOVE_CONFUSION),
LEVEL_UP_MOVE( 11 , MOVE_EMBER),
LEVEL_UP_MOVE( 13 , MOVE_POISON_POWDER),
LEVEL_UP_MOVE( 14 , MOVE_STUN_SPORE),
LEVEL_UP_MOVE( 15 , MOVE_SLEEP_POWDER),
LEVEL_UP_MOVE( 18 , MOVE_SUPERSONIC),
LEVEL_UP_MOVE( 23 , MOVE_GUST),
LEVEL_UP_MOVE( 25 , MOVE_WILL_O_WISP),
LEVEL_UP_MOVE( 28 , MOVE_WHIRLWIND),
LEVEL_UP_MOVE( 34 , MOVE_HEAT_WAVE),
LEVEL_UP_MOVE( 36 , MOVE_WEATHER_BALL),
LEVEL_UP_MOVE( 40 , MOVE_AIR_CUTTER),
LEVEL_UP_MOVE( 45 , MOVE_OVERHEAT),
LEVEL_UP_MOVE( 47 , MOVE_SUNNY_DAY),
LEVEL_UP_MOVE( 50 , MOVE_FLAMETHROWER),
LEVEL_UP_MOVE( 55 , MOVE_ERUPTION),
LEVEL_UP_MOVE( 60 , MOVE_BUG_BUZZ),
LEVEL_UP_END
};
#endif
#if P_FAMILY_WEEDLE
static const struct LevelUpMove sWeedleLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1 , MOVE_STRING_SHOT),
LEVEL_UP_END
};
static const struct LevelUpMove sKakunaLevelUpLearnset[] = {
LEVEL_UP_MOVE( 7 , MOVE_HARDEN),
LEVEL_UP_END
};
static const struct LevelUpMove sBeedrillLevelUpLearnset[] = {
LEVEL_UP_MOVE( 10 , MOVE_FURY_ATTACK),
LEVEL_UP_MOVE( 15 , MOVE_FOCUS_ENERGY),
LEVEL_UP_MOVE( 20 , MOVE_TWINEEDLE),
LEVEL_UP_MOVE( 25 , MOVE_RAGE),
LEVEL_UP_MOVE( 30 , MOVE_PURSUIT),
LEVEL_UP_MOVE( 35 , MOVE_PIN_MISSILE),
LEVEL_UP_MOVE( 40 , MOVE_AGILITY),
LEVEL_UP_MOVE( 45 , MOVE_ENDEAVOR),
LEVEL_UP_END
};
static const struct LevelUpMove sBeebruteLevelUpLearnset[] = {
LEVEL_UP_MOVE( 10 , MOVE_FURY_ATTACK),
LEVEL_UP_MOVE( 15 , MOVE_FOCUS_ENERGY),
LEVEL_UP_MOVE( 20 , MOVE_TWINEEDLE),
LEVEL_UP_MOVE( 25 , MOVE_RAGE),
LEVEL_UP_MOVE( 25 , MOVE_BULK_UP),
LEVEL_UP_MOVE( 30 , MOVE_PURSUIT),
LEVEL_UP_MOVE( 35 , MOVE_PIN_MISSILE),
LEVEL_UP_MOVE( 40 , MOVE_MEGAHORN),
LEVEL_UP_MOVE( 50 , MOVE_ENDEAVOR),
LEVEL_UP_END
};
static const struct LevelUpMove sDronarchLevelUpLearnset[] = {
LEVEL_UP_MOVE( 5 , MOVE_BIDE),
LEVEL_UP_MOVE( 10 , MOVE_FURY_ATTACK),
LEVEL_UP_MOVE( 15 , MOVE_FOCUS_ENERGY),
LEVEL_UP_MOVE( 20 , MOVE_TWINEEDLE),
LEVEL_UP_MOVE( 25 , MOVE_RAGE),
LEVEL_UP_MOVE( 25 , MOVE_BULK_UP),
LEVEL_UP_MOVE( 30 , MOVE_PURSUIT),
LEVEL_UP_MOVE( 30 , MOVE_PIN_MISSILE),
LEVEL_UP_MOVE( 36 , MOVE_PROTECT),
LEVEL_UP_MOVE( 36 , MOVE_REFLECT),
LEVEL_UP_MOVE( 36 , MOVE_LIGHT_SCREEN),
LEVEL_UP_MOVE( 36 , MOVE_BARRIER),
LEVEL_UP_MOVE( 40 , MOVE_MEGAHORN),
LEVEL_UP_MOVE( 45 , MOVE_POISON_JAB),
LEVEL_UP_MOVE( 45 , MOVE_SPIKE_CANNON),
LEVEL_UP_MOVE( 50 , MOVE_ENDEAVOR),
LEVEL_UP_END
};
static const struct LevelUpMove sSepistrikeLevelUpLearnset[] = {
LEVEL_UP_MOVE( 10 , MOVE_FURY_ATTACK),
LEVEL_UP_MOVE( 15 , MOVE_FOCUS_ENERGY),
LEVEL_UP_MOVE( 20 , MOVE_TWINEEDLE),
LEVEL_UP_MOVE( 25 , MOVE_RAGE),
LEVEL_UP_MOVE( 30 , MOVE_PURSUIT),
LEVEL_UP_MOVE( 30 , MOVE_SLASH),
LEVEL_UP_MOVE( 35 , MOVE_PIN_MISSILE),
LEVEL_UP_MOVE( 36 , MOVE_SWORDS_DANCE),
LEVEL_UP_MOVE( 36 , MOVE_ENCORE),
LEVEL_UP_MOVE( 40 , MOVE_AGILITY),
LEVEL_UP_MOVE( 40 , MOVE_MEGAHORN),
LEVEL_UP_MOVE( 45 , MOVE_POISON_JAB),
LEVEL_UP_MOVE( 55 , MOVE_GUILLOTINE),
LEVEL_UP_END
};
#endif
#if P_FAMILY_PIDGEY
static const struct LevelUpMove sPidgeyLevelUpLearnset[] = {
LEVEL_UP_MOVE( 5 , MOVE_SAND_ATTACK),
LEVEL_UP_MOVE( 9 , MOVE_GUST),
LEVEL_UP_MOVE( 13 , MOVE_QUICK_ATTACK),
LEVEL_UP_MOVE( 19 , MOVE_WHIRLWIND),
LEVEL_UP_MOVE( 25 , MOVE_WING_ATTACK),
LEVEL_UP_MOVE( 29 , MOVE_FEATHERDANCE),
LEVEL_UP_MOVE( 34 , MOVE_AGILITY),
LEVEL_UP_MOVE( 38 , MOVE_MIRROR_MOVE),
LEVEL_UP_END
};
static const struct LevelUpMove sPidgeottoLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1 , MOVE_SAND_ATTACK),
LEVEL_UP_MOVE( 1 , MOVE_GUST),
LEVEL_UP_MOVE( 5 , MOVE_SAND_ATTACK),
LEVEL_UP_MOVE( 9 , MOVE_GUST),
LEVEL_UP_MOVE( 13 , MOVE_QUICK_ATTACK),
LEVEL_UP_MOVE( 20 , MOVE_WHIRLWIND),
LEVEL_UP_MOVE( 27 , MOVE_WING_ATTACK),
LEVEL_UP_MOVE( 31 , MOVE_FEATHERDANCE),
LEVEL_UP_MOVE( 35 , MOVE_AGILITY),
LEVEL_UP_MOVE( 40 , MOVE_MIRROR_MOVE),
LEVEL_UP_END
};
static const struct LevelUpMove sPidgeotLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1 , MOVE_SAND_ATTACK),
LEVEL_UP_MOVE( 1 , MOVE_GUST),
LEVEL_UP_MOVE( 1 , MOVE_QUICK_ATTACK),
LEVEL_UP_MOVE( 5 , MOVE_SAND_ATTACK),
LEVEL_UP_MOVE( 9 , MOVE_GUST),
LEVEL_UP_MOVE( 13 , MOVE_QUICK_ATTACK),
LEVEL_UP_MOVE( 20 , MOVE_WHIRLWIND),
LEVEL_UP_MOVE( 27 , MOVE_WING_ATTACK),
LEVEL_UP_MOVE( 31 , MOVE_FEATHERDANCE),
LEVEL_UP_MOVE( 36 , MOVE_AGILITY),
LEVEL_UP_MOVE( 36 , MOVE_DRILL_PECK),
LEVEL_UP_MOVE( 41 , MOVE_MIRROR_MOVE),
LEVEL_UP_END
};
static const struct LevelUpMove sPidgaeroLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1 , MOVE_SAND_ATTACK),
LEVEL_UP_MOVE( 1 , MOVE_GUST),
LEVEL_UP_MOVE( 1 , MOVE_QUICK_ATTACK),
LEVEL_UP_MOVE( 5 , MOVE_SAND_ATTACK),
LEVEL_UP_MOVE( 9 , MOVE_GUST),
LEVEL_UP_MOVE( 13 , MOVE_QUICK_ATTACK),
LEVEL_UP_MOVE( 20 , MOVE_WHIRLWIND),
LEVEL_UP_MOVE( 27 , MOVE_WING_ATTACK),
LEVEL_UP_MOVE( 31 , MOVE_FEATHERDANCE),
LEVEL_UP_MOVE( 36 , MOVE_AGILITY),
LEVEL_UP_MOVE( 36 , MOVE_DRILL_PECK),
LEVEL_UP_MOVE( 41 , MOVE_MIRROR_MOVE),
LEVEL_UP_MOVE( 47 , MOVE_STEEL_WING),
LEVEL_UP_MOVE( 52 , MOVE_VOLT_TACKLE),
LEVEL_UP_MOVE( 58 , MOVE_BRAVE_BIRD),
LEVEL_UP_END
};
static const struct LevelUpMove sPidgeozoneLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1 , MOVE_SAND_ATTACK),
LEVEL_UP_MOVE( 1 , MOVE_GUST),
LEVEL_UP_MOVE( 1 , MOVE_QUICK_ATTACK),
LEVEL_UP_MOVE( 5 , MOVE_SAND_ATTACK),
LEVEL_UP_MOVE( 9 , MOVE_GUST),
LEVEL_UP_MOVE( 13 , MOVE_QUICK_ATTACK),
LEVEL_UP_MOVE( 20 , MOVE_WHIRLWIND),
LEVEL_UP_MOVE( 27 , MOVE_WING_ATTACK),
LEVEL_UP_MOVE( 31 , MOVE_FEATHERDANCE),
LEVEL_UP_MOVE( 36 , MOVE_AGILITY),
LEVEL_UP_MOVE( 36 , MOVE_DRILL_PECK),
LEVEL_UP_MOVE( 41 , MOVE_MIRROR_MOVE),
LEVEL_UP_MOVE( 47 , MOVE_STEEL_WING),
LEVEL_UP_MOVE( 52 , MOVE_VOLT_TACKLE),
LEVEL_UP_MOVE( 58 , MOVE_BRAVE_BIRD),
LEVEL_UP_END
};
static const struct LevelUpMove sPidgephyrLevelUpLearnset[] = {
LEVEL_UP_MOVE( 1 , MOVE_SAND_ATTACK),
LEVEL_UP_MOVE( 1 , MOVE_GUST),
LEVEL_UP_MOVE( 1 , MOVE_QUICK_ATTACK),
LEVEL_UP_MOVE( 5 , MOVE_SAND_ATTACK),
LEVEL_UP_MOVE( 9 , MOVE_GUST),
LEVEL_UP_MOVE( 13 , MOVE_QUICK_ATTACK),
LEVEL_UP_MOVE( 20 , MOVE_WHIRLWIND),
LEVEL_UP_MOVE( 27 , MOVE_WING_ATTACK),
LEVEL_UP_MOVE( 31 , MOVE_FEATHERDANCE),
LEVEL_UP_MOVE( 36 , MOVE_AGILITY),
LEVEL_UP_MOVE( 36 , MOVE_DRILL_PECK),
LEVEL_UP_MOVE( 41 , MOVE_MIRROR_MOVE),
LEVEL_UP_MOVE( 47 , MOVE_STEEL_WING),
LEVEL_UP_MOVE( 52 , MOVE_VOLT_TACKLE),
LEVEL_UP_MOVE( 58 , MOVE_BRAVE_BIRD),

File diff suppressed because it is too large Load Diff

View File

@ -956,7 +956,9 @@ const struct NatureInfo gNaturesInfo[NUM_NATURES] =
#include "data/pokemon/trainer_class_lookups.h"
#include "data/pokemon/experience_tables.h"
#if P_LVL_UP_LEARNSETS >= GEN_9
#if P_LVL_UP_LEARNSETS >= EVO
#include "data/pokemon/level_up_learnsets/gen_EVO.h" // Scarlet/Violet
#elif P_LVL_UP_LEARNSETS >= GEN_9
#include "data/pokemon/level_up_learnsets/gen_9.h" // Scarlet/Violet
#elif P_LVL_UP_LEARNSETS >= GEN_8
#include "data/pokemon/level_up_learnsets/gen_8.h" // Sword/Shield