From 332cc292739cf4d4092434b4cebc5cd662e8c140 Mon Sep 17 00:00:00 2001 From: Aaghat Date: Sat, 9 Sep 2023 10:56:45 +0530 Subject: [PATCH] Add new Evo methods --- include/strings.h | 9 +++++++++ src/pokedex_plus_hgss.c | 43 +++++++++++++++++++++++++++++++++++++++++ src/strings.c | 9 +++++++++ 3 files changed, 61 insertions(+) diff --git a/include/strings.h b/include/strings.h index da9ea1273c..797b1898ab 100644 --- a/include/strings.h +++ b/include/strings.h @@ -648,6 +648,15 @@ extern const u8 gText_EVO_SPECIFIC_MON_IN_PARTY[]; extern const u8 gText_EVO_LEVEL_DARK_TYPE_MON_IN_PARTY[]; extern const u8 gText_EVO_TRADE_SPECIFIC_MON[]; extern const u8 gText_EVO_SPECIFIC_MAP[]; +extern const u8 gText_EVO_LEVEL_NATURE_AMPED[]; +extern const u8 gText_EVO_LEVEL_NATURE_LOW_KEY[]; +extern const u8 gText_EVO_CRITICAL_HITS[]; +extern const u8 gText_EVO_SCRIPT_TRIGGER_DMG[]; +extern const u8 gText_EVO_DARK_SCROLL[]; +extern const u8 gText_EVO_WATER_SCROLL[]; +extern const u8 gText_EVO_ITEM_NIGHT[]; +extern const u8 gText_EVO_ITEM_DAY[]; +extern const u8 gText_EVO_ITEM_HOLD[]; extern const u8 gText_EVO_UNKNOWN[]; extern const u8 gText_EVO_NONE[]; diff --git a/src/pokedex_plus_hgss.c b/src/pokedex_plus_hgss.c index 2aa92c7c22..3a5676ce9e 100644 --- a/src/pokedex_plus_hgss.c +++ b/src/pokedex_plus_hgss.c @@ -6350,6 +6350,8 @@ static u8 PrintPreEvolutions(u8 taskId, u16 species) } #define EVO_SCREEN_LVL_DIGITS 2 +#define EVO_SCREEN_CRITS_DIGITS 1 +#define EVO_SCREEN_DMG_DIGITS 2 static u8 PrintEvolutionTargetSpeciesAndMethod(u8 taskId, u16 species, u8 depth, u8 depth_i) { @@ -6540,6 +6542,47 @@ static u8 PrintEvolutionTargetSpeciesAndMethod(u8 taskId, u16 species, u8 depth, GetMapName(gStringVar2, mapHeader->regionMapSectionId, 0); StringExpandPlaceholders(gStringVar4, gText_EVO_SPECIFIC_MAP ); break; + case EVO_LEVEL_NATURE_AMPED: + ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level + StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_NATURE_AMPED); + break; + case EVO_LEVEL_NATURE_LOW_KEY: + ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_LVL_DIGITS); //level + StringExpandPlaceholders(gStringVar4, gText_EVO_LEVEL_NATURE_LOW_KEY); + break; + case EVO_CRITICAL_HITS: + ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_CRITS_DIGITS); //crits + StringExpandPlaceholders(gStringVar4, gText_EVO_CRITICAL_HITS); + break; + case EVO_SCRIPT_TRIGGER_DMG: + ConvertIntToDecimalStringN(gStringVar2, gEvolutionTable[species][i].param, STR_CONV_MODE_LEADING_ZEROS, EVO_SCREEN_DMG_DIGITS); //damage + StringExpandPlaceholders(gStringVar4, gText_EVO_SCRIPT_TRIGGER_DMG); + break; + case EVO_DARK_SCROLL: + item = gEvolutionTable[species][i].param; + CopyItemName(item, gStringVar2); + StringExpandPlaceholders(gStringVar4, gText_EVO_DARK_SCROLL ); + break; + case EVO_WATER_SCROLL: + item = gEvolutionTable[species][i].param; + CopyItemName(item, gStringVar2); + StringExpandPlaceholders(gStringVar4, gText_EVO_WATER_SCROLL ); + break; + case EVO_ITEM_NIGHT: + item = gEvolutionTable[species][i].param; + CopyItemName(item, gStringVar2); + StringExpandPlaceholders(gStringVar4, gText_EVO_ITEM_NIGHT ); + break; + case EVO_ITEM_DAY: + item = gEvolutionTable[species][i].param; + CopyItemName(item, gStringVar2); + StringExpandPlaceholders(gStringVar4, gText_EVO_ITEM_DAY ); + break; + case EVO_ITEM_HOLD: + item = gEvolutionTable[species][i].param; + CopyItemName(item, gStringVar2); + StringExpandPlaceholders(gStringVar4, gText_EVO_ITEM_HOLD ); + break; default: StringExpandPlaceholders(gStringVar4, gText_EVO_UNKNOWN ); break; diff --git a/src/strings.c b/src/strings.c index 85ac0d0160..5c96c9a4c8 100644 --- a/src/strings.c +++ b/src/strings.c @@ -1943,6 +1943,15 @@ const u8 gText_EVO_SPECIFIC_MON_IN_PARTY[] = _("LvlUp with {STR_VAR_2} const u8 gText_EVO_LEVEL_DARK_TYPE_MON_IN_PARTY[] = _("LvlUp with dark type in party"); const u8 gText_EVO_TRADE_SPECIFIC_MON[] = _("Traded for {STR_VAR_2}"); const u8 gText_EVO_SPECIFIC_MAP[] = _("LvlUp on {STR_VAR_2}"); +const u8 gText_EVO_LEVEL_NATURE_AMPED[] = _("LvlUp to {STR_VAR_2}, Amped natures"); +const u8 gText_EVO_LEVEL_NATURE_LOW_KEY[] = _("LvlUp to {STR_VAR_2}, Low Key natures"); +const u8 gText_EVO_CRITICAL_HITS[] = _("Land {STR_VAR_2} critical hits in\nsingle battle"); +const u8 gText_EVO_SCRIPT_TRIGGER_DMG[] = _("Takes at least {STR_VAR_2} HP in damage"); +const u8 gText_EVO_DARK_SCROLL[] = _("ScrllOfDrknss is used"); +const u8 gText_EVO_WATER_SCROLL[] = _("ScrollOfWatrs is used"); +const u8 gText_EVO_ITEM_NIGHT[] = _("{STR_VAR_2} is used, night"); +const u8 gText_EVO_ITEM_DAY[] = _("{STR_VAR_2} is used, day"); +const u8 gText_EVO_ITEM_HOLD[] = _("LvlUp, holds {STR_VAR_2}"); const u8 gText_EVO_UNKNOWN[] = _("Method unknown"); const u8 gText_EVO_NONE[] = _("{STR_VAR_1} has no evolution.");