diff --git a/include/config/pokemon.h b/include/config/pokemon.h index 23015614c0..65542a6ccd 100644 --- a/include/config/pokemon.h +++ b/include/config/pokemon.h @@ -17,6 +17,7 @@ // GEN_1/2/3/4/5/6/7: Yellow, Crystal, RSE, HGSS, B2W2, ORAS, USUM learnsets respectively. // GEN_8: Use the following priority: BDSP for Gen1-4 Pokémon, then LA for species introduced in that game, then SwSh for species present in those games. Otherwise, use GEN_7. // GEN_9: SV For species present in those games. Otherwise use GEN_8. +#define P_EVOLUTION_LEVEL_1_LEARN GEN_LATEST // In Gen 8+, Pokémon evolving while at level 1 do not get the chance to learn their level 1 moves, while before they did. // Evolution settings #define P_FRIENDSHIP_EVO_THRESHOLD GEN_LATEST // Since Gen 8, Pokémon that evolve by friendship evolve at or above 160 friendship instead of 220. diff --git a/src/pokemon.c b/src/pokemon.c index 743f5b2771..026ceceed2 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -6661,7 +6661,8 @@ u16 MonTryLearningNewMoveEvolution(struct Pokemon *mon, bool8 firstMove) } while(learnset[sLearningMoveTableID].move != LEVEL_UP_MOVE_END) { - while (learnset[sLearningMoveTableID].level == 0 || learnset[sLearningMoveTableID].level == level) + while ((learnset[sLearningMoveTableID].level == 0 || learnset[sLearningMoveTableID].level == level) + && !(P_EVOLUTION_LEVEL_1_LEARN >= GEN_8 && learnset[sLearningMoveTableID].level == 1)) { gMoveToLearn = learnset[sLearningMoveTableID].move; sLearningMoveTableID++;