diff --git a/charmap.txt b/charmap.txt index ca4db0fc73..25e61acf21 100644 --- a/charmap.txt +++ b/charmap.txt @@ -151,6 +151,7 @@ SUPER_RE = A0 'ä' = F4 'ö' = F5 'ü' = F6 +EMOJI_DIZZYEGG = F7 TALL_PLUS = FC 0C FB '$' = FF diff --git a/graphics/fonts/font0_latin.png b/graphics/fonts/font0_latin.png index 55ed435060..371cd5a968 100644 Binary files a/graphics/fonts/font0_latin.png and b/graphics/fonts/font0_latin.png differ diff --git a/graphics/fonts/font0_latin_widths.inc b/graphics/fonts/font0_latin_widths.inc index 2392e97179..70609d07d7 100644 --- a/graphics/fonts/font0_latin_widths.inc +++ b/graphics/fonts/font0_latin_widths.inc @@ -13,7 +13,7 @@ .byte 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5 .byte 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 5 .byte 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 8 - .byte 7, 5, 5, 5, 5, 5, 5, 3, 3, 3, 3, 3, 3, 3, 3, 3 + .byte 7, 5, 5, 5, 5, 5, 5, 9, 3, 3, 3, 3, 3, 3, 3, 3 .byte 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 .byte 8, 8, 8, 8, 8, 8, 8, 8, 3, 3, 3, 3, 3, 3, 3, 3 .byte 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 diff --git a/include/strings.h b/include/strings.h index 1e7f01190c..698ea84712 100644 --- a/include/strings.h +++ b/include/strings.h @@ -564,6 +564,10 @@ extern const u8 gText_Stats_Gender_100[]; extern const u8 gText_Stats_Catch[]; extern const u8 gText_Stats_ExpYield[]; extern const u8 gText_Stats_EggCycles[]; +extern const u8 gText_Stats_EggCycles_VeryFast[]; +extern const u8 gText_Stats_EggCycles_Fast[]; +extern const u8 gText_Stats_EggCycles_Normal[]; +extern const u8 gText_Stats_EggCycles_Slow[]; extern const u8 gText_Stats_Growthrate[]; extern const u8 gText_Stats_Friendship[]; extern const u8 gText_Stats_Friendship_BigAnger[]; diff --git a/src/pokedex.c b/src/pokedex.c index 5798c86f6a..9ccefd9c87 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -6833,7 +6833,7 @@ static void PrintMonStatsToggle(u8 taskId) if (gTasks[taskId].data[5] == 0) { - //Exp + //Exp Yield PrintInfoScreenTextSmall(gText_Stats_ExpYield, base_x, base_y + base_offset*base_i); ConvertIntToDecimalStringN(gStringVar1, gBaseStats[species].expYield, STR_CONV_MODE_RIGHT_ALIGN, 3); PrintInfoScreenTextSmall(gStringVar1, base_x + base_x_offset, base_y + base_offset*base_i); @@ -6867,20 +6867,6 @@ static void PrintMonStatsToggle(u8 taskId) PrintInfoScreenTextSmall(strEV, align_x, base_y + base_offset*base_i); base_i++; - //Egg cycles - if (gBaseStats[species].eggGroup1 == EGG_GROUP_UNDISCOVERED || gBaseStats[species].eggGroup2 == EGG_GROUP_UNDISCOVERED) - { - PrintInfoScreenTextSmall(gText_Stats_EggCycles, base_x, base_y + base_offset*base_i); - PrintInfoScreenTextSmall(gText_ThreeDashes, 78, base_y + base_offset*base_i); - } - else - { - PrintInfoScreenTextSmall(gText_Stats_EggCycles, base_x, base_y + base_offset*base_i); - ConvertIntToDecimalStringN(strEV, gBaseStats[species].eggCycles, STR_CONV_MODE_RIGHT_ALIGN, 2); - align_x = GetStringRightAlignXOffset(0, strEV, total_x); - PrintInfoScreenTextSmall(strEV, align_x, base_y + base_offset*base_i); - } - base_i++; //Catch rate PrintInfoScreenTextSmall(gText_Stats_Catch, base_x, base_y + base_offset*base_i); @@ -6969,7 +6955,8 @@ static void PrintMonStatsToggle(u8 taskId) StringCopy(gStringVar1, gText_Stats_eggGroup_UNDISCOVERED); break; } - PrintInfoScreenTextSmall(gStringVar1, base_x + 37, base_y + base_offset*base_i); + align_x = GetStringRightAlignXOffset(0, gStringVar1, total_x); + PrintInfoScreenTextSmall(gStringVar1, align_x, base_y + base_offset*base_i); base_i++; //Egg group 2 @@ -7022,7 +7009,41 @@ static void PrintMonStatsToggle(u8 taskId) StringCopy(gStringVar1, gText_Stats_eggGroup_UNDISCOVERED); break; } - PrintInfoScreenTextSmall(gStringVar1, base_x + 37, base_y + base_offset*base_i); + align_x = GetStringRightAlignXOffset(0, gStringVar1, total_x); + PrintInfoScreenTextSmall(gStringVar1, align_x, base_y + base_offset*base_i); + base_i++; + + //Egg cycles + if (gBaseStats[species].eggGroup1 == EGG_GROUP_UNDISCOVERED || gBaseStats[species].eggGroup2 == EGG_GROUP_UNDISCOVERED) //Species without eggs (legendaries etc) + { + PrintInfoScreenTextSmall(gText_Stats_EggCycles, base_x, base_y + base_offset*base_i); + PrintInfoScreenTextSmall(gText_ThreeDashes, 78, base_y + base_offset*base_i); + } + else + { + PrintInfoScreenTextSmall(gText_Stats_EggCycles, base_x, base_y + base_offset*base_i); + if (gBaseStats[species].eggCycles <= 10) + { + StringCopy(strEV, gText_Stats_EggCycles_VeryFast); + align_x = 76; + } + else if (gBaseStats[species].eggCycles <= 20) + { + StringCopy(strEV, gText_Stats_EggCycles_Fast); + align_x = 85; + } + else if (gBaseStats[species].eggCycles <= 30) + { + StringCopy(strEV, gText_Stats_EggCycles_Normal); + align_x = 76; + } + else + { + StringCopy(strEV, gText_Stats_EggCycles_Slow); + align_x = 67; + } + PrintInfoScreenTextSmall(strEV, align_x, base_y + base_offset*base_i); + } } diff --git a/src/strings.c b/src/strings.c index 1537e61a0d..2e9d04e386 100644 --- a/src/strings.c +++ b/src/strings.c @@ -1851,6 +1851,10 @@ const u8 gText_Stats_Gender_100[] = _("♀"); const u8 gText_Stats_Catch[] = _("CATCH RATE: "); const u8 gText_Stats_ExpYield[] = _("EXP YIELD: "); const u8 gText_Stats_EggCycles[] = _("EGG CYCLES: "); +const u8 gText_Stats_EggCycles_VeryFast[] = _("{EMOJI_BOLT}{EMOJI_DIZZYEGG}"); +const u8 gText_Stats_EggCycles_Fast[] = _("{EMOJI_DIZZYEGG}"); +const u8 gText_Stats_EggCycles_Normal[] = _("{EMOJI_DIZZYEGG}{EMOJI_DIZZYEGG}"); +const u8 gText_Stats_EggCycles_Slow[] = _("{EMOJI_DIZZYEGG}{EMOJI_DIZZYEGG}{EMOJI_DIZZYEGG}"); const u8 gText_Stats_Growthrate[] = _("GROW: "); const u8 gText_Stats_Friendship[] = _("FRIENDSHIP:" ); const u8 gText_Stats_Friendship_BigAnger[] = _("{EMOJI_BIGANGER}");