diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2017-08-29 22:57:04 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2017-08-29 22:57:04 -0400 |
commit | 710346afa3c90682e123ebd981fb8c8ffb30784f (patch) | |
tree | ccf37d31fad534e399af87bb9f8cb64fd15d4562 /src | |
parent | 36bafa9f9fad1efd7baead651c7f357f6a832023 (diff) |
sub_80416A0
Diffstat (limited to 'src')
-rw-r--r-- | src/daycare.c | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/src/daycare.c b/src/daycare.c index 2f30c1479..f067ec8ec 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -1,6 +1,7 @@ #include "global.h" #include "daycare.h" #include "pokemon.h" +#include "event_data.h" #include "species.h" #include "items.h" #include "text.h" @@ -144,37 +145,35 @@ void sub_804151C(struct Pokemon * mon) CalculateMonStats(mon); } -u16 sub_8041570(struct DayCareData * daycare_data, u8 a2) +u16 sub_8041570(struct DayCareData * daycare_data, u8 slot) { u16 species; u32 experience; struct Pokemon pokemon; - GetBoxMonNick(&daycare_data->mons[a2], gStringVar1); - species = GetBoxMonData(&daycare_data->mons[a2], MON_DATA_SPECIES); - sub_803B4B4(&daycare_data->mons[a2], &pokemon); + GetBoxMonNick(&daycare_data->mons[slot], gStringVar1); + species = GetBoxMonData(&daycare_data->mons[slot], MON_DATA_SPECIES); + sub_803B4B4(&daycare_data->mons[slot], &pokemon); if (GetMonData(&pokemon, MON_DATA_LEVEL) != MAX_LEVEL) { - experience = GetMonData(&pokemon, MON_DATA_EXP) + daycare_data->mail.extra.steps[a2]; + experience = GetMonData(&pokemon, MON_DATA_EXP) + daycare_data->mail.extra.steps[slot]; SetMonData(&pokemon, MON_DATA_EXP, (u8 *)&experience); sub_804151C(&pokemon); } gPlayerParty[PARTY_SIZE - 1] = pokemon; - if (daycare_data->mail.data[a2].mail.itemId) + if (daycare_data->mail.data[slot].mail.itemId) { - GiveMailToMon2(&gPlayerParty[PARTY_SIZE - 1], &daycare_data->mail.data[a2].mail); - sub_80417F4(&daycare_data->mail.data[a2].mail); + GiveMailToMon2(&gPlayerParty[PARTY_SIZE - 1], &daycare_data->mail.data[slot].mail); + sub_80417F4(&daycare_data->mail.data[slot].mail); } party_compaction(); - ZeroBoxMonData(&daycare_data->mons[a2]); - daycare_data->mail.extra.steps[a2] = 0; + ZeroBoxMonData(&daycare_data->mons[slot]); + daycare_data->mail.extra.steps[slot] = 0; sub_80414C0(daycare_data); CalculatePlayerPartyCount(); return species; } -extern u8 gSpecialVar_0x8004; - u16 sub_8041648() { return sub_8041570(&gSaveBlock1.daycareData, gSpecialVar_0x8004); @@ -186,3 +185,13 @@ u8 Daycare_GetLevelAfterSteps(struct BoxPokemon * mon, u32 steps){ SetBoxMonData(&temp, MON_DATA_EXP, (u8 *) &new_exp); return GetLevelFromBoxMonExp(&temp); } + +u8 sub_80416A0(struct DayCareData *daycareData, u8 slot) +{ + u8 levelBefore; + u8 levelAfter; + + levelBefore = GetLevelFromBoxMonExp(&daycareData->mons[slot]); + levelAfter = Daycare_GetLevelAfterSteps(&daycareData->mons[slot], daycareData->mail.extra.steps[slot]); + return levelAfter - levelBefore; +} |