diff --git a/include/battle_arena.h b/include/battle_arena.h index 469c096129..b282009c60 100644 --- a/include/battle_arena.h +++ b/include/battle_arena.h @@ -8,7 +8,7 @@ u8 BattleArena_ShowJudgmentWindow(u8 *state); void BattleArena_InitPoints(void); void BattleArena_AddMindPoints(u8 battler); void BattleArena_AddSkillPoints(u8 battler); -void BattleArena_DeductSkillPoints(u8 battler, u16 stringId); +void BattleArena_DeductSkillPoints(u8 battler, enum StringID stringId); void DrawArenaRefereeTextBox(void); void EraseArenaRefereeTextBox(void); diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 0b7ea171c9..db4e653c0b 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -214,8 +214,8 @@ void BtlController_EmitTrainerSlideBack(u32 battler, u32 bufferId); void BtlController_EmitFaintAnimation(u32 battler, u32 bufferId); void BtlController_EmitBallThrowAnim(u32 battler, u32 bufferId, u8 caseId); void BtlController_EmitMoveAnimation(u32 battler, u32 bufferId, u16 move, u8 turnOfMove, u16 movePower, s32 dmg, u8 friendship, struct DisableStruct *disableStructPtr, u8 multihit); -void BtlController_EmitPrintString(u32 battler, u32 bufferId, u16 stringId); -void BtlController_EmitPrintSelectionString(u32 battler, u32 bufferId, u16 stringId); +void BtlController_EmitPrintString(u32 battler, u32 bufferId, enum StringID stringId); +void BtlController_EmitPrintSelectionString(u32 battler, u32 bufferId, enum StringID stringId); void BtlController_EmitChooseAction(u32 battler, u32 bufferId, u8 action, u16 itemId); void BtlController_EmitYesNoBox(u32 battler, u32 bufferId); void BtlController_EmitChooseMove(u32 battler, u32 bufferId, bool8 isDoubleBattle, bool8 NoPpNumber, struct ChooseMoveStruct *movePpData); diff --git a/include/battle_message.h b/include/battle_message.h index 18f80bb3fd..e9b133b656 100644 --- a/include/battle_message.h +++ b/include/battle_message.h @@ -2,6 +2,7 @@ #define GUARD_BATTLE_MESSAGE_H #include "constants/battle.h" +#include "constants/battle_string_ids.h" // This buffer can hold many different things. Some of the things it can hold // that have explicit sizes are listed below to ensure it can contain them. @@ -247,7 +248,7 @@ struct BattleMsgData u8 textBuffs[3][TEXT_BUFF_ARRAY_COUNT]; }; -void BufferStringBattle(u16 stringID, u32 battler); +void BufferStringBattle(enum StringID stringID, u32 battler); u32 BattleStringExpandPlaceholdersToDisplayedString(const u8 *src); u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst, u32 dstSize); void BattlePutTextOnWindow(const u8 *text, u8 windowId); diff --git a/include/battle_tv.h b/include/battle_tv.h index 72466d73b8..94b3cd92e5 100644 --- a/include/battle_tv.h +++ b/include/battle_tv.h @@ -1,7 +1,7 @@ #ifndef GUARD_BATTLE_TV_H #define GUARD_BATTLE_TV_H -void BattleTv_SetDataBasedOnString(u16 stringId); +void BattleTv_SetDataBasedOnString(enum StringID stringId); void BattleTv_SetDataBasedOnMove(u16 move, u16 weatherFlags, struct DisableStruct *disableStructPtr); void BattleTv_SetDataBasedOnAnimation(u8 animationId); void TryPutLinkBattleTvShowOnAir(void); diff --git a/include/battle_util.h b/include/battle_util.h index b8e2c91ccc..b67a36b591 100644 --- a/include/battle_util.h +++ b/include/battle_util.h @@ -2,6 +2,7 @@ #define GUARD_BATTLE_UTIL_H #include "move.h" +#include "constants/battle_string_ids.h" #define MOVE_LIMITATION_ZEROMOVE (1 << 0) #define MOVE_LIMITATION_PP (1 << 1) @@ -193,7 +194,7 @@ void MarkBattlerForControllerExec(u32 battler); void MarkBattlerReceivedLinkData(u32 battler); const u8* CancelMultiTurnMoves(u32 battler); bool32 WasUnableToUseMove(u32 battler); -void PrepareStringBattle(u16 stringId, u32 battler); +void PrepareStringBattle(enum StringID stringId, u32 battler); void ResetSentPokesToOpponentValue(void); void OpponentSwitchInResetSentPokesToOpponentValue(u32 battler); void UpdateSentPokesToOpponentValue(u32 battler); @@ -296,7 +297,7 @@ bool32 IsBattlerAffectedByHazards(u32 battler, bool32 toxicSpikes); void SortBattlersBySpeed(u8 *battlers, bool32 slowToFast); bool32 CompareStat(u32 battler, u8 statId, u8 cmpTo, u8 cmpKind); bool32 TryRoomService(u32 battler); -void BufferStatChange(u32 battler, u8 statId, u8 stringId); +void BufferStatChange(u32 battler, u8 statId, enum StringID stringId); bool32 BlocksPrankster(u16 move, u32 battlerPrankster, u32 battlerDef, bool32 checkTarget); u16 GetUsedHeldItem(u32 battler); bool32 PickupHasValidTarget(u32 battler); diff --git a/include/constants/battle_string_ids.h b/include/constants/battle_string_ids.h index 9eb09a2fb4..1e54932674 100644 --- a/include/constants/battle_string_ids.h +++ b/include/constants/battle_string_ids.h @@ -1,746 +1,742 @@ #ifndef GUARD_CONSTANTS_BATTLE_STRING_IDS_H #define GUARD_CONSTANTS_BATTLE_STRING_IDS_H -#define STRINGID_INTROMSG 0 -#define STRINGID_INTROSENDOUT 1 -#define STRINGID_RETURNMON 2 -#define STRINGID_SWITCHINMON 3 -#define STRINGID_USEDMOVE 4 -#define STRINGID_BATTLEEND 5 -#define STRINGID_TRAINERSLIDE 6 - -// todo: make some of those names less vague: attacker/target vs pkmn, etc. -#define STRINGID_TRAINER1LOSETEXT 12 -#define STRINGID_PKMNGAINEDEXP 13 -#define STRINGID_PKMNGREWTOLV 14 -#define STRINGID_PKMNLEARNEDMOVE 15 -#define STRINGID_TRYTOLEARNMOVE1 16 -#define STRINGID_TRYTOLEARNMOVE2 17 -#define STRINGID_TRYTOLEARNMOVE3 18 -#define STRINGID_PKMNFORGOTMOVE 19 -#define STRINGID_STOPLEARNINGMOVE 20 -#define STRINGID_DIDNOTLEARNMOVE 21 -#define STRINGID_PKMNLEARNEDMOVE2 22 -#define STRINGID_ATTACKMISSED 23 -#define STRINGID_PKMNPROTECTEDITSELF 24 -#define STRINGID_STATSWONTINCREASE2 25 -#define STRINGID_AVOIDEDDAMAGE 26 -#define STRINGID_ITDOESNTAFFECT 27 -#define STRINGID_ATTACKERFAINTED 28 -#define STRINGID_TARGETFAINTED 29 -#define STRINGID_PLAYERGOTMONEY 30 -#define STRINGID_PLAYERWHITEOUT 31 -#define STRINGID_PLAYERWHITEOUT2 32 -#define STRINGID_PREVENTSESCAPE 33 -#define STRINGID_HITXTIMES 34 -#define STRINGID_PKMNFELLASLEEP 35 -#define STRINGID_PKMNMADESLEEP 36 -#define STRINGID_PKMNALREADYASLEEP 37 -#define STRINGID_PKMNALREADYASLEEP2 38 -#define STRINGID_PKMNWASNTAFFECTED 39 -#define STRINGID_PKMNWASPOISONED 40 -#define STRINGID_PKMNPOISONEDBY 41 -#define STRINGID_PKMNHURTBYPOISON 42 -#define STRINGID_PKMNALREADYPOISONED 43 -#define STRINGID_PKMNBADLYPOISONED 44 -#define STRINGID_PKMNENERGYDRAINED 45 -#define STRINGID_PKMNWASBURNED 46 -#define STRINGID_PKMNBURNEDBY 47 -#define STRINGID_PKMNHURTBYBURN 48 -#define STRINGID_PKMNWASFROZEN 49 -#define STRINGID_PKMNFROZENBY 50 -#define STRINGID_PKMNISFROZEN 51 -#define STRINGID_PKMNWASDEFROSTED 52 -#define STRINGID_PKMNWASDEFROSTED2 53 -#define STRINGID_PKMNWASDEFROSTEDBY 54 -#define STRINGID_PKMNWASPARALYZED 55 -#define STRINGID_PKMNWASPARALYZEDBY 56 -#define STRINGID_PKMNISPARALYZED 57 -#define STRINGID_PKMNISALREADYPARALYZED 58 -#define STRINGID_PKMNHEALEDPARALYSIS 59 -#define STRINGID_PKMNDREAMEATEN 60 -#define STRINGID_STATSWONTINCREASE 61 -#define STRINGID_STATSWONTDECREASE 62 -#define STRINGID_TEAMSTOPPEDWORKING 63 -#define STRINGID_FOESTOPPEDWORKING 64 -#define STRINGID_PKMNISCONFUSED 65 -#define STRINGID_PKMNHEALEDCONFUSION 66 -#define STRINGID_PKMNWASCONFUSED 67 -#define STRINGID_PKMNALREADYCONFUSED 68 -#define STRINGID_PKMNFELLINLOVE 69 -#define STRINGID_PKMNINLOVE 70 -#define STRINGID_PKMNIMMOBILIZEDBYLOVE 71 -#define STRINGID_PKMNBLOWNAWAY 72 -#define STRINGID_PKMNCHANGEDTYPE 73 -#define STRINGID_PKMNFLINCHED 74 -#define STRINGID_PKMNREGAINEDHEALTH 75 -#define STRINGID_PKMNHPFULL 76 -#define STRINGID_PKMNRAISEDSPDEF 77 -#define STRINGID_PKMNRAISEDDEF 78 -#define STRINGID_PKMNCOVEREDBYVEIL 79 -#define STRINGID_PKMNUSEDSAFEGUARD 80 -#define STRINGID_PKMNSAFEGUARDEXPIRED 81 -#define STRINGID_PKMNWENTTOSLEEP 82 -#define STRINGID_PKMNSLEPTHEALTHY 83 -#define STRINGID_PKMNWHIPPEDWHIRLWIND 84 -#define STRINGID_PKMNTOOKSUNLIGHT 85 -#define STRINGID_PKMNLOWEREDHEAD 86 -#define STRINGID_PKMNISGLOWING 87 -#define STRINGID_PKMNFLEWHIGH 88 -#define STRINGID_PKMNDUGHOLE 89 -#define STRINGID_PKMNSQUEEZEDBYBIND 90 -#define STRINGID_PKMNTRAPPEDINVORTEX 91 -#define STRINGID_PKMNWRAPPEDBY 92 -#define STRINGID_PKMNCLAMPED 93 -#define STRINGID_PKMNHURTBY 94 -#define STRINGID_PKMNFREEDFROM 95 -#define STRINGID_PKMNCRASHED 96 -#define STRINGID_PKMNSHROUDEDINMIST 97 -#define STRINGID_PKMNPROTECTEDBYMIST 98 -#define STRINGID_PKMNGETTINGPUMPED 99 -#define STRINGID_PKMNHITWITHRECOIL 100 -#define STRINGID_PKMNPROTECTEDITSELF2 101 -#define STRINGID_PKMNBUFFETEDBYSANDSTORM 102 -#define STRINGID_PKMNPELTEDBYHAIL 103 -#define STRINGID_PKMNSEEDED 104 -#define STRINGID_PKMNEVADEDATTACK 105 -#define STRINGID_PKMNSAPPEDBYLEECHSEED 106 -#define STRINGID_PKMNFASTASLEEP 107 -#define STRINGID_PKMNWOKEUP 108 -#define STRINGID_PKMNUPROARKEPTAWAKE 109 -#define STRINGID_PKMNWOKEUPINUPROAR 110 -#define STRINGID_PKMNCAUSEDUPROAR 111 -#define STRINGID_PKMNMAKINGUPROAR 112 -#define STRINGID_PKMNCALMEDDOWN 113 -#define STRINGID_PKMNCANTSLEEPINUPROAR 114 -#define STRINGID_PKMNSTOCKPILED 115 -#define STRINGID_PKMNCANTSTOCKPILE 116 -#define STRINGID_PKMNCANTSLEEPINUPROAR2 117 -#define STRINGID_UPROARKEPTPKMNAWAKE 118 -#define STRINGID_PKMNSTAYEDAWAKEUSING 119 -#define STRINGID_PKMNSTORINGENERGY 120 -#define STRINGID_PKMNUNLEASHEDENERGY 121 -#define STRINGID_PKMNFATIGUECONFUSION 122 -#define STRINGID_PLAYERPICKEDUPMONEY 123 -#define STRINGID_PKMNUNAFFECTED 124 -#define STRINGID_PKMNTRANSFORMEDINTO 125 -#define STRINGID_PKMNMADESUBSTITUTE 126 -#define STRINGID_PKMNHASSUBSTITUTE 127 -#define STRINGID_SUBSTITUTEDAMAGED 128 -#define STRINGID_PKMNSUBSTITUTEFADED 129 -#define STRINGID_PKMNMUSTRECHARGE 130 -#define STRINGID_PKMNRAGEBUILDING 131 -#define STRINGID_PKMNMOVEWASDISABLED 132 -#define STRINGID_PKMNMOVEISDISABLED 133 -#define STRINGID_PKMNMOVEDISABLEDNOMORE 134 -#define STRINGID_PKMNGOTENCORE 135 -#define STRINGID_PKMNENCOREENDED 136 -#define STRINGID_PKMNTOOKAIM 137 -#define STRINGID_PKMNSKETCHEDMOVE 138 -#define STRINGID_PKMNTRYINGTOTAKEFOE 139 -#define STRINGID_PKMNTOOKFOE 140 -#define STRINGID_PKMNREDUCEDPP 141 -#define STRINGID_PKMNSTOLEITEM 142 -#define STRINGID_TARGETCANTESCAPENOW 143 -#define STRINGID_PKMNFELLINTONIGHTMARE 144 -#define STRINGID_PKMNLOCKEDINNIGHTMARE 145 -#define STRINGID_PKMNLAIDCURSE 146 -#define STRINGID_PKMNAFFLICTEDBYCURSE 147 -#define STRINGID_SPIKESSCATTERED 148 -#define STRINGID_PKMNHURTBYSPIKES 149 -#define STRINGID_PKMNIDENTIFIED 150 -#define STRINGID_PKMNPERISHCOUNTFELL 151 -#define STRINGID_PKMNBRACEDITSELF 152 -#define STRINGID_PKMNENDUREDHIT 153 -#define STRINGID_MAGNITUDESTRENGTH 154 -#define STRINGID_PKMNCUTHPMAXEDATTACK 155 -#define STRINGID_PKMNCOPIEDSTATCHANGES 156 -#define STRINGID_PKMNGOTFREE 157 -#define STRINGID_PKMNSHEDLEECHSEED 158 -#define STRINGID_PKMNBLEWAWAYSPIKES 159 -#define STRINGID_PKMNFLEDFROMBATTLE 160 -#define STRINGID_PKMNFORESAWATTACK 161 -#define STRINGID_PKMNTOOKATTACK 162 -#define STRINGID_PKMNATTACK 163 -#define STRINGID_PKMNCENTERATTENTION 164 -#define STRINGID_PKMNCHARGINGPOWER 165 -#define STRINGID_NATUREPOWERTURNEDINTO 166 -#define STRINGID_PKMNSTATUSNORMAL 167 -#define STRINGID_PKMNHASNOMOVESLEFT 168 -#define STRINGID_PKMNSUBJECTEDTOTORMENT 169 -#define STRINGID_PKMNCANTUSEMOVETORMENT 170 -#define STRINGID_PKMNTIGHTENINGFOCUS 171 -#define STRINGID_PKMNFELLFORTAUNT 172 -#define STRINGID_PKMNCANTUSEMOVETAUNT 173 -#define STRINGID_PKMNREADYTOHELP 174 -#define STRINGID_PKMNSWITCHEDITEMS 175 -#define STRINGID_PKMNCOPIEDFOE 176 -#define STRINGID_PKMNMADEWISH 177 -#define STRINGID_PKMNWISHCAMETRUE 178 -#define STRINGID_PKMNPLANTEDROOTS 179 -#define STRINGID_PKMNABSORBEDNUTRIENTS 180 -#define STRINGID_PKMNANCHOREDITSELF 181 -#define STRINGID_PKMNWASMADEDROWSY 182 -#define STRINGID_PKMNKNOCKEDOFF 183 -#define STRINGID_PKMNSWAPPEDABILITIES 184 -#define STRINGID_PKMNSEALEDOPPONENTMOVE 185 -#define STRINGID_PKMNCANTUSEMOVESEALED 186 -#define STRINGID_PKMNWANTSGRUDGE 187 -#define STRINGID_PKMNLOSTPPGRUDGE 188 -#define STRINGID_PKMNSHROUDEDITSELF 189 -#define STRINGID_PKMNMOVEBOUNCED 190 -#define STRINGID_PKMNWAITSFORTARGET 191 -#define STRINGID_PKMNSNATCHEDMOVE 192 -#define STRINGID_PKMNMADEITRAIN 193 -#define STRINGID_PKMNRAISEDSPEED 194 -#define STRINGID_PKMNPROTECTEDBY 195 -#define STRINGID_PKMNPREVENTSUSAGE 196 -#define STRINGID_PKMNRESTOREDHPUSING 197 -#define STRINGID_PKMNCHANGEDTYPEWITH 198 -#define STRINGID_PKMNPREVENTSPARALYSISWITH 199 -#define STRINGID_PKMNPREVENTSROMANCEWITH 200 -#define STRINGID_PKMNPREVENTSPOISONINGWITH 201 -#define STRINGID_PKMNPREVENTSCONFUSIONWITH 202 -#define STRINGID_PKMNRAISEDFIREPOWERWITH 203 -#define STRINGID_PKMNANCHORSITSELFWITH 204 -#define STRINGID_PKMNCUTSATTACKWITH 205 -#define STRINGID_PKMNPREVENTSSTATLOSSWITH 206 -#define STRINGID_PKMNHURTSWITH 207 -#define STRINGID_PKMNTRACED 208 -#define STRINGID_STATSHARPLY 209 -#define STRINGID_STATROSE 210 -#define STRINGID_STATHARSHLY 211 -#define STRINGID_STATFELL 212 -#define STRINGID_ATTACKERSSTATROSE 213 -#define STRINGID_DEFENDERSSTATROSE 214 -#define STRINGID_ATTACKERSSTATFELL 215 -#define STRINGID_DEFENDERSSTATFELL 216 -#define STRINGID_CRITICALHIT 217 -#define STRINGID_ONEHITKO 218 -#define STRINGID_123POOF 219 -#define STRINGID_ANDELLIPSIS 220 -#define STRINGID_NOTVERYEFFECTIVE 221 -#define STRINGID_SUPEREFFECTIVE 222 -#define STRINGID_GOTAWAYSAFELY 223 -#define STRINGID_WILDPKMNFLED 224 -#define STRINGID_NORUNNINGFROMTRAINERS 225 -#define STRINGID_CANTESCAPE 226 -#define STRINGID_DONTLEAVEBIRCH 227 -#define STRINGID_BUTNOTHINGHAPPENED 228 -#define STRINGID_BUTITFAILED 229 -#define STRINGID_ITHURTCONFUSION 230 -#define STRINGID_MIRRORMOVEFAILED 231 -#define STRINGID_STARTEDTORAIN 232 -#define STRINGID_DOWNPOURSTARTED 233 -#define STRINGID_RAINCONTINUES 234 -#define STRINGID_DOWNPOURCONTINUES 235 -#define STRINGID_RAINSTOPPED 236 -#define STRINGID_SANDSTORMBREWED 237 -#define STRINGID_SANDSTORMRAGES 238 -#define STRINGID_SANDSTORMSUBSIDED 239 -#define STRINGID_SUNLIGHTGOTBRIGHT 240 -#define STRINGID_SUNLIGHTSTRONG 241 -#define STRINGID_SUNLIGHTFADED 242 -#define STRINGID_STARTEDHAIL 243 -#define STRINGID_HAILCONTINUES 244 -#define STRINGID_HAILSTOPPED 245 -#define STRINGID_FAILEDTOSPITUP 246 -#define STRINGID_FAILEDTOSWALLOW 247 -#define STRINGID_WINDBECAMEHEATWAVE 248 -#define STRINGID_STATCHANGESGONE 249 -#define STRINGID_COINSSCATTERED 250 -#define STRINGID_TOOWEAKFORSUBSTITUTE 251 -#define STRINGID_SHAREDPAIN 252 -#define STRINGID_BELLCHIMED 253 -#define STRINGID_FAINTINTHREE 254 -#define STRINGID_NOPPLEFT 255 -#define STRINGID_BUTNOPPLEFT 256 -#define STRINGID_PLAYERUSEDITEM 257 -#define STRINGID_WALLYUSEDITEM 258 -#define STRINGID_TRAINERBLOCKEDBALL 259 -#define STRINGID_DONTBEATHIEF 260 -#define STRINGID_ITDODGEDBALL 261 -#define STRINGID_YOUMISSEDPKMN 262 -#define STRINGID_PKMNBROKEFREE 263 -#define STRINGID_ITAPPEAREDCAUGHT 264 -#define STRINGID_AARGHALMOSTHADIT 265 -#define STRINGID_SHOOTSOCLOSE 266 -#define STRINGID_GOTCHAPKMNCAUGHTPLAYER 267 -#define STRINGID_GOTCHAPKMNCAUGHTWALLY 268 -#define STRINGID_GIVENICKNAMECAPTURED 269 -#define STRINGID_PKMNSENTTOPC 270 -#define STRINGID_PKMNDATAADDEDTODEX 271 -#define STRINGID_ITISRAINING 272 -#define STRINGID_SANDSTORMISRAGING 273 -#define STRINGID_CANTESCAPE2 274 -#define STRINGID_PKMNIGNORESASLEEP 275 -#define STRINGID_PKMNIGNOREDORDERS 276 -#define STRINGID_PKMNBEGANTONAP 277 -#define STRINGID_PKMNLOAFING 278 -#define STRINGID_PKMNWONTOBEY 279 -#define STRINGID_PKMNTURNEDAWAY 280 -#define STRINGID_PKMNPRETENDNOTNOTICE 281 -#define STRINGID_ENEMYABOUTTOSWITCHPKMN 282 -#define STRINGID_CREPTCLOSER 283 -#define STRINGID_CANTGETCLOSER 284 -#define STRINGID_PKMNWATCHINGCAREFULLY 285 -#define STRINGID_PKMNCURIOUSABOUTX 286 -#define STRINGID_PKMNENTHRALLEDBYX 287 -#define STRINGID_PKMNIGNOREDX 288 -#define STRINGID_THREWPOKEBLOCKATPKMN 289 -#define STRINGID_OUTOFSAFARIBALLS 290 -#define STRINGID_PKMNSITEMCUREDPARALYSIS 291 -#define STRINGID_PKMNSITEMCUREDPOISON 292 -#define STRINGID_PKMNSITEMHEALEDBURN 293 -#define STRINGID_PKMNSITEMDEFROSTEDIT 294 -#define STRINGID_PKMNSITEMWOKEIT 295 -#define STRINGID_PKMNSITEMSNAPPEDOUT 296 -#define STRINGID_PKMNSITEMCUREDPROBLEM 297 -#define STRINGID_PKMNSITEMRESTOREDHEALTH 298 -#define STRINGID_PKMNSITEMRESTOREDPP 299 -#define STRINGID_PKMNSITEMRESTOREDSTATUS 300 -#define STRINGID_PKMNSITEMRESTOREDHPALITTLE 301 -#define STRINGID_ITEMALLOWSONLYYMOVE 302 -#define STRINGID_PKMNHUNGONWITHX 303 -#define STRINGID_EMPTYSTRING3 304 -#define STRINGID_PKMNSXPREVENTSBURNS 305 -#define STRINGID_PKMNSXBLOCKSY 306 -#define STRINGID_PKMNSXRESTOREDHPALITTLE2 307 -#define STRINGID_PKMNSXWHIPPEDUPSANDSTORM 308 -#define STRINGID_PKMNSXPREVENTSYLOSS 309 -#define STRINGID_PKMNSXINFATUATEDY 310 -#define STRINGID_PKMNSXMADEYINEFFECTIVE 311 -#define STRINGID_PKMNSXCUREDYPROBLEM 312 -#define STRINGID_ITSUCKEDLIQUIDOOZE 313 -#define STRINGID_PKMNTRANSFORMED 314 -#define STRINGID_ELECTRICITYWEAKENED 315 -#define STRINGID_FIREWEAKENED 316 -#define STRINGID_PKMNHIDUNDERWATER 317 -#define STRINGID_PKMNSPRANGUP 318 -#define STRINGID_HMMOVESCANTBEFORGOTTEN 319 -#define STRINGID_XFOUNDONEY 320 -#define STRINGID_PLAYERDEFEATEDTRAINER1 321 -#define STRINGID_SOOTHINGAROMA 322 -#define STRINGID_ITEMSCANTBEUSEDNOW 323 -#define STRINGID_FORXCOMMAYZ 324 -#define STRINGID_USINGITEMSTATOFPKMNROSE 325 -#define STRINGID_PKMNUSEDXTOGETPUMPED 326 -#define STRINGID_PKMNSXMADEYUSELESS 327 -#define STRINGID_PKMNTRAPPEDBYSANDTOMB 328 -#define STRINGID_EMPTYSTRING4 329 -#define STRINGID_ABOOSTED 330 -#define STRINGID_PKMNSXINTENSIFIEDSUN 331 -#define STRINGID_PKMNMAKESGROUNDMISS 332 -#define STRINGID_YOUTHROWABALLNOWRIGHT 333 -#define STRINGID_PKMNSXTOOKATTACK 334 -#define STRINGID_PKMNCHOSEXASDESTINY 335 -#define STRINGID_PKMNLOSTFOCUS 336 -#define STRINGID_USENEXTPKMN 337 -#define STRINGID_PKMNFLEDUSINGITS 338 -#define STRINGID_PKMNFLEDUSING 339 -#define STRINGID_PKMNWASDRAGGEDOUT 340 -#define STRINGID_PREVENTEDFROMWORKING 341 -#define STRINGID_PKMNSITEMNORMALIZEDSTATUS 342 -#define STRINGID_TRAINER1USEDITEM 343 -#define STRINGID_BOXISFULL 344 -#define STRINGID_PKMNAVOIDEDATTACK 345 -#define STRINGID_PKMNSXMADEITINEFFECTIVE 346 -#define STRINGID_PKMNSXPREVENTSFLINCHING 347 -#define STRINGID_PKMNALREADYHASBURN 348 -#define STRINGID_STATSWONTDECREASE2 349 -#define STRINGID_PKMNSXBLOCKSY2 350 -#define STRINGID_PKMNSXWOREOFF 351 -#define STRINGID_PKMNRAISEDDEFALITTLE 352 -#define STRINGID_PKMNRAISEDSPDEFALITTLE 353 -#define STRINGID_THEWALLSHATTERED 354 -#define STRINGID_PKMNSXPREVENTSYSZ 355 -#define STRINGID_PKMNSXCUREDITSYPROBLEM 356 -#define STRINGID_ATTACKERCANTESCAPE 357 -#define STRINGID_PKMNOBTAINEDX 358 -#define STRINGID_PKMNOBTAINEDX2 359 -#define STRINGID_PKMNOBTAINEDXYOBTAINEDZ 360 -#define STRINGID_BUTNOEFFECT 361 -#define STRINGID_PKMNSXHADNOEFFECTONY 362 -#define STRINGID_TWOENEMIESDEFEATED 363 -#define STRINGID_TRAINER2LOSETEXT 364 -#define STRINGID_PKMNINCAPABLEOFPOWER 365 -#define STRINGID_GLINTAPPEARSINEYE 366 -#define STRINGID_PKMNGETTINGINTOPOSITION 367 -#define STRINGID_PKMNBEGANGROWLINGDEEPLY 368 -#define STRINGID_PKMNEAGERFORMORE 369 -#define STRINGID_DEFEATEDOPPONENTBYREFEREE 370 -#define STRINGID_LOSTTOOPPONENTBYREFEREE 371 -#define STRINGID_TIEDOPPONENTBYREFEREE 372 -#define STRINGID_QUESTIONFORFEITMATCH 373 -#define STRINGID_FORFEITEDMATCH 374 -#define STRINGID_PKMNTRANSFERREDSOMEONESPC 375 -#define STRINGID_PKMNTRANSFERREDLANETTESPC 376 -#define STRINGID_PKMNBOXSOMEONESPCFULL 377 -#define STRINGID_PKMNBOXLANETTESPCFULL 378 -#define STRINGID_TRAINER1WINTEXT 379 -#define STRINGID_TRAINER2WINTEXT 380 - -#define STRINGID_ENDUREDSTURDY 381 -#define STRINGID_POWERHERB 382 -#define STRINGID_HURTBYITEM 383 -#define STRINGID_PSNBYITEM 384 -#define STRINGID_BRNBYITEM 385 -#define STRINGID_DEFABILITYIN 386 -#define STRINGID_GRAVITYINTENSIFIED 387 -#define STRINGID_TARGETIDENTIFIED 388 -#define STRINGID_TARGETWOKEUP 389 -#define STRINGID_PKMNSTOLEANDATEITEM 390 -#define STRINGID_TAILWINDBLEW 391 -#define STRINGID_PKMNWENTBACK 392 -#define STRINGID_PKMNCANTUSEITEMSANYMORE 393 -#define STRINGID_PKMNFLUNG 394 -#define STRINGID_PKMNPREVENTEDFROMHEALING 395 -#define STRINGID_PKMNSWITCHEDATKANDDEF 396 -#define STRINGID_PKMNSABILITYSUPPRESSED 397 -#define STRINGID_SHIELDEDFROMCRITICALHITS 398 -#define STRINGID_SWITCHEDATKANDSPATK 399 -#define STRINGID_SWITCHEDDEFANDSPDEF 400 -#define STRINGID_PKMNACQUIREDABILITY 401 -#define STRINGID_POISONSPIKESSCATTERED 402 -#define STRINGID_PKMNSWITCHEDSTATCHANGES 403 -#define STRINGID_PKMNSURROUNDEDWITHVEILOFWATER 404 -#define STRINGID_PKMNLEVITATEDONELECTROMAGNETISM 405 -#define STRINGID_PKMNTWISTEDDIMENSIONS 406 -#define STRINGID_POINTEDSTONESFLOAT 407 -#define STRINGID_CLOAKEDINMYSTICALMOONLIGHT 408 -#define STRINGID_TRAPPEDBYSWIRLINGMAGMA 409 -#define STRINGID_VANISHEDINSTANTLY 410 -#define STRINGID_PROTECTEDTEAM 411 -#define STRINGID_SHAREDITSGUARD 412 -#define STRINGID_SHAREDITSPOWER 413 -#define STRINGID_SWAPSDEFANDSPDEFOFALLPOKEMON 414 -#define STRINGID_BECAMENIMBLE 415 -#define STRINGID_HURLEDINTOTHEAIR 416 -#define STRINGID_HELDITEMSLOSEEFFECTS 417 -#define STRINGID_FELLSTRAIGHTDOWN 418 -#define STRINGID_TARGETCHANGEDTYPE 419 -#define STRINGID_PKMNACQUIREDSIMPLE 420 -#define STRINGID_EMPTYSTRING5 421 -#define STRINGID_KINDOFFER 422 -#define STRINGID_RESETSTARGETSSTATLEVELS 423 -#define STRINGID_EMPTYSTRING6 424 -#define STRINGID_ALLYSWITCHPOSITION 425 -#define STRINGID_RESTORETARGETSHEALTH 426 -#define STRINGID_TOOKPJMNINTOTHESKY 427 -#define STRINGID_FREEDFROMSKYDROP 428 -#define STRINGID_POSTPONETARGETMOVE 429 -#define STRINGID_REFLECTTARGETSTYPE 430 -#define STRINGID_TRANSFERHELDITEM 431 -#define STRINGID_EMBARGOENDS 432 -#define STRINGID_ELECTROMAGNETISM 433 -#define STRINGID_BUFFERENDS 434 -#define STRINGID_TELEKINESISENDS 435 -#define STRINGID_TAILWINDENDS 436 -#define STRINGID_LUCKYCHANTENDS 437 -#define STRINGID_TRICKROOMENDS 438 -#define STRINGID_WONDERROOMENDS 439 -#define STRINGID_MAGICROOMENDS 440 -#define STRINGID_MUDSPORTENDS 441 -#define STRINGID_WATERSPORTENDS 442 -#define STRINGID_GRAVITYENDS 443 -#define STRINGID_AQUARINGHEAL 444 -#define STRINGID_ELECTRICTERRAINENDS 445 -#define STRINGID_MISTYTERRAINENDS 446 -#define STRINGID_PSYCHICTERRAINENDS 447 -#define STRINGID_GRASSYTERRAINENDS 448 -#define STRINGID_TARGETABILITYSTATRAISE 449 -#define STRINGID_TARGETSSTATWASMAXEDOUT 450 -#define STRINGID_ATTACKERABILITYSTATRAISE 451 -#define STRINGID_POISONHEALHPUP 452 -#define STRINGID_BADDREAMSDMG 453 -#define STRINGID_MOLDBREAKERENTERS 454 -#define STRINGID_TERAVOLTENTERS 455 -#define STRINGID_TURBOBLAZEENTERS 456 -#define STRINGID_SLOWSTARTENTERS 457 -#define STRINGID_SLOWSTARTEND 458 -#define STRINGID_SOLARPOWERHPDROP 459 -#define STRINGID_AFTERMATHDMG 460 -#define STRINGID_ANTICIPATIONACTIVATES 461 -#define STRINGID_FOREWARNACTIVATES 462 -#define STRINGID_ICEBODYHPGAIN 463 -#define STRINGID_SNOWWARNINGHAIL 464 -#define STRINGID_FRISKACTIVATES 465 -#define STRINGID_UNNERVEENTERS 466 -#define STRINGID_HARVESTBERRY 467 -#define STRINGID_MAGICBOUNCEACTIVATES 468 -#define STRINGID_PROTEANTYPECHANGE 469 -#define STRINGID_SYMBIOSISITEMPASS 470 -#define STRINGID_STEALTHROCKDMG 471 -#define STRINGID_TOXICSPIKESABSORBED 472 -#define STRINGID_TOXICSPIKESPOISONED 473 -#define STRINGID_STICKYWEBSWITCHIN 474 -#define STRINGID_HEALINGWISHCAMETRUE 475 -#define STRINGID_HEALINGWISHHEALED 476 -#define STRINGID_LUNARDANCECAMETRUE 477 -#define STRINGID_CUSEDBODYDISABLED 478 -#define STRINGID_ATTACKERACQUIREDABILITY 479 -#define STRINGID_TARGETABILITYSTATLOWER 480 -#define STRINGID_TARGETSTATWONTGOHIGHER 481 -#define STRINGID_PKMNMOVEBOUNCEDABILITY 482 -#define STRINGID_IMPOSTERTRANSFORM 483 -#define STRINGID_ASSAULTVESTDOESNTALLOW 484 -#define STRINGID_GRAVITYPREVENTSUSAGE 485 -#define STRINGID_HEALBLOCKPREVENTSUSAGE 486 -#define STRINGID_NOTDONEYET 487 -#define STRINGID_STICKYWEBUSED 488 -#define STRINGID_QUASHSUCCESS 489 -#define STRINGID_PKMNBLEWAWAYTOXICSPIKES 490 -#define STRINGID_PKMNBLEWAWAYSTICKYWEB 491 -#define STRINGID_PKMNBLEWAWAYSTEALTHROCK 492 -#define STRINGID_IONDELUGEON 493 -#define STRINGID_TOPSYTURVYSWITCHEDSTATS 494 -#define STRINGID_TERRAINBECOMESMISTY 495 -#define STRINGID_TERRAINBECOMESGRASSY 496 -#define STRINGID_TERRAINBECOMESELECTRIC 497 -#define STRINGID_TERRAINBECOMESPSYCHIC 498 -#define STRINGID_TARGETELECTRIFIED 499 -#define STRINGID_MEGAEVOREACTING 500 -#define STRINGID_MEGAEVOEVOLVED 501 -#define STRINGID_DRASTICALLY 502 -#define STRINGID_SEVERELY 503 -#define STRINGID_INFESTATION 504 -#define STRINGID_NOEFFECTONTARGET 505 -#define STRINGID_BURSTINGFLAMESHIT 506 -#define STRINGID_BESTOWITEMGIVING 507 -#define STRINGID_THIRDTYPEADDED 508 -#define STRINGID_FELLFORFEINT 509 -#define STRINGID_POKEMONCANNOTUSEMOVE 510 -#define STRINGID_COVEREDINPOWDER 511 -#define STRINGID_POWDEREXPLODES 512 -#define STRINGID_BELCHCANTSELECT 513 -#define STRINGID_SPECTRALTHIEFSTEAL 514 -#define STRINGID_GRAVITYGROUNDING 515 -#define STRINGID_MISTYTERRAINPREVENTS 516 -#define STRINGID_GRASSYTERRAINHEALS 517 -#define STRINGID_ELECTRICTERRAINPREVENTS 518 -#define STRINGID_PSYCHICTERRAINPREVENTS 519 -#define STRINGID_SAFETYGOGGLESPROTECTED 520 -#define STRINGID_FLOWERVEILPROTECTED 521 -#define STRINGID_SWEETVEILPROTECTED 522 -#define STRINGID_AROMAVEILPROTECTED 523 -#define STRINGID_CELEBRATEMESSAGE 524 -#define STRINGID_USEDINSTRUCTEDMOVE 525 -#define STRINGID_THROATCHOPENDS 526 -#define STRINGID_PKMNCANTUSEMOVETHROATCHOP 527 -#define STRINGID_LASERFOCUS 528 -#define STRINGID_GEMACTIVATES 529 -#define STRINGID_BERRYDMGREDUCES 530 -#define STRINGID_AIRBALLOONFLOAT 531 -#define STRINGID_AIRBALLOONPOP 532 -#define STRINGID_INCINERATEBURN 533 -#define STRINGID_BUGBITE 534 -#define STRINGID_ILLUSIONWOREOFF 535 -#define STRINGID_ATTACKERCUREDTARGETSTATUS 536 -#define STRINGID_ATTACKERLOSTFIRETYPE 537 -#define STRINGID_HEALERCURE 538 -#define STRINGID_SCRIPTINGABILITYSTATRAISE 539 -#define STRINGID_RECEIVERABILITYTAKEOVER 540 -#define STRINGID_PKNMABSORBINGPOWER 541 -#define STRINGID_NOONEWILLBEABLETORUNAWAY 542 -#define STRINGID_DESTINYKNOTACTIVATES 543 -#define STRINGID_CLOAKEDINAFREEZINGLIGHT 544 -#define STRINGID_CLEARAMULETWONTLOWERSTATS 545 -#define STRINGID_FERVENTWISHREACHED 546 -#define STRINGID_AIRLOCKACTIVATES 547 -#define STRINGID_PRESSUREENTERS 548 -#define STRINGID_DARKAURAENTERS 549 -#define STRINGID_FAIRYAURAENTERS 550 -#define STRINGID_AURABREAKENTERS 551 -#define STRINGID_COMATOSEENTERS 552 -#define STRINGID_SCREENCLEANERENTERS 553 -#define STRINGID_FETCHEDPOKEBALL 554 -#define STRINGID_BATTLERABILITYRAISEDSTAT 555 -#define STRINGID_ASANDSTORMKICKEDUP 556 -#define STRINGID_PKMNSWILLPERISHIN3TURNS 557 -#define STRINGID_ABILITYRAISEDSTATDRASTICALLY 558 -#define STRINGID_AURAFLAREDTOLIFE 559 -#define STRINGID_ASONEENTERS 560 -#define STRINGID_CURIOUSMEDICINEENTERS 561 -#define STRINGID_CANACTFASTERTHANKSTO 562 -#define STRINGID_MICLEBERRYACTIVATES 563 -#define STRINGID_PKMNSHOOKOFFTHETAUNT 564 -#define STRINGID_PKMNGOTOVERITSINFATUATION 565 -#define STRINGID_ITEMCANNOTBEREMOVED 566 -#define STRINGID_STICKYBARBTRANSFER 567 -#define STRINGID_PKMNBURNHEALED 568 -#define STRINGID_REDCARDACTIVATE 569 -#define STRINGID_EJECTBUTTONACTIVATE 570 -#define STRINGID_ATKGOTOVERINFATUATION 571 -#define STRINGID_TORMENTEDNOMORE 572 -#define STRINGID_HEALBLOCKEDNOMORE 573 -#define STRINGID_ATTACKERBECAMEFULLYCHARGED 574 -#define STRINGID_ATTACKERBECAMEASHSPECIES 575 -#define STRINGID_EXTREMELYHARSHSUNLIGHT 576 -#define STRINGID_EXTREMESUNLIGHTFADED 577 -#define STRINGID_MOVEEVAPORATEDINTHEHARSHSUNLIGHT 578 -#define STRINGID_EXTREMELYHARSHSUNLIGHTWASNOTLESSENED 579 -#define STRINGID_HEAVYRAIN 580 -#define STRINGID_HEAVYRAINLIFTED 581 -#define STRINGID_MOVEFIZZLEDOUTINTHEHEAVYRAIN 582 -#define STRINGID_NORELIEFROMHEAVYRAIN 583 -#define STRINGID_MYSTERIOUSAIRCURRENT 584 -#define STRINGID_STRONGWINDSDISSIPATED 585 -#define STRINGID_MYSTERIOUSAIRCURRENTBLOWSON 586 -#define STRINGID_ATTACKWEAKENEDBSTRONGWINDS 587 -#define STRINGID_STUFFCHEEKSCANTSELECT 588 -#define STRINGID_PKMNREVERTEDTOPRIMAL 589 -#define STRINGID_BUTPOKEMONCANTUSETHEMOVE 590 -#define STRINGID_BUTHOOPACANTUSEIT 591 -#define STRINGID_BROKETHROUGHPROTECTION 592 -#define STRINGID_ABILITYALLOWSONLYMOVE 593 -#define STRINGID_SWAPPEDABILITIES 594 -#define STRINGID_PASTELVEILPROTECTED 595 -#define STRINGID_PASTELVEILENTERS 596 -#define STRINGID_BATTLERTYPECHANGEDTO 597 -#define STRINGID_BOTHCANNOLONGERESCAPE 598 -#define STRINGID_CANTESCAPEDUETOUSEDMOVE 599 -#define STRINGID_PKMNBECAMEWEAKERTOFIRE 600 -#define STRINGID_ABOUTTOUSEPOLTERGEIST 601 -#define STRINGID_CANTESCAPEBECAUSEOFCURRENTMOVE 602 -#define STRINGID_NEUTRALIZINGGASENTERS 603 -#define STRINGID_NEUTRALIZINGGASOVER 604 -#define STRINGID_TARGETTOOHEAVY 605 -#define STRINGID_PKMNTOOKTARGETHIGH 606 -#define STRINGID_PKMNINSNAPTRAP 607 -#define STRINGID_METEORBEAMCHARGING 608 -#define STRINGID_HEATUPBEAK 609 -#define STRINGID_COURTCHANGE 610 -#define STRINGID_PLAYERLOSTTOENEMYTRAINER 611 -#define STRINGID_PLAYERPAIDPRIZEMONEY 612 -#define STRINGID_ZPOWERSURROUNDS 613 -#define STRINGID_ZMOVEUNLEASHED 614 -#define STRINGID_ZMOVERESETSSTATS 615 -#define STRINGID_ZMOVEALLSTATSUP 616 -#define STRINGID_ZMOVEZBOOSTCRIT 617 -#define STRINGID_ZMOVERESTOREHP 618 -#define STRINGID_ZMOVESTATUP 619 -#define STRINGID_ZMOVEHPTRAP 620 -#define STRINGID_ATTACKEREXPELLEDTHEPOISON 621 -#define STRINGID_ATTACKERSHOOKITSELFAWAKE 622 -#define STRINGID_ATTACKERBROKETHROUGHPARALYSIS 623 -#define STRINGID_ATTACKERHEALEDITSBURN 624 -#define STRINGID_ATTACKERMELTEDTHEICE 625 -#define STRINGID_TARGETTOUGHEDITOUT 626 -#define STRINGID_ATTACKERLOSTELECTRICTYPE 627 -#define STRINGID_ATTACKERSWITCHEDSTATWITHTARGET 628 -#define STRINGID_BEINGHITCHARGEDPKMNWITHPOWER 629 -#define STRINGID_SUNLIGHTACTIVATEDABILITY 630 -#define STRINGID_STATWASHEIGHTENED 631 -#define STRINGID_ELECTRICTERRAINACTIVATEDABILITY 632 -#define STRINGID_ABILITYWEAKENEDSURROUNDINGMONSSTAT 633 -#define STRINGID_ATTACKERGAINEDSTRENGTHFROMTHEFALLEN 634 -#define STRINGID_PKMNSABILITYPREVENTSABILITY 635 -#define STRINGID_PREPARESHELLTRAP 636 -#define STRINGID_SHELLTRAPDIDNTWORK 637 -#define STRINGID_SPIKESDISAPPEAREDFROMTEAM 638 -#define STRINGID_TOXICSPIKESDISAPPEAREDFROMTEAM 639 -#define STRINGID_STICKYWEBDISAPPEAREDFROMTEAM 640 -#define STRINGID_STEALTHROCKDISAPPEAREDFROMTEAM 641 -#define STRINGID_COULDNTFULLYPROTECT 642 -#define STRINGID_STOCKPILEDEFFECTWOREOFF 643 -#define STRINGID_PKMNREVIVEDREADYTOFIGHT 644 -#define STRINGID_ITEMRESTOREDSPECIESHEALTH 645 -#define STRINGID_ITEMCUREDSPECIESSTATUS 646 -#define STRINGID_ITEMRESTOREDSPECIESPP 647 -#define STRINGID_THUNDERCAGETRAPPED 648 -#define STRINGID_PKMNHURTBYFROSTBITE 649 -#define STRINGID_PKMNGOTFROSTBITE 650 -#define STRINGID_PKMNSITEMHEALEDFROSTBITE 651 -#define STRINGID_ATTACKERHEALEDITSFROSTBITE 652 -#define STRINGID_PKMNFROSTBITEHEALED 653 -#define STRINGID_PKMNFROSTBITEHEALED2 654 -#define STRINGID_PKMNFROSTBITEHEALEDBY 655 -#define STRINGID_MIRRORHERBCOPIED 656 -#define STRINGID_STARTEDSNOW 657 -#define STRINGID_SNOWCONTINUES 658 -#define STRINGID_SNOWSTOPPED 659 -#define STRINGID_SNOWWARNINGSNOW 660 -#define STRINGID_PKMNITEMMELTED 661 -#define STRINGID_ULTRABURSTREACTING 662 -#define STRINGID_ULTRABURSTCOMPLETED 663 -#define STRINGID_TEAMGAINEDEXP 664 -#define STRINGID_CURRENTMOVECANTSELECT 665 -#define STRINGID_TARGETISBEINGSALTCURED 666 -#define STRINGID_TARGETISHURTBYSALTCURE 667 -#define STRINGID_TARGETCOVEREDINSTICKYCANDYSYRUP 668 -#define STRINGID_SHARPSTEELFLOATS 669 -#define STRINGID_SHARPSTEELDMG 670 -#define STRINGID_PKMNBLEWAWAYSHARPSTEEL 671 -#define STRINGID_SHARPSTEELDISAPPEAREDFROMTEAM 672 -#define STRINGID_TEAMTRAPPEDWITHVINES 673 -#define STRINGID_PKMNHURTBYVINES 674 -#define STRINGID_TEAMCAUGHTINVORTEX 675 -#define STRINGID_PKMNHURTBYVORTEX 676 -#define STRINGID_TEAMSURROUNDEDBYFIRE 677 -#define STRINGID_PKMNBURNINGUP 678 -#define STRINGID_TEAMSURROUNDEDBYROCKS 679 -#define STRINGID_PKMNHURTBYROCKSTHROWN 680 -#define STRINGID_MOVEBLOCKEDBYDYNAMAX 681 -#define STRINGID_ZEROTOHEROTRANSFORMATION 682 -#define STRINGID_THETWOMOVESBECOMEONE 683 -#define STRINGID_ARAINBOWAPPEAREDONSIDE 684 -#define STRINGID_THERAINBOWDISAPPEARED 685 -#define STRINGID_WAITINGFORPARTNERSMOVE 686 -#define STRINGID_SEAOFFIREENVELOPEDSIDE 687 -#define STRINGID_HURTBYTHESEAOFFIRE 688 -#define STRINGID_THESEAOFFIREDISAPPEARED 689 -#define STRINGID_SWAMPENVELOPEDSIDE 690 -#define STRINGID_THESWAMPDISAPPEARED 691 -#define STRINGID_PKMNTELLCHILLINGRECEPTIONJOKE 692 -#define STRINGID_HOSPITALITYRESTORATION 693 -#define STRINGID_ELECTROSHOTCHARGING 694 -#define STRINGID_ITEMWASUSEDUP 695 -#define STRINGID_ATTACKERLOSTITSTYPE 696 -#define STRINGID_SHEDITSTAIL 697 -#define STRINGID_CLOAKEDINAHARSHLIGHT 698 -#define STRINGID_SUPERSWEETAROMAWAFTS 699 -#define STRINGID_DIMENSIONSWERETWISTED 700 -#define STRINGID_BIZARREARENACREATED 701 -#define STRINGID_BIZARREAREACREATED 702 -#define STRINGID_TIDYINGUPCOMPLETE 703 -#define STRINGID_PKMNTERASTALLIZEDINTO 704 -#define STRINGID_BOOSTERENERGYACTIVATES 705 -#define STRINGID_FOGCREPTUP 706 -#define STRINGID_FOGISDEEP 707 -#define STRINGID_FOGLIFTED 708 -#define STRINGID_PKMNMADESHELLGLEAM 709 -#define STRINGID_FICKLEBEAMDOUBLED 710 -#define STRINGID_COMMANDERACTIVATES 711 -#define STRINGID_POKEFLUTECATCHY 712 -#define STRINGID_POKEFLUTE 713 -#define STRINGID_MONHEARINGFLUTEAWOKE 714 -#define STRINGID_SUNLIGHTISHARSH 715 -#define STRINGID_ITISHAILING 716 -#define STRINGID_ITISSNOWING 717 -#define STRINGID_ISCOVEREDWITHGRASS 718 -#define STRINGID_MISTSWIRLSAROUND 719 -#define STRINGID_ELECTRICCURRENTISRUNNING 720 -#define STRINGID_SEEMSWEIRD 721 -#define STRINGID_WAGGLINGAFINGER 722 -#define STRINGID_BLOCKEDBYSLEEPCLAUSE 723 -#define STRINGID_SUPEREFFECTIVETWOFOES 724 -#define STRINGID_NOTVERYEFFECTIVETWOFOES 725 -#define STRINGID_ITDOESNTAFFECTTWOFOES 726 -#define STRINGID_SENDCAUGHTMONPARTYORBOX 727 -#define STRINGID_PKMNSENTTOPCAFTERCATCH 728 -#define STRINGID_PKMNDYNAMAXED 729 -#define STRINGID_PKMNGIGANTAMAXED 730 -#define STRINGID_TIMETODYNAMAX 731 -#define STRINGID_TIMETOGIGANTAMAX 732 -#define STRINGID_QUESTIONFORFEITBATTLE 733 -#define STRINGID_FORFEITBATTLEGAVEMONEY 734 - -#define BATTLESTRINGS_COUNT 735 - -// This is the string id that gBattleStringsTable starts with. -// String ids before this (e.g. STRINGID_INTROMSG) are not in the table, -// and are instead handled explicitly by BufferStringBattle. -#define BATTLESTRINGS_TABLE_START STRINGID_TRAINER1LOSETEXT +enum StringID +{ + STRINGID_INTROMSG, + STRINGID_INTROSENDOUT, + STRINGID_RETURNMON, + STRINGID_SWITCHINMON, + STRINGID_USEDMOVE, + STRINGID_BATTLEEND, + STRINGID_TRAINERSLIDE, + STRINGID_TABLE_START, // Make sure to add new messages below this marker + // todo: make some of those names less vague: attacker/target vs pkmn, etc. + STRINGID_TRAINER1LOSETEXT, + STRINGID_PKMNGAINEDEXP, + STRINGID_PKMNGREWTOLV, + STRINGID_PKMNLEARNEDMOVE, + STRINGID_TRYTOLEARNMOVE1, + STRINGID_TRYTOLEARNMOVE2, + STRINGID_TRYTOLEARNMOVE3, + STRINGID_PKMNFORGOTMOVE, + STRINGID_STOPLEARNINGMOVE, + STRINGID_DIDNOTLEARNMOVE, + STRINGID_PKMNLEARNEDMOVE2, + STRINGID_ATTACKMISSED, + STRINGID_PKMNPROTECTEDITSELF, + STRINGID_STATSWONTINCREASE2, + STRINGID_AVOIDEDDAMAGE, + STRINGID_ITDOESNTAFFECT, + STRINGID_ATTACKERFAINTED, + STRINGID_TARGETFAINTED, + STRINGID_PLAYERGOTMONEY, + STRINGID_PLAYERWHITEOUT, + STRINGID_PLAYERWHITEOUT2, + STRINGID_PREVENTSESCAPE, + STRINGID_HITXTIMES, + STRINGID_PKMNFELLASLEEP, + STRINGID_PKMNMADESLEEP, + STRINGID_PKMNALREADYASLEEP, + STRINGID_PKMNALREADYASLEEP2, + STRINGID_PKMNWASNTAFFECTED, + STRINGID_PKMNWASPOISONED, + STRINGID_PKMNPOISONEDBY, + STRINGID_PKMNHURTBYPOISON, + STRINGID_PKMNALREADYPOISONED, + STRINGID_PKMNBADLYPOISONED, + STRINGID_PKMNENERGYDRAINED, + STRINGID_PKMNWASBURNED, + STRINGID_PKMNBURNEDBY, + STRINGID_PKMNHURTBYBURN, + STRINGID_PKMNWASFROZEN, + STRINGID_PKMNFROZENBY, + STRINGID_PKMNISFROZEN, + STRINGID_PKMNWASDEFROSTED, + STRINGID_PKMNWASDEFROSTED2, + STRINGID_PKMNWASDEFROSTEDBY, + STRINGID_PKMNWASPARALYZED, + STRINGID_PKMNWASPARALYZEDBY, + STRINGID_PKMNISPARALYZED, + STRINGID_PKMNISALREADYPARALYZED, + STRINGID_PKMNHEALEDPARALYSIS, + STRINGID_PKMNDREAMEATEN, + STRINGID_STATSWONTINCREASE, + STRINGID_STATSWONTDECREASE, + STRINGID_TEAMSTOPPEDWORKING, + STRINGID_FOESTOPPEDWORKING, + STRINGID_PKMNISCONFUSED, + STRINGID_PKMNHEALEDCONFUSION, + STRINGID_PKMNWASCONFUSED, + STRINGID_PKMNALREADYCONFUSED, + STRINGID_PKMNFELLINLOVE, + STRINGID_PKMNINLOVE, + STRINGID_PKMNIMMOBILIZEDBYLOVE, + STRINGID_PKMNBLOWNAWAY, + STRINGID_PKMNCHANGEDTYPE, + STRINGID_PKMNFLINCHED, + STRINGID_PKMNREGAINEDHEALTH, + STRINGID_PKMNHPFULL, + STRINGID_PKMNRAISEDSPDEF, + STRINGID_PKMNRAISEDDEF, + STRINGID_PKMNCOVEREDBYVEIL, + STRINGID_PKMNUSEDSAFEGUARD, + STRINGID_PKMNSAFEGUARDEXPIRED, + STRINGID_PKMNWENTTOSLEEP, + STRINGID_PKMNSLEPTHEALTHY, + STRINGID_PKMNWHIPPEDWHIRLWIND, + STRINGID_PKMNTOOKSUNLIGHT, + STRINGID_PKMNLOWEREDHEAD, + STRINGID_PKMNISGLOWING, + STRINGID_PKMNFLEWHIGH, + STRINGID_PKMNDUGHOLE, + STRINGID_PKMNSQUEEZEDBYBIND, + STRINGID_PKMNTRAPPEDINVORTEX, + STRINGID_PKMNWRAPPEDBY, + STRINGID_PKMNCLAMPED, + STRINGID_PKMNHURTBY, + STRINGID_PKMNFREEDFROM, + STRINGID_PKMNCRASHED, + STRINGID_PKMNSHROUDEDINMIST, + STRINGID_PKMNPROTECTEDBYMIST, + STRINGID_PKMNGETTINGPUMPED, + STRINGID_PKMNHITWITHRECOIL, + STRINGID_PKMNPROTECTEDITSELF2, + STRINGID_PKMNBUFFETEDBYSANDSTORM, + STRINGID_PKMNPELTEDBYHAIL, + STRINGID_PKMNSEEDED, + STRINGID_PKMNEVADEDATTACK, + STRINGID_PKMNSAPPEDBYLEECHSEED, + STRINGID_PKMNFASTASLEEP, + STRINGID_PKMNWOKEUP, + STRINGID_PKMNUPROARKEPTAWAKE, + STRINGID_PKMNWOKEUPINUPROAR, + STRINGID_PKMNCAUSEDUPROAR, + STRINGID_PKMNMAKINGUPROAR, + STRINGID_PKMNCALMEDDOWN, + STRINGID_PKMNCANTSLEEPINUPROAR, + STRINGID_PKMNSTOCKPILED, + STRINGID_PKMNCANTSTOCKPILE, + STRINGID_PKMNCANTSLEEPINUPROAR2, + STRINGID_UPROARKEPTPKMNAWAKE, + STRINGID_PKMNSTAYEDAWAKEUSING, + STRINGID_PKMNSTORINGENERGY, + STRINGID_PKMNUNLEASHEDENERGY, + STRINGID_PKMNFATIGUECONFUSION, + STRINGID_PLAYERPICKEDUPMONEY, + STRINGID_PKMNUNAFFECTED, + STRINGID_PKMNTRANSFORMEDINTO, + STRINGID_PKMNMADESUBSTITUTE, + STRINGID_PKMNHASSUBSTITUTE, + STRINGID_SUBSTITUTEDAMAGED, + STRINGID_PKMNSUBSTITUTEFADED, + STRINGID_PKMNMUSTRECHARGE, + STRINGID_PKMNRAGEBUILDING, + STRINGID_PKMNMOVEWASDISABLED, + STRINGID_PKMNMOVEISDISABLED, + STRINGID_PKMNMOVEDISABLEDNOMORE, + STRINGID_PKMNGOTENCORE, + STRINGID_PKMNENCOREENDED, + STRINGID_PKMNTOOKAIM, + STRINGID_PKMNSKETCHEDMOVE, + STRINGID_PKMNTRYINGTOTAKEFOE, + STRINGID_PKMNTOOKFOE, + STRINGID_PKMNREDUCEDPP, + STRINGID_PKMNSTOLEITEM, + STRINGID_TARGETCANTESCAPENOW, + STRINGID_PKMNFELLINTONIGHTMARE, + STRINGID_PKMNLOCKEDINNIGHTMARE, + STRINGID_PKMNLAIDCURSE, + STRINGID_PKMNAFFLICTEDBYCURSE, + STRINGID_SPIKESSCATTERED, + STRINGID_PKMNHURTBYSPIKES, + STRINGID_PKMNIDENTIFIED, + STRINGID_PKMNPERISHCOUNTFELL, + STRINGID_PKMNBRACEDITSELF, + STRINGID_PKMNENDUREDHIT, + STRINGID_MAGNITUDESTRENGTH, + STRINGID_PKMNCUTHPMAXEDATTACK, + STRINGID_PKMNCOPIEDSTATCHANGES, + STRINGID_PKMNGOTFREE, + STRINGID_PKMNSHEDLEECHSEED, + STRINGID_PKMNBLEWAWAYSPIKES, + STRINGID_PKMNFLEDFROMBATTLE, + STRINGID_PKMNFORESAWATTACK, + STRINGID_PKMNTOOKATTACK, + STRINGID_PKMNATTACK, + STRINGID_PKMNCENTERATTENTION, + STRINGID_PKMNCHARGINGPOWER, + STRINGID_NATUREPOWERTURNEDINTO, + STRINGID_PKMNSTATUSNORMAL, + STRINGID_PKMNHASNOMOVESLEFT, + STRINGID_PKMNSUBJECTEDTOTORMENT, + STRINGID_PKMNCANTUSEMOVETORMENT, + STRINGID_PKMNTIGHTENINGFOCUS, + STRINGID_PKMNFELLFORTAUNT, + STRINGID_PKMNCANTUSEMOVETAUNT, + STRINGID_PKMNREADYTOHELP, + STRINGID_PKMNSWITCHEDITEMS, + STRINGID_PKMNCOPIEDFOE, + STRINGID_PKMNMADEWISH, + STRINGID_PKMNWISHCAMETRUE, + STRINGID_PKMNPLANTEDROOTS, + STRINGID_PKMNABSORBEDNUTRIENTS, + STRINGID_PKMNANCHOREDITSELF, + STRINGID_PKMNWASMADEDROWSY, + STRINGID_PKMNKNOCKEDOFF, + STRINGID_PKMNSWAPPEDABILITIES, + STRINGID_PKMNSEALEDOPPONENTMOVE, + STRINGID_PKMNCANTUSEMOVESEALED, + STRINGID_PKMNWANTSGRUDGE, + STRINGID_PKMNLOSTPPGRUDGE, + STRINGID_PKMNSHROUDEDITSELF, + STRINGID_PKMNMOVEBOUNCED, + STRINGID_PKMNWAITSFORTARGET, + STRINGID_PKMNSNATCHEDMOVE, + STRINGID_PKMNMADEITRAIN, + STRINGID_PKMNRAISEDSPEED, + STRINGID_PKMNPROTECTEDBY, + STRINGID_PKMNPREVENTSUSAGE, + STRINGID_PKMNRESTOREDHPUSING, + STRINGID_PKMNCHANGEDTYPEWITH, + STRINGID_PKMNPREVENTSPARALYSISWITH, + STRINGID_PKMNPREVENTSROMANCEWITH, + STRINGID_PKMNPREVENTSPOISONINGWITH, + STRINGID_PKMNPREVENTSCONFUSIONWITH, + STRINGID_PKMNRAISEDFIREPOWERWITH, + STRINGID_PKMNANCHORSITSELFWITH, + STRINGID_PKMNCUTSATTACKWITH, + STRINGID_PKMNPREVENTSSTATLOSSWITH, + STRINGID_PKMNHURTSWITH, + STRINGID_PKMNTRACED, + STRINGID_STATSHARPLY, + STRINGID_STATROSE, + STRINGID_STATHARSHLY, + STRINGID_STATFELL, + STRINGID_ATTACKERSSTATROSE, + STRINGID_DEFENDERSSTATROSE, + STRINGID_ATTACKERSSTATFELL, + STRINGID_DEFENDERSSTATFELL, + STRINGID_CRITICALHIT, + STRINGID_ONEHITKO, + STRINGID_123POOF, + STRINGID_ANDELLIPSIS, + STRINGID_NOTVERYEFFECTIVE, + STRINGID_SUPEREFFECTIVE, + STRINGID_GOTAWAYSAFELY, + STRINGID_WILDPKMNFLED, + STRINGID_NORUNNINGFROMTRAINERS, + STRINGID_CANTESCAPE, + STRINGID_DONTLEAVEBIRCH, + STRINGID_BUTNOTHINGHAPPENED, + STRINGID_BUTITFAILED, + STRINGID_ITHURTCONFUSION, + STRINGID_MIRRORMOVEFAILED, + STRINGID_STARTEDTORAIN, + STRINGID_DOWNPOURSTARTED, + STRINGID_RAINCONTINUES, + STRINGID_DOWNPOURCONTINUES, + STRINGID_RAINSTOPPED, + STRINGID_SANDSTORMBREWED, + STRINGID_SANDSTORMRAGES, + STRINGID_SANDSTORMSUBSIDED, + STRINGID_SUNLIGHTGOTBRIGHT, + STRINGID_SUNLIGHTSTRONG, + STRINGID_SUNLIGHTFADED, + STRINGID_STARTEDHAIL, + STRINGID_HAILCONTINUES, + STRINGID_HAILSTOPPED, + STRINGID_FAILEDTOSPITUP, + STRINGID_FAILEDTOSWALLOW, + STRINGID_WINDBECAMEHEATWAVE, + STRINGID_STATCHANGESGONE, + STRINGID_COINSSCATTERED, + STRINGID_TOOWEAKFORSUBSTITUTE, + STRINGID_SHAREDPAIN, + STRINGID_BELLCHIMED, + STRINGID_FAINTINTHREE, + STRINGID_NOPPLEFT, + STRINGID_BUTNOPPLEFT, + STRINGID_PLAYERUSEDITEM, + STRINGID_WALLYUSEDITEM, + STRINGID_TRAINERBLOCKEDBALL, + STRINGID_DONTBEATHIEF, + STRINGID_ITDODGEDBALL, + STRINGID_YOUMISSEDPKMN, + STRINGID_PKMNBROKEFREE, + STRINGID_ITAPPEAREDCAUGHT, + STRINGID_AARGHALMOSTHADIT, + STRINGID_SHOOTSOCLOSE, + STRINGID_GOTCHAPKMNCAUGHTPLAYER, + STRINGID_GOTCHAPKMNCAUGHTWALLY, + STRINGID_GIVENICKNAMECAPTURED, + STRINGID_PKMNSENTTOPC, + STRINGID_PKMNDATAADDEDTODEX, + STRINGID_ITISRAINING, + STRINGID_SANDSTORMISRAGING, + STRINGID_CANTESCAPE2, + STRINGID_PKMNIGNORESASLEEP, + STRINGID_PKMNIGNOREDORDERS, + STRINGID_PKMNBEGANTONAP, + STRINGID_PKMNLOAFING, + STRINGID_PKMNWONTOBEY, + STRINGID_PKMNTURNEDAWAY, + STRINGID_PKMNPRETENDNOTNOTICE, + STRINGID_ENEMYABOUTTOSWITCHPKMN, + STRINGID_CREPTCLOSER, + STRINGID_CANTGETCLOSER, + STRINGID_PKMNWATCHINGCAREFULLY, + STRINGID_PKMNCURIOUSABOUTX, + STRINGID_PKMNENTHRALLEDBYX, + STRINGID_PKMNIGNOREDX, + STRINGID_THREWPOKEBLOCKATPKMN, + STRINGID_OUTOFSAFARIBALLS, + STRINGID_PKMNSITEMCUREDPARALYSIS, + STRINGID_PKMNSITEMCUREDPOISON, + STRINGID_PKMNSITEMHEALEDBURN, + STRINGID_PKMNSITEMDEFROSTEDIT, + STRINGID_PKMNSITEMWOKEIT, + STRINGID_PKMNSITEMSNAPPEDOUT, + STRINGID_PKMNSITEMCUREDPROBLEM, + STRINGID_PKMNSITEMRESTOREDHEALTH, + STRINGID_PKMNSITEMRESTOREDPP, + STRINGID_PKMNSITEMRESTOREDSTATUS, + STRINGID_PKMNSITEMRESTOREDHPALITTLE, + STRINGID_ITEMALLOWSONLYYMOVE, + STRINGID_PKMNHUNGONWITHX, + STRINGID_EMPTYSTRING3, + STRINGID_PKMNSXPREVENTSBURNS, + STRINGID_PKMNSXBLOCKSY, + STRINGID_PKMNSXRESTOREDHPALITTLE2, + STRINGID_PKMNSXWHIPPEDUPSANDSTORM, + STRINGID_PKMNSXPREVENTSYLOSS, + STRINGID_PKMNSXINFATUATEDY, + STRINGID_PKMNSXMADEYINEFFECTIVE, + STRINGID_PKMNSXCUREDYPROBLEM, + STRINGID_ITSUCKEDLIQUIDOOZE, + STRINGID_PKMNTRANSFORMED, + STRINGID_ELECTRICITYWEAKENED, + STRINGID_FIREWEAKENED, + STRINGID_PKMNHIDUNDERWATER, + STRINGID_PKMNSPRANGUP, + STRINGID_HMMOVESCANTBEFORGOTTEN, + STRINGID_XFOUNDONEY, + STRINGID_PLAYERDEFEATEDTRAINER1, + STRINGID_SOOTHINGAROMA, + STRINGID_ITEMSCANTBEUSEDNOW, + STRINGID_FORXCOMMAYZ, + STRINGID_USINGITEMSTATOFPKMNROSE, + STRINGID_PKMNUSEDXTOGETPUMPED, + STRINGID_PKMNSXMADEYUSELESS, + STRINGID_PKMNTRAPPEDBYSANDTOMB, + STRINGID_EMPTYSTRING4, + STRINGID_ABOOSTED, + STRINGID_PKMNSXINTENSIFIEDSUN, + STRINGID_PKMNMAKESGROUNDMISS, + STRINGID_YOUTHROWABALLNOWRIGHT, + STRINGID_PKMNSXTOOKATTACK, + STRINGID_PKMNCHOSEXASDESTINY, + STRINGID_PKMNLOSTFOCUS, + STRINGID_USENEXTPKMN, + STRINGID_PKMNFLEDUSINGITS, + STRINGID_PKMNFLEDUSING, + STRINGID_PKMNWASDRAGGEDOUT, + STRINGID_PREVENTEDFROMWORKING, + STRINGID_PKMNSITEMNORMALIZEDSTATUS, + STRINGID_TRAINER1USEDITEM, + STRINGID_BOXISFULL, + STRINGID_PKMNAVOIDEDATTACK, + STRINGID_PKMNSXMADEITINEFFECTIVE, + STRINGID_PKMNSXPREVENTSFLINCHING, + STRINGID_PKMNALREADYHASBURN, + STRINGID_STATSWONTDECREASE2, + STRINGID_PKMNSXBLOCKSY2, + STRINGID_PKMNSXWOREOFF, + STRINGID_PKMNRAISEDDEFALITTLE, + STRINGID_PKMNRAISEDSPDEFALITTLE, + STRINGID_THEWALLSHATTERED, + STRINGID_PKMNSXPREVENTSYSZ, + STRINGID_PKMNSXCUREDITSYPROBLEM, + STRINGID_ATTACKERCANTESCAPE, + STRINGID_PKMNOBTAINEDX, + STRINGID_PKMNOBTAINEDX2, + STRINGID_PKMNOBTAINEDXYOBTAINEDZ, + STRINGID_BUTNOEFFECT, + STRINGID_PKMNSXHADNOEFFECTONY, + STRINGID_TWOENEMIESDEFEATED, + STRINGID_TRAINER2LOSETEXT, + STRINGID_PKMNINCAPABLEOFPOWER, + STRINGID_GLINTAPPEARSINEYE, + STRINGID_PKMNGETTINGINTOPOSITION, + STRINGID_PKMNBEGANGROWLINGDEEPLY, + STRINGID_PKMNEAGERFORMORE, + STRINGID_DEFEATEDOPPONENTBYREFEREE, + STRINGID_LOSTTOOPPONENTBYREFEREE, + STRINGID_TIEDOPPONENTBYREFEREE, + STRINGID_QUESTIONFORFEITMATCH, + STRINGID_FORFEITEDMATCH, + STRINGID_PKMNTRANSFERREDSOMEONESPC, + STRINGID_PKMNTRANSFERREDLANETTESPC, + STRINGID_PKMNBOXSOMEONESPCFULL, + STRINGID_PKMNBOXLANETTESPCFULL, + STRINGID_TRAINER1WINTEXT, + STRINGID_TRAINER2WINTEXT, + STRINGID_ENDUREDSTURDY, + STRINGID_POWERHERB, + STRINGID_HURTBYITEM, + STRINGID_PSNBYITEM, + STRINGID_BRNBYITEM, + STRINGID_DEFABILITYIN, + STRINGID_GRAVITYINTENSIFIED, + STRINGID_TARGETIDENTIFIED, + STRINGID_TARGETWOKEUP, + STRINGID_PKMNSTOLEANDATEITEM, + STRINGID_TAILWINDBLEW, + STRINGID_PKMNWENTBACK, + STRINGID_PKMNCANTUSEITEMSANYMORE, + STRINGID_PKMNFLUNG, + STRINGID_PKMNPREVENTEDFROMHEALING, + STRINGID_PKMNSWITCHEDATKANDDEF, + STRINGID_PKMNSABILITYSUPPRESSED, + STRINGID_SHIELDEDFROMCRITICALHITS, + STRINGID_SWITCHEDATKANDSPATK, + STRINGID_SWITCHEDDEFANDSPDEF, + STRINGID_PKMNACQUIREDABILITY, + STRINGID_POISONSPIKESSCATTERED, + STRINGID_PKMNSWITCHEDSTATCHANGES, + STRINGID_PKMNSURROUNDEDWITHVEILOFWATER, + STRINGID_PKMNLEVITATEDONELECTROMAGNETISM, + STRINGID_PKMNTWISTEDDIMENSIONS, + STRINGID_POINTEDSTONESFLOAT, + STRINGID_CLOAKEDINMYSTICALMOONLIGHT, + STRINGID_TRAPPEDBYSWIRLINGMAGMA, + STRINGID_VANISHEDINSTANTLY, + STRINGID_PROTECTEDTEAM, + STRINGID_SHAREDITSGUARD, + STRINGID_SHAREDITSPOWER, + STRINGID_SWAPSDEFANDSPDEFOFALLPOKEMON, + STRINGID_BECAMENIMBLE, + STRINGID_HURLEDINTOTHEAIR, + STRINGID_HELDITEMSLOSEEFFECTS, + STRINGID_FELLSTRAIGHTDOWN, + STRINGID_TARGETCHANGEDTYPE, + STRINGID_PKMNACQUIREDSIMPLE, + STRINGID_EMPTYSTRING5, + STRINGID_KINDOFFER, + STRINGID_RESETSTARGETSSTATLEVELS, + STRINGID_EMPTYSTRING6, + STRINGID_ALLYSWITCHPOSITION, + STRINGID_RESTORETARGETSHEALTH, + STRINGID_TOOKPJMNINTOTHESKY, + STRINGID_FREEDFROMSKYDROP, + STRINGID_POSTPONETARGETMOVE, + STRINGID_REFLECTTARGETSTYPE, + STRINGID_TRANSFERHELDITEM, + STRINGID_EMBARGOENDS, + STRINGID_ELECTROMAGNETISM, + STRINGID_BUFFERENDS, + STRINGID_TELEKINESISENDS, + STRINGID_TAILWINDENDS, + STRINGID_LUCKYCHANTENDS, + STRINGID_TRICKROOMENDS, + STRINGID_WONDERROOMENDS, + STRINGID_MAGICROOMENDS, + STRINGID_MUDSPORTENDS, + STRINGID_WATERSPORTENDS, + STRINGID_GRAVITYENDS, + STRINGID_AQUARINGHEAL, + STRINGID_ELECTRICTERRAINENDS, + STRINGID_MISTYTERRAINENDS, + STRINGID_PSYCHICTERRAINENDS, + STRINGID_GRASSYTERRAINENDS, + STRINGID_TARGETABILITYSTATRAISE, + STRINGID_TARGETSSTATWASMAXEDOUT, + STRINGID_ATTACKERABILITYSTATRAISE, + STRINGID_POISONHEALHPUP, + STRINGID_BADDREAMSDMG, + STRINGID_MOLDBREAKERENTERS, + STRINGID_TERAVOLTENTERS, + STRINGID_TURBOBLAZEENTERS, + STRINGID_SLOWSTARTENTERS, + STRINGID_SLOWSTARTEND, + STRINGID_SOLARPOWERHPDROP, + STRINGID_AFTERMATHDMG, + STRINGID_ANTICIPATIONACTIVATES, + STRINGID_FOREWARNACTIVATES, + STRINGID_ICEBODYHPGAIN, + STRINGID_SNOWWARNINGHAIL, + STRINGID_FRISKACTIVATES, + STRINGID_UNNERVEENTERS, + STRINGID_HARVESTBERRY, + STRINGID_MAGICBOUNCEACTIVATES, + STRINGID_PROTEANTYPECHANGE, + STRINGID_SYMBIOSISITEMPASS, + STRINGID_STEALTHROCKDMG, + STRINGID_TOXICSPIKESABSORBED, + STRINGID_TOXICSPIKESPOISONED, + STRINGID_STICKYWEBSWITCHIN, + STRINGID_HEALINGWISHCAMETRUE, + STRINGID_HEALINGWISHHEALED, + STRINGID_LUNARDANCECAMETRUE, + STRINGID_CUSEDBODYDISABLED, + STRINGID_ATTACKERACQUIREDABILITY, + STRINGID_TARGETABILITYSTATLOWER, + STRINGID_TARGETSTATWONTGOHIGHER, + STRINGID_PKMNMOVEBOUNCEDABILITY, + STRINGID_IMPOSTERTRANSFORM, + STRINGID_ASSAULTVESTDOESNTALLOW, + STRINGID_GRAVITYPREVENTSUSAGE, + STRINGID_HEALBLOCKPREVENTSUSAGE, + STRINGID_NOTDONEYET, + STRINGID_STICKYWEBUSED, + STRINGID_QUASHSUCCESS, + STRINGID_PKMNBLEWAWAYTOXICSPIKES, + STRINGID_PKMNBLEWAWAYSTICKYWEB, + STRINGID_PKMNBLEWAWAYSTEALTHROCK, + STRINGID_IONDELUGEON, + STRINGID_TOPSYTURVYSWITCHEDSTATS, + STRINGID_TERRAINBECOMESMISTY, + STRINGID_TERRAINBECOMESGRASSY, + STRINGID_TERRAINBECOMESELECTRIC, + STRINGID_TERRAINBECOMESPSYCHIC, + STRINGID_TARGETELECTRIFIED, + STRINGID_MEGAEVOREACTING, + STRINGID_MEGAEVOEVOLVED, + STRINGID_DRASTICALLY, + STRINGID_SEVERELY, + STRINGID_INFESTATION, + STRINGID_NOEFFECTONTARGET, + STRINGID_BURSTINGFLAMESHIT, + STRINGID_BESTOWITEMGIVING, + STRINGID_THIRDTYPEADDED, + STRINGID_FELLFORFEINT, + STRINGID_POKEMONCANNOTUSEMOVE, + STRINGID_COVEREDINPOWDER, + STRINGID_POWDEREXPLODES, + STRINGID_BELCHCANTSELECT, + STRINGID_SPECTRALTHIEFSTEAL, + STRINGID_GRAVITYGROUNDING, + STRINGID_MISTYTERRAINPREVENTS, + STRINGID_GRASSYTERRAINHEALS, + STRINGID_ELECTRICTERRAINPREVENTS, + STRINGID_PSYCHICTERRAINPREVENTS, + STRINGID_SAFETYGOGGLESPROTECTED, + STRINGID_FLOWERVEILPROTECTED, + STRINGID_SWEETVEILPROTECTED, + STRINGID_AROMAVEILPROTECTED, + STRINGID_CELEBRATEMESSAGE, + STRINGID_USEDINSTRUCTEDMOVE, + STRINGID_THROATCHOPENDS, + STRINGID_PKMNCANTUSEMOVETHROATCHOP, + STRINGID_LASERFOCUS, + STRINGID_GEMACTIVATES, + STRINGID_BERRYDMGREDUCES, + STRINGID_AIRBALLOONFLOAT, + STRINGID_AIRBALLOONPOP, + STRINGID_INCINERATEBURN, + STRINGID_BUGBITE, + STRINGID_ILLUSIONWOREOFF, + STRINGID_ATTACKERCUREDTARGETSTATUS, + STRINGID_ATTACKERLOSTFIRETYPE, + STRINGID_HEALERCURE, + STRINGID_SCRIPTINGABILITYSTATRAISE, + STRINGID_RECEIVERABILITYTAKEOVER, + STRINGID_PKNMABSORBINGPOWER, + STRINGID_NOONEWILLBEABLETORUNAWAY, + STRINGID_DESTINYKNOTACTIVATES, + STRINGID_CLOAKEDINAFREEZINGLIGHT, + STRINGID_CLEARAMULETWONTLOWERSTATS, + STRINGID_FERVENTWISHREACHED, + STRINGID_AIRLOCKACTIVATES, + STRINGID_PRESSUREENTERS, + STRINGID_DARKAURAENTERS, + STRINGID_FAIRYAURAENTERS, + STRINGID_AURABREAKENTERS, + STRINGID_COMATOSEENTERS, + STRINGID_SCREENCLEANERENTERS, + STRINGID_FETCHEDPOKEBALL, + STRINGID_BATTLERABILITYRAISEDSTAT, + STRINGID_ASANDSTORMKICKEDUP, + STRINGID_PKMNSWILLPERISHIN3TURNS, + STRINGID_ABILITYRAISEDSTATDRASTICALLY, + STRINGID_AURAFLAREDTOLIFE, + STRINGID_ASONEENTERS, + STRINGID_CURIOUSMEDICINEENTERS, + STRINGID_CANACTFASTERTHANKSTO, + STRINGID_MICLEBERRYACTIVATES, + STRINGID_PKMNSHOOKOFFTHETAUNT, + STRINGID_PKMNGOTOVERITSINFATUATION, + STRINGID_ITEMCANNOTBEREMOVED, + STRINGID_STICKYBARBTRANSFER, + STRINGID_PKMNBURNHEALED, + STRINGID_REDCARDACTIVATE, + STRINGID_EJECTBUTTONACTIVATE, + STRINGID_ATKGOTOVERINFATUATION, + STRINGID_TORMENTEDNOMORE, + STRINGID_HEALBLOCKEDNOMORE, + STRINGID_ATTACKERBECAMEFULLYCHARGED, + STRINGID_ATTACKERBECAMEASHSPECIES, + STRINGID_EXTREMELYHARSHSUNLIGHT, + STRINGID_EXTREMESUNLIGHTFADED, + STRINGID_MOVEEVAPORATEDINTHEHARSHSUNLIGHT, + STRINGID_EXTREMELYHARSHSUNLIGHTWASNOTLESSENED, + STRINGID_HEAVYRAIN, + STRINGID_HEAVYRAINLIFTED, + STRINGID_MOVEFIZZLEDOUTINTHEHEAVYRAIN, + STRINGID_NORELIEFROMHEAVYRAIN, + STRINGID_MYSTERIOUSAIRCURRENT, + STRINGID_STRONGWINDSDISSIPATED, + STRINGID_MYSTERIOUSAIRCURRENTBLOWSON, + STRINGID_ATTACKWEAKENEDBSTRONGWINDS, + STRINGID_STUFFCHEEKSCANTSELECT, + STRINGID_PKMNREVERTEDTOPRIMAL, + STRINGID_BUTPOKEMONCANTUSETHEMOVE, + STRINGID_BUTHOOPACANTUSEIT, + STRINGID_BROKETHROUGHPROTECTION, + STRINGID_ABILITYALLOWSONLYMOVE, + STRINGID_SWAPPEDABILITIES, + STRINGID_PASTELVEILPROTECTED, + STRINGID_PASTELVEILENTERS, + STRINGID_BATTLERTYPECHANGEDTO, + STRINGID_BOTHCANNOLONGERESCAPE, + STRINGID_CANTESCAPEDUETOUSEDMOVE, + STRINGID_PKMNBECAMEWEAKERTOFIRE, + STRINGID_ABOUTTOUSEPOLTERGEIST, + STRINGID_CANTESCAPEBECAUSEOFCURRENTMOVE, + STRINGID_NEUTRALIZINGGASENTERS, + STRINGID_NEUTRALIZINGGASOVER, + STRINGID_TARGETTOOHEAVY, + STRINGID_PKMNTOOKTARGETHIGH, + STRINGID_PKMNINSNAPTRAP, + STRINGID_METEORBEAMCHARGING, + STRINGID_HEATUPBEAK, + STRINGID_COURTCHANGE, + STRINGID_PLAYERLOSTTOENEMYTRAINER, + STRINGID_PLAYERPAIDPRIZEMONEY, + STRINGID_ZPOWERSURROUNDS, + STRINGID_ZMOVEUNLEASHED, + STRINGID_ZMOVERESETSSTATS, + STRINGID_ZMOVEALLSTATSUP, + STRINGID_ZMOVEZBOOSTCRIT, + STRINGID_ZMOVERESTOREHP, + STRINGID_ZMOVESTATUP, + STRINGID_ZMOVEHPTRAP, + STRINGID_ATTACKEREXPELLEDTHEPOISON, + STRINGID_ATTACKERSHOOKITSELFAWAKE, + STRINGID_ATTACKERBROKETHROUGHPARALYSIS, + STRINGID_ATTACKERHEALEDITSBURN, + STRINGID_ATTACKERMELTEDTHEICE, + STRINGID_TARGETTOUGHEDITOUT, + STRINGID_ATTACKERLOSTELECTRICTYPE, + STRINGID_ATTACKERSWITCHEDSTATWITHTARGET, + STRINGID_BEINGHITCHARGEDPKMNWITHPOWER, + STRINGID_SUNLIGHTACTIVATEDABILITY, + STRINGID_STATWASHEIGHTENED, + STRINGID_ELECTRICTERRAINACTIVATEDABILITY, + STRINGID_ABILITYWEAKENEDSURROUNDINGMONSSTAT, + STRINGID_ATTACKERGAINEDSTRENGTHFROMTHEFALLEN, + STRINGID_PKMNSABILITYPREVENTSABILITY, + STRINGID_PREPARESHELLTRAP, + STRINGID_SHELLTRAPDIDNTWORK, + STRINGID_SPIKESDISAPPEAREDFROMTEAM, + STRINGID_TOXICSPIKESDISAPPEAREDFROMTEAM, + STRINGID_STICKYWEBDISAPPEAREDFROMTEAM, + STRINGID_STEALTHROCKDISAPPEAREDFROMTEAM, + STRINGID_COULDNTFULLYPROTECT, + STRINGID_STOCKPILEDEFFECTWOREOFF, + STRINGID_PKMNREVIVEDREADYTOFIGHT, + STRINGID_ITEMRESTOREDSPECIESHEALTH, + STRINGID_ITEMCUREDSPECIESSTATUS, + STRINGID_ITEMRESTOREDSPECIESPP, + STRINGID_THUNDERCAGETRAPPED, + STRINGID_PKMNHURTBYFROSTBITE, + STRINGID_PKMNGOTFROSTBITE, + STRINGID_PKMNSITEMHEALEDFROSTBITE, + STRINGID_ATTACKERHEALEDITSFROSTBITE, + STRINGID_PKMNFROSTBITEHEALED, + STRINGID_PKMNFROSTBITEHEALED2, + STRINGID_PKMNFROSTBITEHEALEDBY, + STRINGID_MIRRORHERBCOPIED, + STRINGID_STARTEDSNOW, + STRINGID_SNOWCONTINUES, + STRINGID_SNOWSTOPPED, + STRINGID_SNOWWARNINGSNOW, + STRINGID_PKMNITEMMELTED, + STRINGID_ULTRABURSTREACTING, + STRINGID_ULTRABURSTCOMPLETED, + STRINGID_TEAMGAINEDEXP, + STRINGID_CURRENTMOVECANTSELECT, + STRINGID_TARGETISBEINGSALTCURED, + STRINGID_TARGETISHURTBYSALTCURE, + STRINGID_TARGETCOVEREDINSTICKYCANDYSYRUP, + STRINGID_SHARPSTEELFLOATS, + STRINGID_SHARPSTEELDMG, + STRINGID_PKMNBLEWAWAYSHARPSTEEL, + STRINGID_SHARPSTEELDISAPPEAREDFROMTEAM, + STRINGID_TEAMTRAPPEDWITHVINES, + STRINGID_PKMNHURTBYVINES, + STRINGID_TEAMCAUGHTINVORTEX, + STRINGID_PKMNHURTBYVORTEX, + STRINGID_TEAMSURROUNDEDBYFIRE, + STRINGID_PKMNBURNINGUP, + STRINGID_TEAMSURROUNDEDBYROCKS, + STRINGID_PKMNHURTBYROCKSTHROWN, + STRINGID_MOVEBLOCKEDBYDYNAMAX, + STRINGID_ZEROTOHEROTRANSFORMATION, + STRINGID_THETWOMOVESBECOMEONE, + STRINGID_ARAINBOWAPPEAREDONSIDE, + STRINGID_THERAINBOWDISAPPEARED, + STRINGID_WAITINGFORPARTNERSMOVE, + STRINGID_SEAOFFIREENVELOPEDSIDE, + STRINGID_HURTBYTHESEAOFFIRE, + STRINGID_THESEAOFFIREDISAPPEARED, + STRINGID_SWAMPENVELOPEDSIDE, + STRINGID_THESWAMPDISAPPEARED, + STRINGID_PKMNTELLCHILLINGRECEPTIONJOKE, + STRINGID_HOSPITALITYRESTORATION, + STRINGID_ELECTROSHOTCHARGING, + STRINGID_ITEMWASUSEDUP, + STRINGID_ATTACKERLOSTITSTYPE, + STRINGID_SHEDITSTAIL, + STRINGID_CLOAKEDINAHARSHLIGHT, + STRINGID_SUPERSWEETAROMAWAFTS, + STRINGID_DIMENSIONSWERETWISTED, + STRINGID_BIZARREARENACREATED, + STRINGID_BIZARREAREACREATED, + STRINGID_TIDYINGUPCOMPLETE, + STRINGID_PKMNTERASTALLIZEDINTO, + STRINGID_BOOSTERENERGYACTIVATES, + STRINGID_FOGCREPTUP, + STRINGID_FOGISDEEP, + STRINGID_FOGLIFTED, + STRINGID_PKMNMADESHELLGLEAM, + STRINGID_FICKLEBEAMDOUBLED, + STRINGID_COMMANDERACTIVATES, + STRINGID_POKEFLUTECATCHY, + STRINGID_POKEFLUTE, + STRINGID_MONHEARINGFLUTEAWOKE, + STRINGID_SUNLIGHTISHARSH, + STRINGID_ITISHAILING, + STRINGID_ITISSNOWING, + STRINGID_ISCOVEREDWITHGRASS, + STRINGID_MISTSWIRLSAROUND, + STRINGID_ELECTRICCURRENTISRUNNING, + STRINGID_SEEMSWEIRD, + STRINGID_WAGGLINGAFINGER, + STRINGID_BLOCKEDBYSLEEPCLAUSE, + STRINGID_SUPEREFFECTIVETWOFOES, + STRINGID_NOTVERYEFFECTIVETWOFOES, + STRINGID_ITDOESNTAFFECTTWOFOES, + STRINGID_SENDCAUGHTMONPARTYORBOX, + STRINGID_PKMNSENTTOPCAFTERCATCH, + STRINGID_PKMNDYNAMAXED, + STRINGID_PKMNGIGANTAMAXED, + STRINGID_TIMETODYNAMAX, + STRINGID_TIMETOGIGANTAMAX, + STRINGID_QUESTIONFORFEITBATTLE, + STRINGID_FORFEITBATTLEGAVEMONEY, + STRINGID_COUNT +}; // The below IDs are all indexes into battle message tables, // used to determine which of a set of messages to print. @@ -748,335 +744,477 @@ // and read when e.g. the command printfromtable is used. // gStatUpStringIds -#define B_MSG_ATTACKER_STAT_ROSE 0 -#define B_MSG_DEFENDER_STAT_ROSE 1 -#define B_MSG_STAT_WONT_INCREASE 2 -#define B_MSG_STAT_ROSE_EMPTY 3 -#define B_MSG_STAT_ROSE_ITEM 4 -#define B_MSG_USED_DIRE_HIT 5 +enum StatUpStringID +{ + B_MSG_ATTACKER_STAT_ROSE, + B_MSG_DEFENDER_STAT_ROSE, + B_MSG_STAT_WONT_INCREASE, + B_MSG_STAT_ROSE_EMPTY, + B_MSG_STAT_ROSE_ITEM, + B_MSG_USED_DIRE_HIT, +}; // gStatDownStringIds -#define B_MSG_ATTACKER_STAT_FELL 0 -#define B_MSG_DEFENDER_STAT_FELL 1 -#define B_MSG_STAT_WONT_DECREASE 2 -#define B_MSG_STAT_FELL_EMPTY 3 +enum StatDownStringID +{ + B_MSG_ATTACKER_STAT_FELL = 0, + B_MSG_DEFENDER_STAT_FELL = 1, + B_MSG_STAT_WONT_DECREASE, + B_MSG_STAT_FELL_EMPTY, +}; // gMissStringIds -#define B_MSG_MISSED 0 -#define B_MSG_PROTECTED 1 -#define B_MSG_AVOIDED_ATK 2 -#define B_MSG_AVOIDED_DMG 3 -#define B_MSG_GROUND_MISS 4 +enum MissStringID +{ + B_MSG_MISSED, + B_MSG_PROTECTED, + B_MSG_AVOIDED_ATK, + // Ability-related messages need to below this comment + B_MSG_AVOIDED_DMG, + B_MSG_GROUND_MISS, +}; // gAbsorbDrainStringIds -#define B_MSG_ABSORB 0 -#define B_MSG_ABSORB_OOZE 1 +enum AbsorbDrainStringID +{ + B_MSG_ABSORB, + B_MSG_ABSORB_OOZE, +}; // gLeechSeedStringIds -#define B_MSG_LEECH_SEED_SET 0 -#define B_MSG_LEECH_SEED_MISS 1 -#define B_MSG_LEECH_SEED_FAIL 2 -#define B_MSG_LEECH_SEED_DRAIN 3 -#define B_MSG_LEECH_SEED_OOZE 4 +enum LeechSeedStringID +{ + B_MSG_LEECH_SEED_SET, + B_MSG_LEECH_SEED_MISS, + B_MSG_LEECH_SEED_FAIL, + B_MSG_LEECH_SEED_DRAIN, + B_MSG_LEECH_SEED_OOZE, +}; // gMoveWeatherChangeStringIds -#define B_MSG_STARTED_RAIN 0 -#define B_MSG_STARTED_DOWNPOUR 1 -#define B_MSG_WEATHER_FAILED 2 -#define B_MSG_STARTED_SANDSTORM 3 -#define B_MSG_STARTED_SUNLIGHT 4 -#define B_MSG_STARTED_HAIL 5 -#define B_MSG_STARTED_SNOW 6 -#define B_MSG_STARTED_FOG 7 +enum MoveWeatherChangeStringID +{ + B_MSG_STARTED_RAIN, + B_MSG_STARTED_DOWNPOUR, + B_MSG_WEATHER_FAILED, + B_MSG_STARTED_SANDSTORM, + B_MSG_STARTED_SUNLIGHT, + B_MSG_STARTED_HAIL, + B_MSG_STARTED_SNOW, + B_MSG_STARTED_FOG, +}; // gWeatherEndsStringIds -#define B_MSG_WEATHER_END_RAIN 0 -#define B_MSG_WEATHER_END_SUN 1 -#define B_MSG_WEATHER_END_SANDSTORM 2 -#define B_MSG_WEATHER_END_HAIL 3 -#define B_MSG_WEATHER_END_SNOW 4 -#define B_MSG_WEATHER_END_FOG 5 -#define B_MSG_WEATHER_END_STRONG_WINDS 6 -#define B_MSG_WEATHER_END_COUNT 7 +enum WeatherEndStringID +{ + B_MSG_WEATHER_END_RAIN, + B_MSG_WEATHER_END_SUN, + B_MSG_WEATHER_END_SANDSTORM, + B_MSG_WEATHER_END_HAIL, + B_MSG_WEATHER_END_SNOW, + B_MSG_WEATHER_END_FOG, + B_MSG_WEATHER_END_STRONG_WINDS, + B_MSG_WEATHER_END_COUNT +}; // gWeatherTurnStringIds -#define B_MSG_WEATHER_TURN_RAIN 0 -#define B_MSG_WEATHER_TURN_DOWNPOUR 1 -#define B_MSG_WEATHER_TURN_SUN 2 -#define B_MSG_WEATHER_TURN_SANDSTORM 3 -#define B_MSG_WEATHER_TURN_HAIL 4 -#define B_MSG_WEATHER_TURN_SNOW 5 -#define B_MSG_WEATHER_TURN_FOG 6 -#define B_MSG_WEATHER_TURN_STRONG_WINDS 7 -#define B_MSG_WEATHER_TURN_COUNT 8 - -// gRainContinuesStringIds -#define B_MSG_RAIN_CONTINUES 0 -#define B_MSG_DOWNPOUR_CONTINUES 1 -#define B_MSG_RAIN_STOPPED 2 +enum WeatherTurnStringID +{ + B_MSG_WEATHER_TURN_RAIN, + B_MSG_WEATHER_TURN_DOWNPOUR, + B_MSG_WEATHER_TURN_SUN, + B_MSG_WEATHER_TURN_SANDSTORM, + B_MSG_WEATHER_TURN_HAIL, + B_MSG_WEATHER_TURN_SNOW, + B_MSG_WEATHER_TURN_FOG, + B_MSG_WEATHER_TURN_STRONG_WINDS, +}; // gSandStormHailSnowContinuesStringIds / gSandStormHailDmgStringIds/ gSandStormHailSnowEndStringIds -#define B_MSG_SANDSTORM 0 -#define B_MSG_HAIL 1 -#define B_MSG_SNOW 2 +enum SandstormHailSnowStringID +{ + B_MSG_SANDSTORM, + B_MSG_HAIL, +}; // gReflectLightScreenSafeguardStringIds -#define B_MSG_SIDE_STATUS_FAILED 0 -#define B_MSG_SET_REFLECT_SINGLE 1 -#define B_MSG_SET_REFLECT_DOUBLE 2 -#define B_MSG_SET_LIGHTSCREEN_SINGLE 3 -#define B_MSG_SET_LIGHTSCREEN_DOUBLE 4 -#define B_MSG_SET_SAFEGUARD 5 +enum ReflectLightScreenSafeguardStringID +{ + B_MSG_SIDE_STATUS_FAILED, + B_MSG_SET_REFLECT_SINGLE, + B_MSG_SET_REFLECT_DOUBLE, + B_MSG_SET_LIGHTSCREEN_SINGLE, + B_MSG_SET_LIGHTSCREEN_DOUBLE, + B_MSG_SET_SAFEGUARD, +}; // gProtectLikeUsedStringIds -#define B_MSG_PROTECTED_ITSELF 0 -#define B_MSG_BRACED_ITSELF 1 -#define B_MSG_PROTECT_FAILED 2 -#define B_MSG_PROTECTED_TEAM 3 +enum ProtectLikeUsedStringID +{ + B_MSG_PROTECTED_ITSELF, + B_MSG_BRACED_ITSELF, + B_MSG_PROTECT_FAILED, + B_MSG_PROTECTED_TEAM, +}; // gRestUsedStringIds -#define B_MSG_REST 0 -#define B_MSG_REST_STATUSED 1 +enum RestUsedStringID +{ + B_MSG_REST, + B_MSG_REST_STATUSED, +}; // gWokeUpStringIds -#define B_MSG_WOKE_UP 0 -#define B_MSG_WOKE_UP_UPROAR 1 +enum WokeUpStringID +{ + B_MSG_WOKE_UP, + B_MSG_WOKE_UP_UPROAR, +}; // gUproarAwakeStringIds -#define B_MSG_CANT_SLEEP_UPROAR 0 -#define B_MSG_UPROAR_KEPT_AWAKE 1 +enum UproarAwakeStringID +{ + B_MSG_CANT_SLEEP_UPROAR, + B_MSG_UPROAR_KEPT_AWAKE, +}; // gUproarOverTurnStringIds -#define B_MSG_UPROAR_CONTINUES 0 -#define B_MSG_UPROAR_ENDS 1 +enum UproarOverTurnStringID +{ + B_MSG_UPROAR_CONTINUES, + B_MSG_UPROAR_ENDS, +}; // gStockpileUsedStringIds -#define B_MSG_STOCKPILED 0 -#define B_MSG_CANT_STOCKPILE 1 +enum StockpileUsedStringID +{ + B_MSG_STOCKPILED, + B_MSG_CANT_STOCKPILE, +}; // gSwallowFailStringIds -#define B_MSG_SWALLOW_FAILED 0 -#define B_MSG_SWALLOW_FULL_HP 1 +enum SwallowFailStringID +{ + B_MSG_SWALLOW_FAILED, + B_MSG_SWALLOW_FULL_HP, +}; // gKOFailedStringIds -#define B_MSG_KO_MISS 0 -#define B_MSG_KO_UNAFFECTED 1 +enum KOFailedStringID +{ + B_MSG_KO_MISS, + B_MSG_KO_UNAFFECTED, +}; // gMistUsedStringIds -#define B_MSG_SET_MIST 0 -#define B_MSG_MIST_FAILED 1 +enum MistUsedStringID +{ + B_MSG_SET_MIST, + B_MSG_MIST_FAILED, +}; // gFocusEnergyUsedStringIds -#define B_MSG_GETTING_PUMPED 0 -#define B_MSG_FOCUS_ENERGY_FAILED 1 +enum FocusEnergyUsedStringID +{ + B_MSG_GETTING_PUMPED, + B_MSG_FOCUS_ENERGY_FAILED, +}; // gTransformUsedStringIds -#define B_MSG_TRANSFORMED 0 -#define B_MSG_TRANSFORM_FAILED 1 +enum TransformUsedStringID +{ + B_MSG_TRANSFORMED, + B_MSG_TRANSFORM_FAILED, +}; // gSubstituteUsedStringIds -#define B_MSG_SET_SUBSTITUTE 0 -#define B_MSG_SUBSTITUTE_FAILED 1 +enum SubstituteUsedStringID +{ + B_MSG_SET_SUBSTITUTE, + B_MSG_SUBSTITUTE_FAILED, +}; // gPartyStatusHealStringIds -#define B_MSG_BELL 0 -#define B_MSG_BELL_SOUNDPROOF_ATTACKER 1 -#define B_MSG_BELL_SOUNDPROOF_PARTNER 2 -#define B_MSG_BELL_BOTH_SOUNDPROOF 3 -#define B_MSG_SOOTHING_AROMA 4 +enum PartyStatusHealStringID +{ + B_MSG_BELL, + B_MSG_BELL_SOUNDPROOF_ATTACKER, + B_MSG_BELL_SOUNDPROOF_PARTNER, + B_MSG_BELL_BOTH_SOUNDPROOF, + B_MSG_SOOTHING_AROMA, +}; // gFutureMoveUsedStringIds -#define B_MSG_FUTURE_SIGHT 0 -#define B_MSG_DOOM_DESIRE 1 +enum FutureMoveUsedStringID +{ + B_MSG_FUTURE_SIGHT, + B_MSG_DOOM_DESIRE, +}; // gItemSwapStringIds -#define B_MSG_ITEM_SWAP_TAKEN 0 -#define B_MSG_ITEM_SWAP_GIVEN 1 -#define B_MSG_ITEM_SWAP_BOTH 2 +enum ItemSwapStringID +{ + B_MSG_ITEM_SWAP_TAKEN, + B_MSG_ITEM_SWAP_GIVEN, + B_MSG_ITEM_SWAP_BOTH, +}; // gSportsUsedStringIds -#define B_MSG_WEAKEN_ELECTRIC 0 -#define B_MSG_WEAKEN_FIRE 1 +enum SportsUsedStringID +{ + B_MSG_WEAKEN_ELECTRIC, + B_MSG_WEAKEN_FIRE, +}; // gCaughtMonStringIds -#define B_MSG_NO_MESSSAGE_SKIP 0 -#define B_MSG_SENT_SOMEONES_PC 1 -#define B_MSG_SENT_LANETTES_PC 2 -#define B_MSG_SOMEONES_BOX_FULL 3 -#define B_MSG_LANETTES_BOX_FULL 4 -#define B_MSG_SWAPPED_INTO_PARTY 5 +enum CaughtMonStringID +{ + B_MSG_NO_MESSSAGE_SKIP, + // "Lanette's" should always follow "someone's" + B_MSG_SENT_SOMEONES_PC, + B_MSG_SENT_LANETTES_PC, + B_MSG_SOMEONES_BOX_FULL, + B_MSG_LANETTES_BOX_FULL, + B_MSG_SWAPPED_INTO_PARTY, +}; // gPrimalWeatherBlocksStringIds -#define B_MSG_PRIMAL_WEATHER_FIZZLED_BY_RAIN 0 -#define B_MSG_PRIMAL_WEATHER_EVAPORATED_IN_SUN 1 +enum PrimalWeatherBlockStringID +{ + B_MSG_PRIMAL_WEATHER_FIZZLED_BY_RAIN, + B_MSG_PRIMAL_WEATHER_EVAPORATED_IN_SUN, +}; // gInobedientStringIds -#define B_MSG_LOAFING 0 -#define B_MSG_WONT_OBEY 1 -#define B_MSG_TURNED_AWAY 2 -#define B_MSG_PRETEND_NOT_NOTICE 3 -#define B_MSG_INCAPABLE_OF_POWER 4 +enum InobedientStringID +{ + B_MSG_LOAFING, + B_MSG_WONT_OBEY, + B_MSG_TURNED_AWAY, + B_MSG_PRETEND_NOT_NOTICE, + B_MSG_INCAPABLE_OF_POWER, +}; + // For randomly selecting a disobey string // Skips the one used for Battle Palace -#define NUM_LOAF_STRINGS 4 +#define NUM_LOAF_STRINGS (B_MSG_PRETEND_NOT_NOTICE + 1) // gSafariGetNearStringIds -#define B_MSG_CREPT_CLOSER 0 -#define B_MSG_CANT_GET_CLOSER 1 +enum SafariGetNearStringID +{ + B_MSG_CREPT_CLOSER, + B_MSG_CANT_GET_CLOSER, +}; // gSafariPokeblockResultStringIds -#define B_MSG_MON_CURIOUS 0 -#define B_MSG_MON_ENTHRALLED 1 -#define B_MSG_MON_IGNORED 2 +enum SafariPokeblockResultStringID +{ + B_MSG_MON_CURIOUS, + B_MSG_MON_ENTHRALLED, + B_MSG_MON_IGNORED, +}; // gFlashFireStringIds -#define B_MSG_FLASH_FIRE_BOOST 0 -#define B_MSG_FLASH_FIRE_NO_BOOST 1 +enum FlashFireStringID +{ + B_MSG_FLASH_FIRE_BOOST, + B_MSG_FLASH_FIRE_NO_BOOST, +}; // gBerryEffectStringIds -#define B_MSG_CURED_PROBLEM 0 -#define B_MSG_NORMALIZED_STATUS 1 +enum BerryEffectStringID +{ + B_MSG_CURED_PROBLEM, + B_MSG_NORMALIZED_STATUS, +}; // gNoEscapeStringIds -#define B_MSG_CANT_ESCAPE 0 -#define B_MSG_DONT_LEAVE_BIRCH 1 -#define B_MSG_PREVENTS_ESCAPE 2 -#define B_MSG_CANT_ESCAPE_2 3 -#define B_MSG_ATTACKER_CANT_ESCAPE 4 +enum NoEscapeStringID +{ + B_MSG_CANT_ESCAPE, + B_MSG_DONT_LEAVE_BIRCH, + B_MSG_PREVENTS_ESCAPE, + B_MSG_CANT_ESCAPE_2, + B_MSG_ATTACKER_CANT_ESCAPE, +}; // gGotPoisonedStringIds / gGotParalyzedStringIds / gFellAsleepStringIds // gGotBurnedStringIds / gGotFrozenStringIds / gAttractUsedStringIds -#define B_MSG_STATUSED 0 -#define B_MSG_STATUSED_BY_ABILITY 1 +enum GotStatusedStringID +{ + B_MSG_STATUSED, + B_MSG_STATUSED_BY_ABILITY, +}; // gBRNPreventionStringIds / gPRLZPreventionStringIds / gPSNPreventionStringIds -#define B_MSG_ABILITY_PREVENTS_MOVE_STATUS 0 -#define B_MSG_ABILITY_PREVENTS_ABILITY_STATUS 1 -#define B_MSG_STATUS_HAD_NO_EFFECT 2 +enum StatusPreventionStringID +{ + B_MSG_ABILITY_PREVENTS_MOVE_STATUS, + B_MSG_ABILITY_PREVENTS_ABILITY_STATUS, + B_MSG_STATUS_HAD_NO_EFFECT, +}; // gGotDefrostedStringIds -#define B_MSG_DEFROSTED 0 -#define B_MSG_DEFROSTED_BY_MOVE 1 +enum GotDefrostedStringID +{ + B_MSG_DEFROSTED, + B_MSG_DEFROSTED_BY_MOVE, +}; // gFrostbiteHealedStringIds -#define B_MSG_FROSTBITE_HEALED 0 -#define B_MSG_FROSTBITE_HEALED_BY_MOVE 1 +enum FrostbiteHealedStringID +{ + B_MSG_FROSTBITE_HEALED, + B_MSG_FROSTBITE_HEALED_BY_MOVE, +}; // gBattlePalaceFlavorTextTable -#define B_MSG_GLINT_IN_EYE 0 -#define B_MSG_GETTING_IN_POS 1 -#define B_MSG_GROWL_DEEPLY 2 -#define B_MSG_EAGER_FOR_MORE 3 +enum BattlePalaceFlavorTextID +{ + B_MSG_GLINT_IN_EYE, + B_MSG_GETTING_IN_POS, + B_MSG_GROWL_DEEPLY, + B_MSG_EAGER_FOR_MORE, +}; // gRefereeStringsTable -#define B_MSG_REF_NOTHING_IS_DECIDED 0 -#define B_MSG_REF_THATS_IT 1 -#define B_MSG_REF_JUDGE_MIND 2 -#define B_MSG_REF_JUDGE_SKILL 3 -#define B_MSG_REF_JUDGE_BODY 4 -#define B_MSG_REF_PLAYER_WON 5 -#define B_MSG_REF_OPPONENT_WON 6 -#define B_MSG_REF_DRAW 7 -#define B_MSG_REF_COMMENCE_BATTLE 8 +enum RefereeStringID +{ + B_MSG_REF_NOTHING_IS_DECIDED = 0, // Default, likely actually a magic number somewhere that should be assigned this instead if used at all + B_MSG_REF_THATS_IT, + B_MSG_REF_JUDGE_MIND, + B_MSG_REF_JUDGE_SKILL, + B_MSG_REF_JUDGE_BODY, + B_MSG_REF_PLAYER_WON, + B_MSG_REF_OPPONENT_WON, + B_MSG_REF_DRAW, + B_MSG_REF_COMMENCE_BATTLE, +}; // gSwitchInAbilityStringIds -#define B_MSG_SWITCHIN_MOLDBREAKER 0 -#define B_MSG_SWITCHIN_TERAVOLT 1 -#define B_MSG_SWITCHIN_TURBOBLAZE 2 -#define B_MSG_SWITCHIN_SLOWSTART 3 -#define B_MSG_SWITCHIN_UNNERVE 4 -#define B_MSG_SWITCHIN_ANTICIPATION 5 -#define B_MSG_SWITCHIN_FOREWARN 6 -#define B_MSG_SWITCHIN_PRESSURE 7 -#define B_MSG_SWITCHIN_DARKAURA 8 -#define B_MSG_SWITCHIN_FAIRYAURA 9 -#define B_MSG_SWITCHIN_AURABREAK 10 -#define B_MSG_SWITCHIN_COMATOSE 11 -#define B_MSG_SWITCHIN_SCREENCLEANER 12 -#define B_MSG_SWITCHIN_ASONE 13 -#define B_MSG_SWITCHIN_CURIOUS_MEDICINE 14 -#define B_MSG_SWITCHIN_PASTEL_VEIL 15 -#define B_MSG_SWITCHIN_NEUTRALIZING_GAS 16 +enum SwitchInAbilityStringID +{ + B_MSG_SWITCHIN_MOLDBREAKER, + B_MSG_SWITCHIN_TERAVOLT, + B_MSG_SWITCHIN_TURBOBLAZE, + B_MSG_SWITCHIN_SLOWSTART, + B_MSG_SWITCHIN_UNNERVE, + B_MSG_SWITCHIN_ANTICIPATION, + B_MSG_SWITCHIN_FOREWARN, + B_MSG_SWITCHIN_PRESSURE, + B_MSG_SWITCHIN_DARKAURA, + B_MSG_SWITCHIN_FAIRYAURA, + B_MSG_SWITCHIN_AURABREAK, + B_MSG_SWITCHIN_COMATOSE, + B_MSG_SWITCHIN_SCREENCLEANER, + B_MSG_SWITCHIN_ASONE, + B_MSG_SWITCHIN_CURIOUS_MEDICINE, + B_MSG_SWITCHIN_PASTEL_VEIL, + B_MSG_SWITCHIN_NEUTRALIZING_GAS, +}; // gMentalHerbCureStringIds -#define B_MSG_MENTALHERBCURE_INFATUATION 0 -#define B_MSG_MENTALHERBCURE_TAUNT 1 -#define B_MSG_MENTALHERBCURE_ENCORE 2 -#define B_MSG_MENTALHERBCURE_TORMENT 3 -#define B_MSG_MENTALHERBCURE_HEALBLOCK 4 -#define B_MSG_MENTALHERBCURE_DISABLE 5 +enum MentalHerbCureStringID +{ + B_MSG_MENTALHERBCURE_INFATUATION, + B_MSG_MENTALHERBCURE_TAUNT, + B_MSG_MENTALHERBCURE_ENCORE, + B_MSG_MENTALHERBCURE_TORMENT, + B_MSG_MENTALHERBCURE_HEALBLOCK, + B_MSG_MENTALHERBCURE_DISABLE, +}; // gTerrainPreventsStringIds -#define B_MSG_TERRAINPREVENTS_MISTY 0 -#define B_MSG_TERRAINPREVENTS_ELECTRIC 1 -#define B_MSG_TERRAINPREVENTS_PSYCHIC 2 +enum TerrainPreventsStringID +{ + B_MSG_TERRAINPREVENTS_MISTY, + B_MSG_TERRAINPREVENTS_ELECTRIC, + B_MSG_TERRAINPREVENTS_PSYCHIC, +}; // gTerrainStringIds -#define B_MSG_TERRAIN_SET_MISTY 0 -#define B_MSG_TERRAIN_SET_ELECTRIC 1 -#define B_MSG_TERRAIN_SET_PSYCHIC 2 -#define B_MSG_TERRAIN_SET_GRASSY 3 -#define B_MSG_TERRAIN_END_MISTY 4 -#define B_MSG_TERRAIN_END_ELECTRIC 5 -#define B_MSG_TERRAIN_END_PSYCHIC 6 -#define B_MSG_TERRAIN_END_GRASSY 7 -#define B_MSG_TERRAIN_COUNT 8 +enum TerrainStringID +{ + B_MSG_TERRAIN_SET_MISTY, + B_MSG_TERRAIN_SET_ELECTRIC, + B_MSG_TERRAIN_SET_PSYCHIC, + B_MSG_TERRAIN_SET_GRASSY, + B_MSG_TERRAIN_END_MISTY, + B_MSG_TERRAIN_END_ELECTRIC, + B_MSG_TERRAIN_END_PSYCHIC, + B_MSG_TERRAIN_END_GRASSY, + B_MSG_TERRAIN_COUNT +}; // gStartingStatusStringIds -#define B_MSG_TERRAIN_SET_MISTY 0 -#define B_MSG_TERRAIN_SET_ELECTRIC 1 -#define B_MSG_TERRAIN_SET_PSYCHIC 2 -#define B_MSG_TERRAIN_SET_GRASSY 3 -#define B_MSG_SET_TRICK_ROOM 4 -#define B_MSG_SET_MAGIC_ROOM 5 -#define B_MSG_SET_WONDER_ROOM 6 -#define B_MSG_SET_TAILWIND 7 -#define B_MSG_SET_RAINBOW 8 -#define B_MSG_SET_SEA_OF_FIRE 9 -#define B_MSG_SET_SWAMP 10 -#define B_MSG_STARTING_STATUS_COUNT 11 - +enum StartingStatusStringID +{ + B_MSG_SET_TRICK_ROOM = (B_MSG_TERRAIN_SET_GRASSY + 1), + B_MSG_SET_MAGIC_ROOM, + B_MSG_SET_WONDER_ROOM, + B_MSG_SET_TAILWIND, + B_MSG_SET_RAINBOW, + B_MSG_SET_SEA_OF_FIRE, + B_MSG_SET_SWAMP, + B_MSG_STARTING_STATUS_COUNT, +}; // gWrappedStringIds -#define B_MSG_WRAPPED_BIND 0 -#define B_MSG_WRAPPED_WRAP 1 -#define B_MSG_WRAPPED_FIRE_SPIN 2 -#define B_MSG_WRAPPED_CLAMP 3 -#define B_MSG_WRAPPED_WHIRLPOOL 4 -#define B_MSG_WRAPPED_SAND_TOMB 5 -#define B_MSG_WRAPPED_MAGMA_STORM 6 -#define B_MSG_WRAPPED_INFESTATION 7 -#define B_MSG_WRAPPED_SNAP_TRAP 8 -#define B_MSG_WRAPPED_THUNDER_CAGE 9 -#define NUM_TRAPPING_MOVES 10 +// These correspond in order to sTrappingMoves! +enum WrappedStringID +{ + B_MSG_WRAPPED_BIND, + B_MSG_WRAPPED_WRAP, + B_MSG_WRAPPED_FIRE_SPIN, + B_MSG_WRAPPED_CLAMP, + B_MSG_WRAPPED_WHIRLPOOL, + B_MSG_WRAPPED_SAND_TOMB, + B_MSG_WRAPPED_MAGMA_STORM, + B_MSG_WRAPPED_INFESTATION, + B_MSG_WRAPPED_SNAP_TRAP, + B_MSG_WRAPPED_THUNDER_CAGE, + NUM_TRAPPING_MOVES, +}; // z effects -#define B_MSG_Z_RESET_STATS 0 -#define B_MSG_Z_ALL_STATS_UP 1 -#define B_MSG_Z_BOOST_CRITS 2 -#define B_MSG_Z_FOLLOW_ME 3 -#define B_MSG_Z_RECOVER_HP 4 -#define B_MSG_Z_STAT_UP 5 -#define B_MSG_Z_HP_TRAP 6 +enum ZEffectStringID +{ + B_MSG_Z_RESET_STATS, + B_MSG_Z_ALL_STATS_UP, + B_MSG_Z_BOOST_CRITS, + B_MSG_Z_FOLLOW_ME, + B_MSG_Z_RECOVER_HP, + B_MSG_Z_STAT_UP, + B_MSG_Z_HP_TRAP, +}; // gDmgHazardsStringIds -#define B_MSG_PKMNHURTBYSPIKES 0 -#define B_MSG_STEALTHROCKDMG 1 -#define B_MSG_SHARPSTEELDMG 2 -#define B_MSG_POINTEDSTONESFLOAT 3 -#define B_MSG_SPIKESSCATTERED 4 -#define B_MSG_SHARPSTEELFLOATS 5 +enum DmgHazardStringID +{ + B_MSG_PKMNHURTBYSPIKES, + B_MSG_STEALTHROCKDMG, + B_MSG_SHARPSTEELDMG, + B_MSG_POINTEDSTONESFLOAT, + B_MSG_SPIKESSCATTERED, + B_MSG_SHARPSTEELFLOATS, +}; // gDamageNonTypesStartStringIds -#define B_MSG_TRAPPED_WITH_VINES 0 -#define B_MSG_CAUGHT_IN_VORTEX 1 -#define B_MSG_SURROUNDED_BY_FIRE 2 -#define B_MSG_SURROUNDED_BY_ROCKS 3 +enum DamageNonTypesStartStringID +{ + B_MSG_TRAPPED_WITH_VINES, + B_MSG_CAUGHT_IN_VORTEX, + B_MSG_SURROUNDED_BY_FIRE, + B_MSG_SURROUNDED_BY_ROCKS, +}; // gDamageNonTypesDmgStringIds -#define B_MSG_HURT_BY_VINES 0 -#define B_MSG_HURT_BY_VORTEX 1 -#define B_MSG_BURNING_UP 2 -#define B_MSG_HURT_BY_ROCKS_THROWN 3 +enum DamageNonTypesDmgStringID +{ + B_MSG_HURT_BY_VINES, + B_MSG_HURT_BY_VORTEX, + B_MSG_BURNING_UP, + B_MSG_HURT_BY_ROCKS_THROWN, +}; #endif // GUARD_CONSTANTS_BATTLE_STRING_IDS_H diff --git a/src/battle_arena.c b/src/battle_arena.c index d79602156f..a4d13bdb10 100644 --- a/src/battle_arena.c +++ b/src/battle_arena.c @@ -415,7 +415,7 @@ void BattleArena_AddSkillPoints(u8 battler) } } -void BattleArena_DeductSkillPoints(u8 battler, u16 stringId) +void BattleArena_DeductSkillPoints(u8 battler, enum StringID stringId) { s8 *skillPoints = gBattleStruct->arenaSkillPoints; @@ -442,6 +442,8 @@ void BattleArena_DeductSkillPoints(u8 battler, u16 stringId) case STRINGID_PKMNSTAYEDAWAKEUSING: skillPoints[battler] -= 3; break; + default: + break; } } diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 858c897d97..c7ec0731a1 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -1097,7 +1097,7 @@ void BtlController_EmitMoveAnimation(u32 battler, u32 bufferId, u16 move, u8 tur PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, 16 + sizeof(struct DisableStruct)); } -void BtlController_EmitPrintString(u32 battler, u32 bufferId, u16 stringID) +void BtlController_EmitPrintString(u32 battler, u32 bufferId, enum StringID stringID) { s32 i; struct BattleMsgData *stringInfo; @@ -1129,7 +1129,7 @@ void BtlController_EmitPrintString(u32 battler, u32 bufferId, u16 stringID) PrepareBufferDataTransfer(battler, bufferId, gBattleResources->transferBuffer, sizeof(struct BattleMsgData) + 4); } -void BtlController_EmitPrintSelectionString(u32 battler, u32 bufferId, u16 stringID) +void BtlController_EmitPrintSelectionString(u32 battler, u32 bufferId, enum StringID stringID) { s32 i; struct BattleMsgData *stringInfo; diff --git a/src/battle_message.c b/src/battle_message.c index 2108ef8284..11f2519bc4 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -169,7 +169,7 @@ const u8 gText_drastically[] = _("drastically "); const u8 gText_severely[] = _("severely "); static const u8 sText_TerrainReturnedToNormal[] = _("The terrain returned to normal!"); // Unused -const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] = +const u8 *const gBattleStringsTable[STRINGID_COUNT] = { [STRINGID_TRAINER1LOSETEXT] = COMPOUND_STRING("{B_TRAINER1_LOSE_TEXT}"), [STRINGID_PKMNGAINEDEXP] = COMPOUND_STRING("{B_BUFF1} gained{B_BUFF2} {B_BUFF3} Exp. Points!\p"), @@ -2062,7 +2062,7 @@ static const struct BattleWindowText *const sBattleTextOnWindowsInfo[] = static const u8 sRecordedBattleTextSpeeds[] = {8, 4, 1, 0}; -void BufferStringBattle(u16 stringID, u32 battler) +void BufferStringBattle(enum StringID stringID, u32 battler) { s32 i; const u8 *stringPtr = NULL; @@ -2344,7 +2344,7 @@ void BufferStringBattle(u16 stringID, u32 battler) stringPtr = gBattleStruct->trainerSlideMsg; break; default: // load a string from the table - if (stringID >= BATTLESTRINGS_COUNT) + if (stringID >= STRINGID_COUNT) { gDisplayedStringBattle[0] = EOS; return; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 671203448b..3a90d27b09 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -2848,7 +2848,7 @@ static void Cmd_resultmessage(void) { CMD_ARGS(); - u32 stringId = 0; + enum StringID stringId = 0; u16 *moveResultFlags = &gBattleStruct->moveResultFlags[gBattlerTarget]; if (gBattleControllerExecFlags) @@ -4424,10 +4424,13 @@ void SetMoveEffect(bool32 primary, bool32 certain) msg = B_MSG_STARTED_SANDSTORM; break; case MOVE_EFFECT_HAIL: - if (B_PREFERRED_ICE_WEATHER == B_ICE_WEATHER_SNOW) { + if (B_PREFERRED_ICE_WEATHER == B_ICE_WEATHER_SNOW) + { weather = BATTLE_WEATHER_SNOW; msg = B_MSG_STARTED_SNOW; - } else { + } + else + { weather = BATTLE_WEATHER_HAIL; msg = B_MSG_STARTED_HAIL; } diff --git a/src/battle_tv.c b/src/battle_tv.c index bdf3359b84..ab36c003ad 100644 --- a/src/battle_tv.c +++ b/src/battle_tv.c @@ -11,7 +11,7 @@ #include "constants/battle_move_effects.h" // this file's functions -static bool8 IsNotSpecialBattleString(u16 stringId); +static bool8 IsNotSpecialBattleString(enum StringID stringId); static void AddMovePoints(u8 caseId, u16 arg1, u8 arg2, u8 arg3); static void TrySetBattleSeminarShow(void); static void AddPointsOnFainting(bool8 targetFainted); @@ -319,7 +319,7 @@ static const u16 sSpecialBattleStrings[] = }; // code -void BattleTv_SetDataBasedOnString(u16 stringId) +void BattleTv_SetDataBasedOnString(enum StringID stringId) { struct BattleTv *tvPtr; u32 atkSide, defSide, effSide, scriptingSide; @@ -342,7 +342,7 @@ void BattleTv_SetDataBasedOnString(u16 stringId) defMon = GetPartyBattlerData(gBattlerTarget); moveSlot = GetBattlerMoveSlotId(gBattlerAttacker, gBattleMsgDataPtr->currentMove); - if (moveSlot >= MAX_MON_MOVES && IsNotSpecialBattleString(stringId) && stringId > BATTLESTRINGS_TABLE_START) + if (moveSlot >= MAX_MON_MOVES && IsNotSpecialBattleString(stringId) && stringId > STRINGID_TABLE_START) { tvPtr->side[atkSide].faintCause = FNT_OTHER; return; @@ -720,10 +720,12 @@ void BattleTv_SetDataBasedOnString(u16 stringId) case STRINGID_PKMNHITWITHRECOIL: tvPtr->side[atkSide].faintCause = FNT_RECOIL; break; + default: + break; } } -static bool8 IsNotSpecialBattleString(u16 stringId) +static bool8 IsNotSpecialBattleString(enum StringID stringId) { s32 i = 0; diff --git a/src/battle_util.c b/src/battle_util.c index 6f8ba43e10..e2f7470c44 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -1092,7 +1092,7 @@ bool32 WasUnableToUseMove(u32 battler) return FALSE; } -void PrepareStringBattle(u16 stringId, u32 battler) +void PrepareStringBattle(enum StringID stringId, u32 battler) { u32 targetSide = GetBattlerSide(gBattlerTarget); u16 battlerAbility = GetBattlerAbility(battler); @@ -6993,7 +6993,7 @@ static enum ItemEffect StatRaiseBerry(u32 battler, u32 itemId, u32 statId, enum static enum ItemEffect RandomStatRaiseBerry(u32 battler, u32 itemId, enum ItemCaseId caseID) { s32 i; - u16 stringId; + enum StringID stringId; for (i = 0; i < NUM_STATS - 1; i++) { @@ -11768,7 +11768,7 @@ bool32 CompareStat(u32 battler, u8 statId, u8 cmpTo, u8 cmpKind) return ret; } -void BufferStatChange(u32 battler, u8 statId, u8 stringId) +void BufferStatChange(u32 battler, u8 statId, enum StringID stringId) { bool32 hasContrary = (GetBattlerAbility(battler) == ABILITY_CONTRARY); diff --git a/test/text.c b/test/text.c index e29ec68b76..85e22916fd 100644 --- a/test/text.c +++ b/test/text.c @@ -561,10 +561,10 @@ extern u16 sBattlerAbilities[MAX_BATTLERS_COUNT]; TEST("Battle strings fit on the battle message window") { u32 i, j, strWidth; - u32 start = BATTLESTRINGS_TABLE_START; - u32 end = BATTLESTRINGS_COUNT - 1; + u32 start = STRINGID_TABLE_START + 1; + u32 end = STRINGID_COUNT - 1; const u32 fontId = FONT_NORMAL; - u32 battleStringId = 0; + enum StringID battleStringId = 0; u8 *battleString = Alloc(BATTLE_STRING_BUFFER_SIZE); s32 sixDigitNines = 999999; // 36 pixels.