Skip to content

Make Daycare Faster at Leveling Pokémon

voloved edited this page Dec 26, 2022 · 2 revisions

By devolov

The Daycare levels your Pokemon up based off your step count. Adding the below code will multiply your step count for the daycare by stepMult. Thiat step multiplier won't affect other uses for the step count in the game.

In daycare.c:

 #include "data/pokemon/egg_moves.h"
 
+const u8 stepMult = 3;
+
 static const struct WindowTemplate sDaycareLevelMenuWindowTemplate =
 {
     .bg = 0,
     .tilemapLeft = 15,
@@ -253,9 +255,9 @@ static u16 TakeSelectedPokemonFromDaycare(struct DaycareMon *daycareMon)
     BoxMonToMon(&daycareMon->mon, &pokemon);
 
     if (GetMonData(&pokemon, MON_DATA_LEVEL) != MAX_LEVEL)
     {
-        experience = GetMonData(&pokemon, MON_DATA_EXP) + daycareMon->steps;
+        experience = GetMonData(&pokemon, MON_DATA_EXP) + (stepMult * daycareMon->steps);
         SetMonData(&pokemon, MON_DATA_EXP, &experience);
         ApplyDaycareExperience(&pokemon);
     }
 
@@ -288,9 +290,9 @@ u16 TakePokemonFromDaycare(void)
 static u8 GetLevelAfterDaycareSteps(struct BoxPokemon *mon, u32 steps)
 {
     struct BoxPokemon tempMon = *mon;
 
-    u32 experience = GetBoxMonData(mon, MON_DATA_EXP) + steps;
+    u32 experience = GetBoxMonData(mon, MON_DATA_EXP) + (stepMult * steps);
     SetBoxMonData(&tempMon, MON_DATA_EXP,  &experience);
     return GetLevelFromBoxMonExp(&tempMon);
 }
Clone this wiki locally