summaryrefslogtreecommitdiff
path: root/src/battle_message.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle_message.c')
-rw-r--r--src/battle_message.c294
1 files changed, 237 insertions, 57 deletions
diff --git a/src/battle_message.c b/src/battle_message.c
index 4bd6ca5b7..77f7cc722 100644
--- a/src/battle_message.c
+++ b/src/battle_message.c
@@ -58,8 +58,8 @@ extern const u8* GetTrainer1LoseText(void); // battle_setup
extern const u8* GetTrainer2LoseText(void); // battle_setup
extern void GetFrontierTrainerName(u8 *dst, u16 trainerId);
extern s32 GetStringCenterAlignXOffsetWithLetterSpacing(u8 fontId, const u8 *str, s32 totalWidth, s16 letterSpacing);
-extern u8 sub_8185FC4(void);
-extern u8 sav2_get_text_speed(void);
+extern u8 GetTextSpeedInRecordedBattle(void);
+extern u8 GetPlayerTextSpeed(void);
// this file's functions
static void sub_814F8F8(u8 *textPtr);
@@ -932,58 +932,237 @@ const u16 gSandStormHailDmgStringIds[] =
STRINGID_PKMNBUFFETEDBYSANDSTORM, STRINGID_PKMNPELTEDBYHAIL
};
-// todo once battlescripts are dumped
-const u16 gTooLazyToSplitThemStringIds[] =
+const u16 gSandStormHailEndStringIds[] =
{
- STRINGID_SANDSTORMSUBSIDED, STRINGID_HAILSTOPPED, STRINGID_RAINCONTINUES, STRINGID_DOWNPOURCONTINUES,
- STRINGID_RAINSTOPPED, STRINGID_PKMNPROTECTEDITSELF2, STRINGID_PKMNBRACEDITSELF,
- STRINGID_BUTITFAILED, STRINGID_BUTITFAILED, STRINGID_PKMNRAISEDDEF,
- STRINGID_PKMNRAISEDDEFALITTLE, STRINGID_PKMNRAISEDSPDEF, STRINGID_PKMNRAISEDSPDEFALITTLE,
- STRINGID_PKMNCOVEREDBYVEIL, STRINGID_PKMNSEEDED, STRINGID_PKMNEVADEDATTACK,
+ STRINGID_SANDSTORMSUBSIDED, STRINGID_HAILSTOPPED
+};
+
+const u16 gRainContinuesStringIds[] =
+{
+ STRINGID_RAINCONTINUES, STRINGID_DOWNPOURCONTINUES, STRINGID_RAINSTOPPED
+};
+
+const u16 gProtectLikeUsedStringIds[] =
+{
+ STRINGID_PKMNPROTECTEDITSELF2, STRINGID_PKMNBRACEDITSELF, STRINGID_BUTITFAILED
+};
+
+const u16 gReflectLightScreenSafeguardStringIds[] =
+{
+ STRINGID_BUTITFAILED, STRINGID_PKMNRAISEDDEF, STRINGID_PKMNRAISEDDEFALITTLE,
+ STRINGID_PKMNRAISEDSPDEF, STRINGID_PKMNRAISEDSPDEFALITTLE, STRINGID_PKMNCOVEREDBYVEIL
+};
+
+const u16 gLeechSeedStringIds[] =
+{
+ STRINGID_PKMNSEEDED, STRINGID_PKMNEVADEDATTACK,
STRINGID_ITDOESNTAFFECT, STRINGID_PKMNSAPPEDBYLEECHSEED, STRINGID_ITSUCKEDLIQUIDOOZE,
- STRINGID_PKMNWENTTOSLEEP, STRINGID_PKMNSLEPTHEALTHY, STRINGID_PKMNMAKINGUPROAR,
- STRINGID_PKMNCALMEDDOWN, STRINGID_PKMNSTOCKPILED, STRINGID_PKMNCANTSTOCKPILE,
- STRINGID_PKMNWOKEUP, STRINGID_PKMNWOKEUPINUPROAR, STRINGID_FAILEDTOSWALLOW,
- STRINGID_PKMNHPFULL, STRINGID_PKMNCANTSLEEPINUPROAR2, STRINGID_UPROARKEPTPKMNAWAKE,
- STRINGID_PKMNSTAYEDAWAKEUSING, STRINGID_PKMNSSTATCHANGED, STRINGID_PKMNSSTATCHANGED2,
- STRINGID_STATSWONTINCREASE, STRINGID_EMPTYSTRING3, STRINGID_USINGXTHEYOFZN,
- STRINGID_PKMNUSEDXTOGETPUMPED, STRINGID_PKMNSSTATCHANGED3, STRINGID_PKMNSSTATCHANGED4,
- STRINGID_STATSWONTDECREASE, STRINGID_EMPTYSTRING3, STRINGID_PKMNWHIPPEDWHIRLWIND,
- STRINGID_PKMNTOOKSUNLIGHT, STRINGID_PKMNLOWEREDHEAD, STRINGID_PKMNISGLOWING,
- STRINGID_PKMNFLEWHIGH, STRINGID_PKMNDUGHOLE, STRINGID_PKMNHIDUNDERWATER,
- STRINGID_PKMNSPRANGUP, STRINGID_PKMNSQUEEZEDBYBIND, STRINGID_PKMNWRAPPEDBY,
- STRINGID_PKMNTRAPPEDINVORTEX, STRINGID_PKMNCLAMPED, STRINGID_PKMNTRAPPEDINVORTEX,
- STRINGID_PKMNTRAPPEDBYSANDTOMB, STRINGID_PKMNSHROUDEDINMIST, STRINGID_BUTITFAILED,
- STRINGID_PKMNGETTINGPUMPED, STRINGID_BUTITFAILED, STRINGID_PKMNTRANSFORMEDINTO,
- STRINGID_BUTITFAILED, STRINGID_PKMNMADESUBSTITUTE, STRINGID_TOOWEAKFORSUBSTITUTE,
- STRINGID_PKMNWASPOISONED, STRINGID_PKMNPOISONEDBY, STRINGID_PKMNWASPARALYZED,
- STRINGID_PKMNWASPARALYZEDBY, STRINGID_PKMNFELLASLEEP, STRINGID_PKMNMADESLEEP,
- STRINGID_PKMNWASBURNED, STRINGID_PKMNBURNEDBY, STRINGID_PKMNWASFROZEN,
- STRINGID_PKMNFROZENBY, STRINGID_PKMNWASDEFROSTED2, STRINGID_PKMNWASDEFROSTEDBY,
- STRINGID_ATTACKMISSED, STRINGID_PKMNUNAFFECTED, STRINGID_PKMNFELLINLOVE,
- STRINGID_PKMNSXINFATUATEDY, STRINGID_PKMNENERGYDRAINED, STRINGID_ITSUCKEDLIQUIDOOZE,
- STRINGID_ELECTRICITYWEAKENED, STRINGID_FIREWEAKENED, STRINGID_BELLCHIMED,
- STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, STRINGID_BELLCHIMED,
- STRINGID_SOOTHINGAROMA, STRINGID_PKMNFORESAWATTACK, STRINGID_PKMNCHOSEXASDESTINY,
- STRINGID_PKMNBROKEFREE, STRINGID_ITAPPEAREDCAUGHT, STRINGID_AARGHALMOSTHADIT,
- STRINGID_SHOOTSOCLOSE, STRINGID_ITISRAINING, STRINGID_ITISRAINING,
+};
+
+const u16 gRestUsedStringIds[] =
+{
+ STRINGID_PKMNWENTTOSLEEP, STRINGID_PKMNSLEPTHEALTHY
+};
+
+const u16 gUproarOverTurnStringIds[] =
+{
+ STRINGID_PKMNMAKINGUPROAR, STRINGID_PKMNCALMEDDOWN
+};
+
+const u16 gStockpileUsedStringIds[] =
+{
+ STRINGID_PKMNSTOCKPILED, STRINGID_PKMNCANTSTOCKPILE,
+};
+
+const u16 gWokeUpStringIds[] =
+{
+ STRINGID_PKMNWOKEUP, STRINGID_PKMNWOKEUPINUPROAR
+};
+
+const u16 gSwallowFailStringIds[] =
+{
+ STRINGID_FAILEDTOSWALLOW, STRINGID_PKMNHPFULL
+};
+
+const u16 gUproarAwakeStringIds[] =
+{
+ STRINGID_PKMNCANTSLEEPINUPROAR2, STRINGID_UPROARKEPTPKMNAWAKE, STRINGID_PKMNSTAYEDAWAKEUSING
+};
+
+const u16 gStatUpStringIds[] =
+{
+ STRINGID_PKMNSSTATCHANGED, STRINGID_PKMNSSTATCHANGED2, STRINGID_STATSWONTINCREASE,
+ STRINGID_EMPTYSTRING3, STRINGID_USINGXTHEYOFZN, STRINGID_PKMNUSEDXTOGETPUMPED
+};
+
+const u16 gStatDownStringIds[] =
+{
+ STRINGID_PKMNSSTATCHANGED3, STRINGID_PKMNSSTATCHANGED4, STRINGID_STATSWONTDECREASE, STRINGID_EMPTYSTRING3
+};
+
+const u16 gFirstTurnOfTwoStringIds[] =
+{
+ STRINGID_PKMNWHIPPEDWHIRLWIND, STRINGID_PKMNTOOKSUNLIGHT, STRINGID_PKMNLOWEREDHEAD, STRINGID_PKMNISGLOWING,
+ STRINGID_PKMNFLEWHIGH, STRINGID_PKMNDUGHOLE, STRINGID_PKMNHIDUNDERWATER, STRINGID_PKMNSPRANGUP
+};
+
+const u16 gWrappedStringIds[] =
+{
+ STRINGID_PKMNSQUEEZEDBYBIND, STRINGID_PKMNWRAPPEDBY, STRINGID_PKMNTRAPPEDINVORTEX,
+ STRINGID_PKMNCLAMPED, STRINGID_PKMNTRAPPEDINVORTEX, STRINGID_PKMNTRAPPEDBYSANDTOMB
+};
+
+const u16 gMistUsedStringIds[] =
+{
+ STRINGID_PKMNSHROUDEDINMIST, STRINGID_BUTITFAILED
+};
+
+const u16 gFocusEnergyUsedStringIds[] =
+{
+ STRINGID_PKMNGETTINGPUMPED, STRINGID_BUTITFAILED
+};
+
+const u16 gTransformUsedStringIds[] =
+{
+ STRINGID_PKMNTRANSFORMEDINTO, STRINGID_BUTITFAILED
+};
+
+const u16 gSubsituteUsedStringIds[] =
+{
+ STRINGID_PKMNMADESUBSTITUTE, STRINGID_TOOWEAKFORSUBSTITUTE
+};
+
+const u16 gGotPoisonedStringIds[] =
+{
+ STRINGID_PKMNWASPOISONED, STRINGID_PKMNPOISONEDBY
+};
+
+const u16 gGotParalyzedStringIds[] =
+{
+ STRINGID_PKMNWASPARALYZED, STRINGID_PKMNWASPARALYZEDBY
+};
+
+const u16 gFellAsleepStringIds[] =
+{
+ STRINGID_PKMNFELLASLEEP, STRINGID_PKMNMADESLEEP,
+};
+
+const u16 gGotBurnedStringIds[] =
+{
+ STRINGID_PKMNWASBURNED, STRINGID_PKMNBURNEDBY
+};
+
+const u16 gGotFrozenStringIds[] =
+{
+ STRINGID_PKMNWASFROZEN, STRINGID_PKMNFROZENBY
+};
+
+const u16 gGotDefrostedStringIds[] =
+{
+ STRINGID_PKMNWASDEFROSTED2, STRINGID_PKMNWASDEFROSTEDBY
+};
+
+const u16 gKOFailedStringIds[] =
+{
+ STRINGID_ATTACKMISSED, STRINGID_PKMNUNAFFECTED
+};
+
+const u16 gAttractUsedStringIds[] =
+{
+ STRINGID_PKMNFELLINLOVE, STRINGID_PKMNSXINFATUATEDY
+};
+
+const u16 gLeechSeedDrainStringIds[] =
+{
+ STRINGID_PKMNENERGYDRAINED, STRINGID_ITSUCKEDLIQUIDOOZE
+};
+
+const u16 gSportsUsedStringIds[] =
+{
+ STRINGID_ELECTRICITYWEAKENED, STRINGID_FIREWEAKENED
+};
+
+const u16 gPartyStatusHealStringIds[] =
+{
+ STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, STRINGID_BELLCHIMED, STRINGID_BELLCHIMED,
+ // interesting how there are four instances of the same string
+ STRINGID_SOOTHINGAROMA
+};
+
+const u16 gFutureMoveUsedStringIds[] =
+{
+ STRINGID_PKMNFORESAWATTACK, STRINGID_PKMNCHOSEXASDESTINY
+};
+
+const u16 gBallEscapeStringIds[] =
+{
+ STRINGID_PKMNBROKEFREE, STRINGID_ITAPPEAREDCAUGHT, STRINGID_AARGHALMOSTHADIT, STRINGID_SHOOTSOCLOSE
+};
+
+const u16 gWeatherContinuesStringIds[] =
+{
STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING,
STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING,
- STRINGID_SANDSTORMISRAGING, STRINGID_ITISRAINING, STRINGID_ITISRAINING,
- STRINGID_ITISRAINING, STRINGID_SUNLIGHTSTRONG, STRINGID_ITISRAINING,
- STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_PKMNLOAFING,
- STRINGID_PKMNWONTOBEY, STRINGID_PKMNTURNEDAWAY, STRINGID_PKMNPRETENDNOTNOTICE,
- STRINGID_PKMNINCAPABLEOFPOWER, STRINGID_CREPTCLOSER, STRINGID_CANTGETCLOSER,
- STRINGID_PKMNCURIOUSABOUTX, STRINGID_PKMNENTHRALLEDBYX, STRINGID_PKMNIGNOREDX,
+ STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_SANDSTORMISRAGING,
+ STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING,
+ STRINGID_SUNLIGHTSTRONG, STRINGID_ITISRAINING, STRINGID_ITISRAINING, STRINGID_ITISRAINING
+};
+
+const u16 gInobedientStringIds[] =
+{
+ STRINGID_PKMNLOAFING, STRINGID_PKMNWONTOBEY, STRINGID_PKMNTURNEDAWAY,
+ STRINGID_PKMNPRETENDNOTNOTICE, STRINGID_PKMNINCAPABLEOFPOWER
+};
+
+const u16 gSafariGetNearStringIds[] =
+{
+ STRINGID_CREPTCLOSER, STRINGID_CANTGETCLOSER
+};
+
+const u16 gSafariPokeblockResultStringIds[] =
+{
+ STRINGID_PKMNCURIOUSABOUTX, STRINGID_PKMNENTHRALLEDBYX, STRINGID_PKMNIGNOREDX
+};
+
+const u16 gTrainerItemCuredStatusStringIds[] =
+{
STRINGID_PKMNSITEMSNAPPEDOUT, STRINGID_PKMNSITEMCUREDPARALYSIS, STRINGID_PKMNSITEMDEFROSTEDIT,
- STRINGID_PKMNSITEMHEALEDBURN, STRINGID_PKMNSITEMCUREDPOISON, STRINGID_PKMNSITEMWOKEIT,
- STRINGID_PKMNSITEMCUREDPROBLEM, STRINGID_PKMNSITEMNORMALIZEDSTATUS, STRINGID_PKMNSXPREVENTSBURNS,
- STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY, STRINGID_PKMNPREVENTSPARALYSISWITH,
- STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY, STRINGID_PKMNPREVENTSPOISONINGWITH,
- STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY, STRINGID_PKMNOBTAINEDX,
- STRINGID_PKMNOBTAINEDX2, STRINGID_PKMNOBTAINEDXYOBTAINEDZ, STRINGID_PKMNRAISEDFIREPOWERWITH,
- STRINGID_PKMNSXMADEYINEFFECTIVE, STRINGID_PKMNTRANSFERREDSOMEONESPC, STRINGID_PKMNTRANSFERREDLANETTESPC,
- STRINGID_PKMNBOXSOMEONESPCFULL, STRINGID_PKMNBOXLANETTESPCFULL,
+ STRINGID_PKMNSITEMHEALEDBURN, STRINGID_PKMNSITEMCUREDPOISON, STRINGID_PKMNSITEMWOKEIT
+};
+
+const u16 gBerryEffectStringIds[] =
+{
+ STRINGID_PKMNSITEMCUREDPROBLEM, STRINGID_PKMNSITEMNORMALIZEDSTATUS
+};
+
+const u16 gBRNPreventionStringIds[] =
+{
+ STRINGID_PKMNSXPREVENTSBURNS, STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY
+};
+
+const u16 gPRLZPreventionStringIds[] =
+{
+ STRINGID_PKMNPREVENTSPARALYSISWITH, STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY
+};
+
+const u16 gPSNPreventionStringIds[] =
+{
+ STRINGID_PKMNPREVENTSPOISONINGWITH, STRINGID_PKMNSXPREVENTSYSZ, STRINGID_PKMNSXHADNOEFFECTONY
+};
+
+const u16 gItemSwapStringIds[] =
+{
+ STRINGID_PKMNOBTAINEDX, STRINGID_PKMNOBTAINEDX2, STRINGID_PKMNOBTAINEDXYOBTAINEDZ
+};
+
+const u16 gFlashFireStringIds[] =
+{
+ STRINGID_PKMNRAISEDFIREPOWERWITH, STRINGID_PKMNSXMADEYINEFFECTIVE
+};
+
+const u16 gCaughtMonStringIds[] =
+{
+ STRINGID_PKMNTRANSFERREDSOMEONESPC, STRINGID_PKMNTRANSFERREDLANETTESPC, STRINGID_PKMNBOXSOMEONESPCFULL, STRINGID_PKMNBOXLANETTESPCFULL,
};
const u16 gTrappingMoves[] =
@@ -1102,9 +1281,10 @@ const u8 gText_PkmnGettingIntoPosition[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is
const u8 gText_PkmnBeganGrowlingDeeply[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} began growling deeply!");
const u8 gText_PkmnEagerForMore[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is eager for more!");
-const u16 gUnknown_085CCF0A[] =
+const u16 gStringIds_85CCF0A[] =
{
- 0x016E, 0x016F, 0x0170, 0x0171
+ STRINGID_GLINTAPPEARSINEYE, STRINGID_PKMNGETTINGINTOPOSITION,
+ STRINGID_PKMNBEGANGROWLINGDEEPLY, STRINGID_PKMNEAGERFORMORE
};
const u8 gText_RefIfNothingIsDecided[] = _("REFEREE: If nothing is decided in\n3 turns, we will go to judging!");
@@ -1736,11 +1916,11 @@ u32 BattleStringExpandPlaceholders(const u8* src, u8* dst)
else
toCpy = gMoveNames[gStringInfo->currentMove];
break;
- case B_TXT_LAST_MOVE: // last used move name
- if (gStringInfo->lastMove > LAST_MOVE_INDEX)
+ case B_TXT_LAST_MOVE: // originally used move name
+ if (gStringInfo->originallyUsedMove > LAST_MOVE_INDEX)
toCpy = gText_UnknownMoveTypes[gBattleStruct->stringMoveType];
else
- toCpy = gMoveNames[gStringInfo->lastMove];
+ toCpy = gMoveNames[gStringInfo->originallyUsedMove];
break;
case B_TXT_LAST_ITEM: // last used item
if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000))
@@ -2118,7 +2298,7 @@ static void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst)
StringGetEnd10(dst);
srcID += 3;
break;
- case B_BUFF_NEGATIVE_FLAVOUR: // flavour table
+ case B_BUFF_NEGATIVE_FLAVOR: // flavor table
StringAppend(dst, gPokeblockWasTooXStringTable[src[srcID + 1]]);
srcID += 2;
break;
@@ -2264,9 +2444,9 @@ void BattleHandleAddTextPrinter(const u8 *text, u8 arg1)
if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000))
speed = 1;
else if (gBattleTypeFlags & BATTLE_TYPE_RECORDED)
- speed = sRecordedBattleTextSpeeds[sub_8185FC4()];
+ speed = sRecordedBattleTextSpeeds[GetTextSpeedInRecordedBattle()];
else
- speed = sav2_get_text_speed();
+ speed = GetPlayerTextSpeed();
gTextFlags.flag_0 = 1;
}