diff options
author | luckytyphlosion <10688458+luckytyphlosion@users.noreply.github.com> | 2020-07-02 16:45:49 -0400 |
---|---|---|
committer | luckytyphlosion <10688458+luckytyphlosion@users.noreply.github.com> | 2020-07-02 16:45:49 -0400 |
commit | d9d3ac1c5dec158f2358e43bd39087ca4e5edc5a (patch) | |
tree | 22fdb6ede2d2cc5ff4c7d6dc9539407efbdffec0 /src | |
parent | 91fea55a24ba6e184e806c7aefa7f60ef31c0b32 (diff) |
pokemon_summary_screen.c, part 7.
Diffstat (limited to 'src')
-rw-r--r-- | src/pokemon_summary_screen.c | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 7bfa7bb26..1059b2024 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -105,6 +105,8 @@ extern void sub_8137970(void); extern bool32 sub_813B838(u8 metLocation); extern bool32 sub_8138B4C(void); extern bool32 sub_813B7E0(u8 nature); +void sub_8137724(void); +extern bool32 sub_813B7F8(void); struct PokemonSummaryScreenData { u16 unk0[0x800]; @@ -1993,3 +1995,98 @@ void sub_8137578(void) AddTextPrinterParameterized4(gMonSummaryScreen->unk3000[4], 2, 0, 3, 0, 0, gUnknown_8463FA4[0], TEXT_SPEED_FF, natureMetOrHatchedAtLevelStr); } + +void sub_8137724(void) +{ + u8 nature; + u8 level; + u8 metLocation; + u8 levelStr[5]; + u8 mapNameStr[32]; + u8 natureMetOrHatchedAtLevelStr[152]; + + DynamicPlaceholderTextUtil_Reset(); + nature = GetNature(&gMonSummaryScreen->currentMon); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, gNatureNamePointers[nature]); + + level = GetMonData(&gMonSummaryScreen->currentMon, MON_DATA_MET_LEVEL); + + if (level == 0) + level = 5; + + ConvertIntToDecimalStringN(levelStr, level, STR_CONV_MODE_LEFT_ALIGN, 3); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, levelStr); + + metLocation = GetMonData(&gMonSummaryScreen->currentMon, MON_DATA_MET_LOCATION); + + if (!sub_813B838(metLocation) || !sub_813B7F8()) + { + if (sub_8138B4C() == TRUE) + { + sub_8137578(); + return; + } + + if (metLocation == METLOC_FATEFUL_ENCOUNTER) + { + if (sub_813B7E0(nature)) + DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_84197ED); + else + DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_84197B8); + } + else + { + if (sub_813B7E0(nature)) + DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_841979D); + else + DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_8419782); + } + + AddTextPrinterParameterized4(gMonSummaryScreen->unk3000[4], 2, 0, 3, 0, 0, gUnknown_8463FA4[0], TEXT_SPEED_FF, natureMetOrHatchedAtLevelStr); + return; + } + + if (sub_813B838(metLocation) == TRUE) + GetMapNameGeneric_(mapNameStr, metLocation); + else + StringCopy(mapNameStr, gUnknown_8419C0B); + + DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, mapNameStr); + + if (GetMonData(&gMonSummaryScreen->currentMon, MON_DATA_MET_LEVEL) == 0) + { + if (GetMonData(&gMonSummaryScreen->currentMon, MON_DATA_OBEDIENCE) == 1) + { + if (sub_813B7E0(nature)) + DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_84199F4); + else + DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_84199AB); + } + else + { + if (sub_813B7E0(nature)) + DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_841988A); + else + DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_8419860); + } + } + else + { + if (metLocation == METLOC_FATEFUL_ENCOUNTER) + { + if (sub_813B7E0(nature)) + DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_84197ED); + else + DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_84197B8); + } + else + { + if (sub_813B7E0(nature)) + DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_841988A); + else + DynamicPlaceholderTextUtil_ExpandPlaceholders(natureMetOrHatchedAtLevelStr, gUnknown_8419860); + } + } + + AddTextPrinterParameterized4(gMonSummaryScreen->unk3000[4], 2, 0, 3, 0, 0, gUnknown_8463FA4[0], TEXT_SPEED_FF, natureMetOrHatchedAtLevelStr); +} |