From 747bf4b7f6ef39296eeac2c79db74ec39764e094 Mon Sep 17 00:00:00 2001 From: hedara90 <90hedara@gmail.com> Date: Tue, 15 Apr 2025 23:53:46 +0200 Subject: [PATCH] Capped Exp from Daycare to level cap (#6622) Co-authored-by: Hedara --- src/daycare.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/daycare.c b/src/daycare.c index 8d2bf13545..bedaf35dd2 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -336,6 +336,11 @@ static void ApplyDaycareExperience(struct Pokemon *mon) CalculateMonStats(mon); } +static u32 GetExpAtLevelCap(struct Pokemon *mon) +{ + return gExperienceTables[gSpeciesInfo[GetMonData(mon, MON_DATA_SPECIES)].growthRate][GetCurrentLevelCap()]; +} + static u16 TakeSelectedPokemonFromDaycare(struct DaycareMon *daycareMon) { u32 species; @@ -358,6 +363,9 @@ static u16 TakeSelectedPokemonFromDaycare(struct DaycareMon *daycareMon) if (GetMonData(&pokemon, MON_DATA_LEVEL) < GetCurrentLevelCap()) { experience = GetMonData(&pokemon, MON_DATA_EXP) + daycareMon->steps; + u32 maxExp = GetExpAtLevelCap(&pokemon); + if (experience > maxExp) + experience = maxExp; SetMonData(&pokemon, MON_DATA_EXP, &experience); ApplyDaycareExperience(&pokemon); }