summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/battle/battle_4.c24
-rw-r--r--src/battle/battle_controller_player.c41
-rw-r--r--src/battle/battle_controller_safari.c8
-rw-r--r--src/battle/battle_controller_wally.c8
-rw-r--r--src/battle/battle_message.c397
-rwxr-xr-xsrc/data/battle_strings_de.h1612
-rwxr-xr-xsrc/data/battle_strings_en.h1612
-rw-r--r--src/debug/mori_debug_menu.c67
-rw-r--r--src/engine/cable_club.c21
-rw-r--r--src/engine/main_menu.c53
-rw-r--r--src/field/battle_tower.c40
-rw-r--r--src/field/field_specials.c2
-rw-r--r--src/field/tv.c368
-rw-r--r--src/pokemon/pokemon_3.c16
-rw-r--r--src/scene/evolution_scene.c16
15 files changed, 4030 insertions, 255 deletions
diff --git a/src/battle/battle_4.c b/src/battle/battle_4.c
index 6f3be7804..cff81396d 100644
--- a/src/battle/battle_4.c
+++ b/src/battle/battle_4.c
@@ -81,7 +81,7 @@ extern u8 gBattleTextBuff3[];
extern u8 gLeveledUpInBattle;
extern void (*gBattleMainFunc)(void);
extern struct Window gUnknown_03004210;
-extern const u8 gUnknown_08400D7A[];
+extern const u8 BattleText_YesNo[];
extern u8 gPlayerPartyCount;
extern u16 gMoveToLearn; //move to learn
extern const u8 gTrainerMoney[];
@@ -10952,7 +10952,7 @@ void atk59_learnmove_inbattle(void)
void sub_8023A80(void)
{
sub_802BBD4(0x18, 8, 0x1D, 0xD, 0);
- InitWindow(&gUnknown_03004210, gUnknown_08400D7A, 0x100, 0x19, 0x9);
+ InitWindow(&gUnknown_03004210, BattleText_YesNo, 0x100, 0x19, 0x9);
sub_8002F44(&gUnknown_03004210);
sub_814A5C0(0, 0xFFFF, 0xC, 0x2D9F, 0x20);
}
@@ -11660,7 +11660,7 @@ static void atk6C_lvlbox_display(void)
{
case 0:
sub_802BBD4(0xB, 0, 0x1D, 0x7, r1);
- StringCopy(gStringVar4, gUnknown_08400D9F);
+ StringCopy(gStringVar4, BattleText_Format2);
}
}
@@ -11670,7 +11670,7 @@ __attribute__((naked))
static void atk6C_lvlbox_display(void)
{
asm(".syntax unified\n\
- push {r4-r7,lr}\n\
+ push {r4-r7,lr}\n\
mov r7, r10\n\
mov r6, r9\n\
mov r5, r8\n\
@@ -11713,7 +11713,7 @@ _0802493E:\n\
movs r3, 0x7\n\
bl sub_802BBD4\n\
ldr r0, _0802499C @ =gStringVar4\n\
- ldr r1, _080249A0 @ =gUnknown_08400D9F\n\
+ ldr r1, _080249A0 @ =BattleText_Format2\n\
bl StringCopy\n\
adds r5, r0, 0\n\
movs r1, 0\n\
@@ -11752,7 +11752,7 @@ _0802495A:\n\
mov pc, r0\n\
.align 2, 0\n\
_0802499C: .4byte gStringVar4\n\
-_080249A0: .4byte gUnknown_08400D9F\n\
+_080249A0: .4byte BattleText_Format2\n\
_080249A4: .4byte gUnknown_0840165C\n\
_080249A8: .4byte gSharedMem\n\
_080249AC: .4byte 0x00016018\n\
@@ -11832,13 +11832,13 @@ _08024A2C:\n\
mov r0, r9\n\
cmp r0, 0\n\
beq _08024A5C\n\
- ldr r1, _08024A58 @ =gUnknown_08400DAC\n\
+ ldr r1, _08024A58 @ =BattleText_Dash\n\
b _08024A5E\n\
.align 2, 0\n\
_08024A54: .4byte gSharedMem + 0x17180\n\
-_08024A58: .4byte gUnknown_08400DAC\n\
+_08024A58: .4byte BattleText_Dash\n\
_08024A5C:\n\
- ldr r1, _08024AA4 @ =gUnknown_08400DAA\n\
+ ldr r1, _08024AA4 @ =BattleText_Plus\n\
_08024A5E:\n\
adds r0, r5, 0\n\
bl StringCopy\n\
@@ -11874,7 +11874,7 @@ _08024A5E:\n\
adds r5, 0x1\n\
b _08024AB8\n\
.align 2, 0\n\
-_08024AA4: .4byte gUnknown_08400DAA\n\
+_08024AA4: .4byte BattleText_Plus\n\
_08024AA8:\n\
strb r6, [r5]\n\
movs r0, 0x11\n\
@@ -11921,7 +11921,7 @@ _08024AFE:\n\
movs r0, 0x5\n\
bl PlaySE\n\
ldr r0, _08024B98 @ =gStringVar4\n\
- ldr r1, _08024B9C @ =gUnknown_08400D9F\n\
+ ldr r1, _08024B9C @ =BattleText_Format2\n\
bl StringCopy\n\
adds r5, r0, 0\n\
movs r0, 0\n\
@@ -11992,7 +11992,7 @@ _08024B1C:\n\
.align 2, 0\n\
_08024B94: .4byte gMain\n\
_08024B98: .4byte gStringVar4\n\
-_08024B9C: .4byte gUnknown_08400D9F\n\
+_08024B9C: .4byte BattleText_Format2\n\
_08024BA0: .4byte 0x00016018\n\
_08024BA4: .4byte gUnknown_0840165C\n\
_08024BA8: .4byte gPlayerParty\n\
diff --git a/src/battle/battle_controller_player.c b/src/battle/battle_controller_player.c
index 1aa73e90c..f2004c9b7 100644
--- a/src/battle/battle_controller_player.c
+++ b/src/battle/battle_controller_player.c
@@ -78,9 +78,9 @@ extern u16 gUnknown_030042C0;
extern u8 gUnknown_03004344;
extern u8 gUnknown_0300434C[];
-extern const u8 gUnknown_08400CA8[];
-extern const u8 gUnknown_08400CF3[];
-extern const u8 gUnknown_08400D38[];
+extern const u8 BattleText_OtherMenu[];
+extern const u8 BattleText_MenuOptions[];
+extern const u8 BattleText_PP[];
extern void sub_802C68C(void);
extern void sub_802E1B0(void);
@@ -152,7 +152,7 @@ extern u16 gBattlePartyID[];
extern u16 gUnknown_030042A0;
extern u16 gUnknown_030042A4;
extern struct Window gUnknown_03004210;
-extern const u8 gUnknown_08400D89[];
+extern const u8 BattleText_SwitchWhich[];
extern u8 gUnknown_03004348;
extern struct BattlePokemon gBattleMons[];
extern MainCallback gPreBattleCallback1;
@@ -164,7 +164,7 @@ extern u8 gUnknown_0202E8F5;
extern u8 gUnknown_02038470[];
extern u16 gScriptItemId;
extern u8 gDisplayedStringBattle[];
-extern const u8 gUnknown_08400CE0[];
+extern const u8 BattleText_LinkStandby[];
extern void dp11b_obj_instanciate(u8, u8, s8, s8);
extern u8 GetBankIdentity(u8);
@@ -746,15 +746,14 @@ void sub_802C68C(void)
gUnknown_03004344 = gMoveSelectionCursor[gActiveBank] + 1;
sub_802E3B4(gUnknown_03004344, 27);
FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x37, 0x1C, 0x3A);
- InitWindow(&gUnknown_03004210, gUnknown_08400D89, 0x290, 0x17, 0x37);
+ InitWindow(&gUnknown_03004210, BattleText_SwitchWhich, 0x290, 0x17, 0x37);
sub_8002F44(&gUnknown_03004210);
gBattleBankFunc[gActiveBank] = sub_802CA60;
}
}
}
-extern const u8 gUnknown_08400D49[];
-extern const u8 gUnknown_08400D38[];
+extern const u8 BattleText_Format[];
void sub_802CA60(void)
{
@@ -850,13 +849,13 @@ void sub_802CA60(void)
}
else
{
- sub_802E12C(gUnknown_03004344, gUnknown_08400D49);
+ sub_802E12C(gUnknown_03004344, BattleText_Format);
}
gBattleBankFunc[gActiveBank] = sub_802C68C;
gMoveSelectionCursor[gActiveBank] = gUnknown_03004344;
sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0);
FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x37, 0x1C, 0x3A);
- InitWindow(&gUnknown_03004210, gUnknown_08400D38, 0x290, 0x17, 0x37);
+ InitWindow(&gUnknown_03004210, BattleText_PP, 0x290, 0x17, 0x37);
sub_8002F44(&gUnknown_03004210);
sub_802E220();
sub_802E2D4();
@@ -866,10 +865,10 @@ void sub_802CA60(void)
PlaySE(SE_SELECT);
nullsub_7(gUnknown_03004344);
sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0);
- sub_802E12C(gMoveSelectionCursor[gActiveBank], gUnknown_08400D49);
+ sub_802E12C(gMoveSelectionCursor[gActiveBank], BattleText_Format);
gBattleBankFunc[gActiveBank] = sub_802C68C;
FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x37, 0x1C, 0x3A);
- InitWindow(&gUnknown_03004210, gUnknown_08400D38, 0x290, 0x17, 0x37);
+ InitWindow(&gUnknown_03004210, BattleText_PP, 0x290, 0x17, 0x37);
sub_8002F44(&gUnknown_03004210);
sub_802E220();
sub_802E2D4();
@@ -1578,7 +1577,7 @@ void sub_802E1B0(void)
for (i = 0; i < 4; i++)
{
nullsub_7(i);
- sub_802E12C(i, gUnknown_08400D49);
+ sub_802E12C(i, BattleText_Format);
if (r4->moves[i] != 0)
gUnknown_03004348++;
}
@@ -1591,7 +1590,7 @@ void sub_802E220(void)
struct UnknownStruct1 *r4 = (struct UnknownStruct1 *)&gBattleBufferA[gActiveBank][4];
u8 *str = gDisplayedStringBattle;
- str = StringCopy(str, gUnknown_08400D49);
+ str = StringCopy(str, BattleText_Format);
str[0] = EXT_CTRL_CODE_BEGIN;
str[1] = 0x11;
str[2] = 2;
@@ -1608,7 +1607,7 @@ void sub_802E220(void)
}
}
-extern const u8 gUnknown_08400D52[];
+extern const u8 BattleText_ForgetMove[];
extern const u8 gTypeNames[][7];
void sub_802E2D4(void)
@@ -1616,14 +1615,14 @@ void sub_802E2D4(void)
if (gBattleBufferA[gActiveBank][2] == 1)
{
FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x37, 0x1C, 0x3A);
- InitWindow(&gUnknown_03004210, gUnknown_08400D52, 0x290, 0x13, 0x37);
+ InitWindow(&gUnknown_03004210, BattleText_ForgetMove, 0x290, 0x13, 0x37);
}
else
{
struct UnknownStruct1 *r4 = (struct UnknownStruct1 *)&gBattleBufferA[gActiveBank][4];
u8 *str = gDisplayedStringBattle;
- str = StringCopy(str, gUnknown_08400D49);
+ str = StringCopy(str, BattleText_Format);
StringCopy(str, gTypeNames[gBattleMoves[r4->moves[gMoveSelectionCursor[gActiveBank]]].type]);
FillWindowRect(&gUnknown_03004210, 0x1016, 0x17, 0x39, 0x1C, 0x3A);
InitWindow(&gUnknown_03004210, gDisplayedStringBattle, 0x2C0, 0x17, 0x39);
@@ -1699,7 +1698,7 @@ void b_link_standby_message(void)
{
gUnknown_030042A4 = 0;
gUnknown_030042A0 = 0;
- sub_8002EB0(&gUnknown_03004210, gUnknown_08400CE0, 0x90, 2, 15);
+ sub_8002EB0(&gUnknown_03004210, BattleText_LinkStandby, 0x90, 2, 15);
}
}
@@ -2587,7 +2586,7 @@ void PlayerHandlecmd18(void)
gBattleBankFunc[gActiveBank] = sub_802C098;
- InitWindow(&gUnknown_03004210, gUnknown_08400CF3, 400, 18, 35);
+ InitWindow(&gUnknown_03004210, BattleText_MenuOptions, 400, 18, 35);
sub_8002F44(&gUnknown_03004210);
sub_814A5C0(0, 0xFFFF, 12, 11679, 0);
@@ -2596,7 +2595,7 @@ void PlayerHandlecmd18(void)
sub_802E3E4(gActionSelectionCursor[gActiveBank], 0);
- StrCpyDecodeToDisplayedStringBattle(gUnknown_08400CA8);
+ StrCpyDecodeToDisplayedStringBattle(BattleText_OtherMenu);
InitWindow(&gUnknown_03004210, gDisplayedStringBattle, SUB_803037C_TILE_DATA_OFFSET, 2, 35);
sub_8002F44(&gUnknown_03004210);
}
@@ -2621,7 +2620,7 @@ void sub_80304A8(void)
sub_802E3B4(gMoveSelectionCursor[gActiveBank], 0);
if (gBattleBufferA[gActiveBank][2] != 1)
{
- InitWindow(&gUnknown_03004210, gUnknown_08400D38, 656, 23, 55);
+ InitWindow(&gUnknown_03004210, BattleText_PP, 656, 23, 55);
sub_8002F44(&gUnknown_03004210);
}
sub_802E220();
diff --git a/src/battle/battle_controller_safari.c b/src/battle/battle_controller_safari.c
index 5b89cf9ba..8a8515fc7 100644
--- a/src/battle/battle_controller_safari.c
+++ b/src/battle/battle_controller_safari.c
@@ -18,9 +18,9 @@ extern struct Window gUnknown_03004210;
extern u8 gDisplayedStringBattle[];
extern u8 gActionSelectionCursor[];
-extern const u8 gUnknown_08400CBB[];
+extern const u8 BattleText_PlayerMenu[];
extern u8 gActiveBank;
-extern const u8 gUnknown_08400D15[];
+extern const u8 BattleText_MenuOptionsSafari[];
extern void *gBattleBankFunc[];
extern u16 gUnknown_030042A0;
@@ -476,7 +476,7 @@ void SafariHandlecmd18(void)
FillWindowRect_DefaultPalette(&gUnknown_03004210, 10, 2, 35, 16, 36);
gBattleBankFunc[gActiveBank] = bx_battle_menu_t6_2;
- InitWindow(&gUnknown_03004210, gUnknown_08400D15, 400, 18, 35);
+ InitWindow(&gUnknown_03004210, BattleText_MenuOptionsSafari, 400, 18, 35);
sub_8002F44(&gUnknown_03004210);
sub_814A5C0(0, 0xFFFF, 12, 11679, 0);
@@ -484,7 +484,7 @@ void SafariHandlecmd18(void)
nullsub_8(i);
sub_802E3E4(gActionSelectionCursor[gActiveBank], 0);
- StrCpyDecodeToDisplayedStringBattle(gUnknown_08400CBB);
+ StrCpyDecodeToDisplayedStringBattle(BattleText_PlayerMenu);
InitWindow(&gUnknown_03004210, gDisplayedStringBattle, SUB_812BB10_TILE_DATA_OFFSET, 2, 35);
sub_8002F44(&gUnknown_03004210);
diff --git a/src/battle/battle_controller_wally.c b/src/battle/battle_controller_wally.c
index 9392832d7..05fd8e583 100644
--- a/src/battle/battle_controller_wally.c
+++ b/src/battle/battle_controller_wally.c
@@ -57,8 +57,8 @@ extern struct Window gUnknown_03004210;
extern u16 gUnknown_030042A0;
extern u16 gUnknown_030042A4;
extern u8 gUnknown_0300434C[];
-extern const u8 gUnknown_08400CCC[];
-extern const u8 gUnknown_08400CF3[];
+extern const u8 BattleText_WallyMenu[];
+extern const u8 BattleText_MenuOptions[];
// TODO: include rom3.h when my other PR gets merged
extern void Emitcmd33(u8, u8, u16);
@@ -1269,13 +1269,13 @@ void WallyHandlecmd18(void)
FillWindowRect_DefaultPalette(&gUnknown_03004210, 10, 2, 15, 27, 18);
FillWindowRect_DefaultPalette(&gUnknown_03004210, 10, 2, 35, 16, 36);
gBattleBankFunc[gActiveBank] = sub_81372BC;
- InitWindow(&gUnknown_03004210, gUnknown_08400CF3, 400, 18, 35);
+ InitWindow(&gUnknown_03004210, BattleText_MenuOptions, 400, 18, 35);
sub_8002F44(&gUnknown_03004210);
sub_814A5C0(0, 0xFFFF, 12, 0x2D9F, 0);
for (i = 0; i < 4; i++)
nullsub_8(i);
sub_802E3E4(0, 0);
- StrCpyDecodeToDisplayedStringBattle(gUnknown_08400CCC);
+ StrCpyDecodeToDisplayedStringBattle(BattleText_WallyMenu);
#ifdef ENGLISH
InitWindow(&gUnknown_03004210, gDisplayedStringBattle, 440, 2, 35);
#else
diff --git a/src/battle/battle_message.c b/src/battle/battle_message.c
index 4e8067a49..f856355b9 100644
--- a/src/battle/battle_message.c
+++ b/src/battle/battle_message.c
@@ -18,6 +18,136 @@
#define BATTLESTRINGS_NO 351
#define BATTLESTRINGS_MAX BATTLESTRINGS_NO + BATTLESTRING_TO_SUB
+#ifdef GERMAN
+#include "../data/battle_strings_de.h" // TODO: German
+#else
+#include "../data/battle_strings_en.h"
+#endif
+
+const u16 gUnknown_084016BC[] =
+{
+ MOVE_SWORDS_DANCE,
+ MOVE_STRENGTH,
+ MOVE_GROWTH,
+ MOVE_HARDEN,
+ MOVE_MINIMIZE,
+ MOVE_SMOKESCREEN,
+ MOVE_WITHDRAW,
+ MOVE_DEFENSE_CURL,
+ MOVE_EGG_BOMB,
+ MOVE_SMOG,
+ MOVE_BONE_CLUB,
+ MOVE_FLASH,
+ MOVE_SPLASH,
+ MOVE_ACID_ARMOR,
+ MOVE_BONEMERANG,
+ MOVE_REST,
+ MOVE_SHARPEN,
+ MOVE_SUBSTITUTE,
+ MOVE_MIND_READER,
+ MOVE_SNORE,
+ MOVE_PROTECT,
+ MOVE_SPIKES,
+ MOVE_ENDURE,
+ MOVE_ROLLOUT,
+ MOVE_SWAGGER,
+ MOVE_SLEEP_TALK,
+ MOVE_HIDDEN_POWER,
+ MOVE_PSYCH_UP,
+ MOVE_EXTREME_SPEED,
+ MOVE_FOLLOW_ME,
+ MOVE_TRICK,
+ MOVE_ASSIST,
+ MOVE_INGRAIN,
+ MOVE_KNOCK_OFF,
+ MOVE_CAMOUFLAGE,
+ MOVE_ASTONISH,
+ MOVE_ODOR_SLEUTH,
+ MOVE_GRASS_WHISTLE,
+ MOVE_SHEER_COLD,
+ MOVE_MUDDY_WATER,
+ MOVE_IRON_DEFENSE,
+ MOVE_BOUNCE,
+ MOVE_NONE,
+ MOVE_TELEPORT,
+ MOVE_RECOVER,
+ MOVE_BIDE,
+ MOVE_AMNESIA,
+ MOVE_FLAIL,
+ MOVE_TAUNT,
+ MOVE_BULK_UP,
+ MOVE_NONE,
+ MOVE_MEDITATE,
+ MOVE_AGILITY,
+ MOVE_MIMIC,
+ MOVE_DOUBLE_TEAM,
+ MOVE_BARRAGE,
+ MOVE_TRANSFORM,
+ MOVE_STRUGGLE,
+ MOVE_SCARY_FACE,
+ MOVE_CHARGE,
+ MOVE_WISH,
+ MOVE_BRICK_BREAK,
+ MOVE_YAWN,
+ MOVE_FEATHER_DANCE,
+ MOVE_TEETER_DANCE,
+ MOVE_MUD_SPORT,
+ MOVE_FAKE_TEARS,
+ MOVE_WATER_SPORT,
+ MOVE_CALM_MIND,
+ MOVE_NONE,
+ MOVE_POUND,
+ MOVE_SCRATCH,
+ MOVE_VICE_GRIP,
+ MOVE_WING_ATTACK,
+ MOVE_FLY,
+ MOVE_BIND,
+ MOVE_SLAM,
+ MOVE_HORN_ATTACK,
+ MOVE_WRAP,
+ MOVE_THRASH,
+ MOVE_TAIL_WHIP,
+ MOVE_LEER,
+ MOVE_BITE,
+ MOVE_GROWL,
+ MOVE_ROAR,
+ MOVE_SING,
+ MOVE_PECK,
+ MOVE_ABSORB,
+ MOVE_STRING_SHOT,
+ MOVE_EARTHQUAKE,
+ MOVE_FISSURE,
+ MOVE_DIG,
+ MOVE_TOXIC,
+ MOVE_SCREECH,
+ MOVE_METRONOME,
+ MOVE_LICK,
+ MOVE_CLAMP,
+ MOVE_CONSTRICT,
+ MOVE_POISON_GAS,
+ MOVE_BUBBLE,
+ MOVE_SLASH,
+ MOVE_SPIDER_WEB,
+ MOVE_NIGHTMARE,
+ MOVE_CURSE,
+ MOVE_FORESIGHT,
+ MOVE_CHARM,
+ MOVE_ATTRACT,
+ MOVE_ROCK_SMASH,
+ MOVE_UPROAR,
+ MOVE_SPIT_UP,
+ MOVE_SWALLOW,
+ MOVE_TORMENT,
+ MOVE_FLATTER,
+ MOVE_ROLE_PLAY,
+ MOVE_ENDEAVOR,
+ MOVE_TICKLE,
+ MOVE_COVET,
+ MOVE_NONE,
+};
+
+const u8 gUnknown_084017A8[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; // empty flags
+
extern const u8* const gBattleStringsTable[BATTLESTRINGS_NO];
extern u16 gLastUsedItem;
@@ -44,66 +174,64 @@ extern u16 gBattlePartyID[4];
extern struct BattleEnigmaBerry gEnigmaBerries[4];
extern u8 gBattleBufferA[4][0x200];
-extern const u8 gUnknown_084005DB[];
-extern const u8 gUnknown_084005C7[];
-extern const u8 gUnknown_084005AA[];
-extern const u8 gUnknown_08400568[];
-extern const u8 gUnknown_08400590[];
-extern const u8 gUnknown_0840057B[];
-extern const u8 gUnknown_08400555[];
-extern const u8 gUnknown_084006F1[];
-extern const u8 gUnknown_084006A4[];
-extern const u8 gUnknown_0840069C[];
-extern const u8 gUnknown_0840065C[];
-extern const u8 gUnknown_08400645[];
-extern const u8 gUnknown_08400608[];
-extern const u8 gUnknown_08400635[];
-extern const u8 gUnknown_084005F5[];
-extern const u8 gUnknown_08400709[];
-extern const u8 gUnknown_08400727[];
-extern const u8 gUnknown_08400736[];
-extern const u8 gUnknown_08400749[];
-extern const u8 gUnknown_08400781[];
-extern const u8 gUnknown_08400771[];
-extern const u8 gUnknown_0840075E[];
-extern const u8 gUnknown_084006B3[];
-extern const u8 gUnknown_084006BB[];
-extern const u8 gUnknown_084006C6[];
-extern const u8 gUnknown_084006D5[];
-extern const u8 gUnknown_0840068C[];
-extern const u8 gUnknown_0840067C[];
-extern const u8 gUnknown_08400622[];
-extern const u8 gUnknown_084007BD[];
-extern const u8 gUnknown_083FFEFC[];
-extern const u8 gUnknown_083FFFF7[];
-extern const u8 gUnknown_083FFFEA[];
-extern const u8 gUnknown_083FFF6A[];
-extern const u8 gUnknown_083FFF99[];
-extern const u8 gUnknown_083FFFCB[];
-extern const u8 gUnknown_083FFF56[];
-extern const u8 gUnknown_083FFF81[];
-extern const u8 gUnknown_083FFFB3[];
-extern const u8 gUnknown_08400A78[];
-extern const u8 gUnknown_08400A85[];
-extern const u8 gUnknown_08400797[];
-extern const u8 gUnknown_08400791[];
-extern const u8 gUnknown_084007B7[];
-extern const u8 gUnknown_084007B2[];
-extern const u8 gUnknown_0840079C[];
-extern const u8 gUnknown_084007A1[];
-extern const u8 gUnknown_084007A7[];
-extern const u8 gUnknown_084007AC[];
-extern const u8 gUnknown_084009ED[];
-extern const u8 gUnknown_084009F7[];
-extern const u8 gUnknown_084007C8[];
-extern const u8 gUnknown_084007CA[];
-extern const u8 gUnknown_084007CC[];
-extern const u8 gUnknown_084007CE[];
-extern const u8 gUnknown_084007D0[];
-extern const u8 gUnknown_08400E5E[];
-extern const u8 gUnknown_08400E62[];
-
-extern const u16 gUnknown_084016BC[]; // a table of moves
+extern const u8 BattleText_DoubleWantToBattle[];
+extern const u8 BattleText_SingleWantToBattle2[];
+extern const u8 BattleText_SingleWantToBattle1[];
+extern const u8 BattleText_WildAppeared2[];
+extern const u8 BattleText_WildDoubleAppeared[];
+extern const u8 BattleText_WildAppeared3[];
+extern const u8 BattleText_WildAppeared1[];
+extern const u8 BattleText_SentOutSingle11[];
+extern const u8 BattleText_SentOutDouble4[];
+extern const u8 BattleText_SentOutSingle6[];
+extern const u8 BattleText_SentOutDouble3[];
+extern const u8 BattleText_SentOutDouble2[];
+extern const u8 BattleText_SentOutDouble1[];
+extern const u8 BattleText_SentOutSingle3[];
+extern const u8 BattleText_SentOutSingle1[];
+extern const u8 BattleText_ComeBackSingle1[];
+extern const u8 BattleText_ComeBackSingle2[];
+extern const u8 BattleText_ComeBackSingle3[];
+extern const u8 BattleText_ComeBackSingle4[];
+extern const u8 BattleText_WithdrewPoke3[];
+extern const u8 BattleText_WithdrewPoke2[];
+extern const u8 BattleText_WithdrewPoke1[];
+extern const u8 BattleText_SentOutSingle7[];
+extern const u8 BattleText_SentOutSingle8[];
+extern const u8 BattleText_SentOutSingle9[];
+extern const u8 BattleText_SentOutSingle10[];
+extern const u8 BattleText_SentOutSingle5[];
+extern const u8 BattleText_SentOutSingle4[];
+extern const u8 BattleText_SentOutSingle2[];
+extern const u8 BattleText_OpponentUsedMove[];
+extern const u8 BattleText_GotAwaySafely[];
+extern const u8 BattleText_FledDouble[];
+extern const u8 BattleText_FledSingle[];
+extern const u8 BattleText_PlayerDefeatedTrainers[];
+extern const u8 BattleText_PlayerLostTrainers[];
+extern const u8 BattleText_PlayerTiedTrainers[];
+extern const u8 BattleText_PlayerDefeatedTrainer[];
+extern const u8 BattleText_PlayerLostTrainer[];
+extern const u8 BattleText_PlayerTiedTrainer[];
+extern const u8 BattleText_EnigmaBerry[];
+extern const u8 BattleText_Berry[];
+extern const u8 BattleText_Foe[];
+extern const u8 BattleText_Wild[];
+extern const u8 BattleText_Ally3[];
+extern const u8 BattleText_Foe4[];
+extern const u8 BattleText_Foe2[];
+extern const u8 BattleText_Ally[];
+extern const u8 BattleText_Foe3[];
+extern const u8 BattleText_Ally2[];
+extern const u8 BattleText_Someone[];
+extern const u8 BattleText_Lanette[];
+extern const u8 BattleText_Exclamation2[];
+extern const u8 BattleText_Exclamation3[];
+extern const u8 BattleText_Exclamation4[];
+extern const u8 BattleText_Exclamation5[];
+extern const u8 BattleText_Exclamation[];
+extern const u8 BattleText_Format10[];
+extern const u8 BattleText_Format11[];
extern const u8* const gUnknown_08401674[]; // table of pointers to 'a -TYPE' strings
extern const u8* const gUnknown_08400F58[]; // table of pointers to stat strings
@@ -116,7 +244,6 @@ struct StatusFlagString
};
extern const struct StatusFlagString gUnknown_081FA6D4[7]; // status flag/text
-extern const u8 gUnknown_084017A8[8]; // empty flags
extern struct StringInfoBattle* gSelectedOrderFromParty;
#define gStringInfo gSelectedOrderFromParty
@@ -168,13 +295,13 @@ void BufferStringBattle(u16 stringID)
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
{
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
- stringPtr = gUnknown_084005DB;
+ stringPtr = BattleText_DoubleWantToBattle;
else
- stringPtr = gUnknown_084005C7;
+ stringPtr = BattleText_SingleWantToBattle2;
}
else
{
- stringPtr = gUnknown_084005AA;
+ stringPtr = BattleText_SingleWantToBattle1;
#ifdef GERMAN
stringPtr = de_sub_804110C(0xFFFF, stringPtr);
#endif
@@ -183,13 +310,13 @@ void BufferStringBattle(u16 stringID)
else
{
if (gBattleTypeFlags & BATTLE_TYPE_LEGENDARY)
- stringPtr = gUnknown_08400568;
+ stringPtr = BattleText_WildAppeared2;
else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) // interesting, looks like they had something planned for wild double battles
- stringPtr = gUnknown_08400590;
+ stringPtr = BattleText_WildDoubleAppeared;
else if (gBattleTypeFlags & BATTLE_TYPE_WALLY_TUTORIAL)
- stringPtr = gUnknown_0840057B;
+ stringPtr = BattleText_WildAppeared3;
else
- stringPtr = gUnknown_08400555;
+ stringPtr = BattleText_WildAppeared1;
}
break;
case 1: // poke first send-out
@@ -198,34 +325,34 @@ void BufferStringBattle(u16 stringID)
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
- stringPtr = gUnknown_084006F1;
+ stringPtr = BattleText_SentOutSingle11;
else
- stringPtr = gUnknown_084006A4;
+ stringPtr = BattleText_SentOutDouble4;
}
else
- stringPtr = gUnknown_0840069C;
+ stringPtr = BattleText_SentOutSingle6;
}
else
{
if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
{
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
- stringPtr = gUnknown_0840065C;
+ stringPtr = BattleText_SentOutDouble3;
else if (gBattleTypeFlags & BATTLE_TYPE_LINK)
- stringPtr = gUnknown_08400645;
+ stringPtr = BattleText_SentOutDouble2;
else
{
- stringPtr = gUnknown_08400608;
+ stringPtr = BattleText_SentOutDouble1;
#ifdef GERMAN
stringPtr = de_sub_804110C(0xFFFF, stringPtr);
#endif
}
}
else if (gBattleTypeFlags & BATTLE_TYPE_LINK)
- stringPtr = gUnknown_08400635;
+ stringPtr = BattleText_SentOutSingle3;
else
{
- stringPtr = gUnknown_084005F5;
+ stringPtr = BattleText_SentOutSingle1;
#ifdef GERMAN
stringPtr = de_sub_804110C(0xFFFF, stringPtr);
#endif
@@ -236,26 +363,26 @@ void BufferStringBattle(u16 stringID)
if (GetBankSide(gActiveBank) == 0)
{
if (BATTLE_STRUCT->hpScale == 0)
- stringPtr = gUnknown_08400709;
+ stringPtr = BattleText_ComeBackSingle1;
else if (BATTLE_STRUCT->hpScale == 1 || gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
- stringPtr = gUnknown_08400727;
+ stringPtr = BattleText_ComeBackSingle2;
else if (BATTLE_STRUCT->hpScale == 2)
- stringPtr = gUnknown_08400736;
+ stringPtr = BattleText_ComeBackSingle3;
else
- stringPtr = gUnknown_08400749;
+ stringPtr = BattleText_ComeBackSingle4;
}
else
{
if (gTrainerBattleOpponent == 0x800)
{
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
- stringPtr = gUnknown_08400781;
+ stringPtr = BattleText_WithdrewPoke3;
else
- stringPtr = gUnknown_08400771;
+ stringPtr = BattleText_WithdrewPoke2;
}
else
{
- stringPtr = gUnknown_0840075E;
+ stringPtr = BattleText_WithdrewPoke1;
#ifdef GERMAN
stringPtr = de_sub_804110C(0xFFFF, stringPtr);
#endif
@@ -266,26 +393,26 @@ void BufferStringBattle(u16 stringID)
if (GetBankSide(BATTLE_STRUCT->scriptingActive) == 0)
{
if (BATTLE_STRUCT->hpScale == 0 || gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
- stringPtr = gUnknown_084006B3;
+ stringPtr = BattleText_SentOutSingle7;
else if (BATTLE_STRUCT->hpScale == 1)
- stringPtr = gUnknown_084006BB;
+ stringPtr = BattleText_SentOutSingle8;
else if (BATTLE_STRUCT->hpScale == 2)
- stringPtr = gUnknown_084006C6;
+ stringPtr = BattleText_SentOutSingle9;
else
- stringPtr = gUnknown_084006D5;
+ stringPtr = BattleText_SentOutSingle10;
}
else
{
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
{
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
- stringPtr = gUnknown_0840068C;
+ stringPtr = BattleText_SentOutSingle5;
else
- stringPtr = gUnknown_0840067C;
+ stringPtr = BattleText_SentOutSingle4;
}
else
{
- stringPtr = gUnknown_08400622;
+ stringPtr = BattleText_SentOutSingle2;
#ifdef GERMAN
stringPtr = de_sub_804110C(0xFFFF, stringPtr);
#endif
@@ -299,7 +426,7 @@ void BufferStringBattle(u16 stringID)
else
StringCopy(gBattleTextBuff2, gMoveNames[gStringInfo->currentMove]);
sub_8121D74(gBattleTextBuff2);
- stringPtr = gUnknown_084007BD;
+ stringPtr = BattleText_OpponentUsedMove;
break;
case 5: // battle end
if (gBattleTextBuff1[0] & 0x80)
@@ -308,13 +435,13 @@ void BufferStringBattle(u16 stringID)
if (GetBankSide(gActiveBank) == 1 && gBattleTextBuff1[0] != 3)
gBattleTextBuff1[0] ^= 3;
if (gBattleTextBuff1[0] == BATTLE_LOST || gBattleTextBuff1[0] == BATTLE_DREW)
- stringPtr = gUnknown_083FFEFC;
+ stringPtr = BattleText_GotAwaySafely;
else
{
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
- stringPtr = gUnknown_083FFFF7;
+ stringPtr = BattleText_FledDouble;
else
- stringPtr = gUnknown_083FFFEA;
+ stringPtr = BattleText_FledSingle;
}
}
else
@@ -326,13 +453,13 @@ void BufferStringBattle(u16 stringID)
switch (gBattleTextBuff1[0])
{
case BATTLE_WON:
- stringPtr = gUnknown_083FFF6A;
+ stringPtr = BattleText_PlayerDefeatedTrainers;
break;
case BATTLE_LOST:
- stringPtr = gUnknown_083FFF99;
+ stringPtr = BattleText_PlayerLostTrainers;
break;
case BATTLE_DREW:
- stringPtr = gUnknown_083FFFCB;
+ stringPtr = BattleText_PlayerTiedTrainers;
break;
}
}
@@ -341,13 +468,13 @@ void BufferStringBattle(u16 stringID)
switch (gBattleTextBuff1[0])
{
case BATTLE_WON:
- stringPtr = gUnknown_083FFF56;
+ stringPtr = BattleText_PlayerDefeatedTrainer;
break;
case BATTLE_LOST:
- stringPtr = gUnknown_083FFF81;
+ stringPtr = BattleText_PlayerLostTrainer;
break;
case BATTLE_DREW:
- stringPtr = gUnknown_083FFFB3;
+ stringPtr = BattleText_PlayerTiedTrainer;
break;
}
}
@@ -414,9 +541,9 @@ extern u8 *de_sub_8041024(s32, u32);
if (GetBankSide(bank) != 0) \
{ \
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) \
- toCpy = gUnknown_08400797; \
+ toCpy = BattleText_Foe; \
else \
- toCpy = gUnknown_08400791; \
+ toCpy = BattleText_Wild; \
while (*toCpy != EOS) \
{ \
dst[dstID] = *toCpy; \
@@ -445,9 +572,9 @@ extern u8 *de_sub_8041024(s32, u32);
toCpy++; \
} \
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) \
- toCpy = gUnknown_08400797; \
+ toCpy = BattleText_Foe; \
else \
- toCpy = gUnknown_08400791; \
+ toCpy = BattleText_Wild; \
} \
else \
{ \
@@ -590,14 +717,14 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst)
{
StringCopy(text, gEnigmaBerries[gStringBank].name);
#ifdef ENGLISH
- StringAppend(text, gUnknown_08400A85);
+ StringAppend(text, BattleText_Berry);
#else
- de_sub_8073174(text, gUnknown_08400A85);
+ de_sub_8073174(text, BattleText_Berry);
#endif
toCpy = text;
}
else
- toCpy = gUnknown_08400A78;
+ toCpy = BattleText_EnigmaBerry;
}
else
{
@@ -694,45 +821,45 @@ u32 StrCpyDecodeBattle(const u8* src, u8* dst)
break;
case 35: // lanette pc
if (FlagGet(SYS_PC_LANETTE))
- toCpy = gUnknown_084009F7;
+ toCpy = BattleText_Lanette;
else
- toCpy = gUnknown_084009ED;
+ toCpy = BattleText_Someone;
break;
case 38:
if (GetBankSide(gBankAttacker) == 0)
- toCpy = gUnknown_084007AC;
+ toCpy = BattleText_Ally2;
else
- toCpy = gUnknown_084007A7;
+ toCpy = BattleText_Foe3;
break;
case 39:
if (GetBankSide(gBankTarget) == 0)
- toCpy = gUnknown_084007AC;
+ toCpy = BattleText_Ally2;
else
- toCpy = gUnknown_084007A7;
+ toCpy = BattleText_Foe3;
break;
case 36:
if (GetBankSide(gBankAttacker) == 0)
- toCpy = gUnknown_084007A1;
+ toCpy = BattleText_Ally;
else
- toCpy = gUnknown_0840079C;
+ toCpy = BattleText_Foe2;
break;
case 37:
if (GetBankSide(gBankTarget) == 0)
- toCpy = gUnknown_084007A1;
+ toCpy = BattleText_Ally;
else
- toCpy = gUnknown_0840079C;
+ toCpy = BattleText_Foe2;
break;
case 40:
if (GetBankSide(gBankAttacker) == 0)
- toCpy = gUnknown_084007B7;
+ toCpy = BattleText_Ally3;
else
- toCpy = gUnknown_084007B2;
+ toCpy = BattleText_Foe4;
break;
case 41:
if (GetBankSide(gBankTarget) == 0)
- toCpy = gUnknown_084007B7;
+ toCpy = BattleText_Ally3;
else
- toCpy = gUnknown_084007B2;
+ toCpy = BattleText_Foe4;
break;
}
//if (toCpy != NULL) really GF, why did you forget about this?
@@ -819,9 +946,9 @@ void StrCpyDecodeBattleTextBuff(u8* src, u8* dst)
else
{
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
- StringAppend(dst, gUnknown_08400797);
+ StringAppend(dst, BattleText_Foe);
else
- StringAppend(dst, gUnknown_08400791);
+ StringAppend(dst, BattleText_Wild);
GetMonData(&gEnemyParty[src[srcID + 2]], MON_DATA_NICKNAME, text);
}
StringGetEnd10(text);
@@ -839,9 +966,9 @@ void StrCpyDecodeBattleTextBuff(u8* src, u8* dst)
StringGetEnd10(text);
StringAppend(dst, text);
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
- StringAppend(dst, gUnknown_08400797);
+ StringAppend(dst, BattleText_Foe);
else
- StringAppend(dst, gUnknown_08400791);
+ StringAppend(dst, BattleText_Wild);
}
#endif
srcID += 3;
@@ -881,13 +1008,13 @@ void StrCpyDecodeBattleTextBuff(u8* src, u8* dst)
{
StringCopy(dst, gEnigmaBerries[gStringBank].name);
#ifdef ENGLISH
- StringAppend(dst, gUnknown_08400A85);
+ StringAppend(dst, BattleText_Berry);
#else
- de_sub_8073174(dst, gUnknown_08400A85);
+ de_sub_8073174(dst, BattleText_Berry);
#endif
}
else
- StringAppend(dst, gUnknown_08400A78);
+ StringAppend(dst, BattleText_EnigmaBerry);
}
else
CopyItemName(hword, dst);
@@ -917,9 +1044,9 @@ void sub_8121D1C(u8* textBuff)
if (counter >= 0)
{
if (counter <= 2)
- StringCopy(textBuff, gUnknown_08400E5E); // is
+ StringCopy(textBuff, BattleText_Format10); // is
else if (counter <= 4)
- StringCopy(textBuff, gUnknown_08400E62); // 's
+ StringCopy(textBuff, BattleText_Format11); // 's
}
}
@@ -942,19 +1069,19 @@ void sub_8121D74(u8* dst)
switch (counter)
{
case 0:
- StringCopy(dst, gUnknown_084007C8);
+ StringCopy(dst, BattleText_Exclamation2);
break;
case 1:
- StringCopy(dst, gUnknown_084007CA);
+ StringCopy(dst, BattleText_Exclamation3);
break;
case 2:
- StringCopy(dst, gUnknown_084007CC);
+ StringCopy(dst, BattleText_Exclamation4);
break;
case 3:
- StringCopy(dst, gUnknown_084007CE);
+ StringCopy(dst, BattleText_Exclamation5);
break;
case 4:
- StringCopy(dst, gUnknown_084007D0);
+ StringCopy(dst, BattleText_Exclamation);
break;
}
}
diff --git a/src/data/battle_strings_de.h b/src/data/battle_strings_de.h
new file mode 100755
index 000000000..5289ce4e0
--- /dev/null
+++ b/src/data/battle_strings_de.h
@@ -0,0 +1,1612 @@
+#include "moves.h"
+
+enum
+{
+ BATTLE_TEXT_UnknownString = 12,
+ BATTLE_TEXT_GainExpPoints,
+ BATTLE_TEXT_GrewLevel,
+ BATTLE_TEXT_LearnedMove,
+ BATTLE_TEXT_TryingToLearnMove,
+ BATTLE_TEXT_CantLearnMore,
+ BATTLE_TEXT_DeleteMove,
+ BATTLE_TEXT_DeletedMove,
+ BATTLE_TEXT_StopLearning,
+ BATTLE_TEXT_DidNotLearn,
+ BATTLE_TEXT_LearnedMove2,
+ BATTLE_TEXT_AttackMissed,
+ BATTLE_TEXT_ProtectedItself,
+ BATTLE_TEXT_StatNoHigher,
+ BATTLE_TEXT_AvoidedDamage,
+ BATTLE_TEXT_DoesntAffect,
+ BATTLE_TEXT_AttackingFainted,
+ BATTLE_TEXT_DefendingFainted,
+ BATTLE_TEXT_WinningPrize,
+ BATTLE_TEXT_OutOfUsablePoke,
+ BATTLE_TEXT_WhitedOut,
+ BATTLE_TEXT_PreventEscape,
+ BATTLE_TEXT_HitMulti,
+ BATTLE_TEXT_FellAsleep,
+ BATTLE_TEXT_MadeAsleep,
+ BATTLE_TEXT_DefendingAsleep,
+ BATTLE_TEXT_AttackingAsleep,
+ BATTLE_TEXT_WasntAffected,
+ BATTLE_TEXT_Poisoned,
+ BATTLE_TEXT_Poisoned2,
+ BATTLE_TEXT_PoisonHurt,
+ BATTLE_TEXT_AlreadyPoisoned,
+ BATTLE_TEXT_BadlyPoisoned,
+ BATTLE_TEXT_EnergyDrained,
+ BATTLE_TEXT_Burned,
+ BATTLE_TEXT_Burned2,
+ BATTLE_TEXT_BurnHurt,
+ BATTLE_TEXT_Frozen,
+ BATTLE_TEXT_Frozen2,
+ BATTLE_TEXT_FrozenSolid,
+ BATTLE_TEXT_DefendingDefrosted,
+ BATTLE_TEXT_AttackingDefrosted,
+ BATTLE_TEXT_Defrosted,
+ BATTLE_TEXT_Paralyzed,
+ BATTLE_TEXT_Paralyzed2,
+ BATTLE_TEXT_Paralyzed3,
+ BATTLE_TEXT_AlreadyParalyzed,
+ BATTLE_TEXT_ParalysisHealed,
+ BATTLE_TEXT_DreamEaten,
+ BATTLE_TEXT_AttackingStatNoHigher,
+ BATTLE_TEXT_DefendingStatNoHigher,
+ BATTLE_TEXT_StoppedWorking,
+ BATTLE_TEXT_StoppedWorking2,
+ BATTLE_TEXT_Confused,
+ BATTLE_TEXT_ConfusionSnapOut,
+ BATTLE_TEXT_BecameConfused,
+ BATTLE_TEXT_AlreadyConfused,
+ BATTLE_TEXT_FellLove,
+ BATTLE_TEXT_InLoveWith,
+ BATTLE_TEXT_ImmobilizedBy,
+ BATTLE_TEXT_BlownAway,
+ BATTLE_TEXT_TypeTransform,
+ BATTLE_TEXT_Flinched,
+ BATTLE_TEXT_RegainedHealth,
+ BATTLE_TEXT_HPFull,
+ BATTLE_TEXT_RaisedSpDef,
+ BATTLE_TEXT_RaisedDefense,
+ BATTLE_TEXT_CoveredVeil,
+ BATTLE_TEXT_SafeguardActive,
+ BATTLE_TEXT_SafeguardFaded,
+ BATTLE_TEXT_WentToSleep,
+ BATTLE_TEXT_SpeltHealthy,
+ BATTLE_TEXT_WhipWhirlwind,
+ BATTLE_TEXT_TookSunlight,
+ BATTLE_TEXT_LoweredHead,
+ BATTLE_TEXT_IsGlowing,
+ BATTLE_TEXT_FlewHigh,
+ BATTLE_TEXT_DugHole,
+ BATTLE_TEXT_SqueezedBind,
+ BATTLE_TEXT_TrappedVortex,
+ BATTLE_TEXT_Wrapped,
+ BATTLE_TEXT_Clamped,
+ BATTLE_TEXT_HurtBy,
+ BATTLE_TEXT_FreedFrom,
+ BATTLE_TEXT_KeptGoingCrash,
+ BATTLE_TEXT_MistShroud,
+ BATTLE_TEXT_MistProtect,
+ BATTLE_TEXT_GetPumped,
+ BATTLE_TEXT_HitRecoil,
+ BATTLE_TEXT_ProtectedItself2,
+ BATTLE_TEXT_SandBuffeted,
+ BATTLE_TEXT_HailStricken,
+ BATTLE_TEXT_WasSeeded,
+ BATTLE_TEXT_EvadedAttack,
+ BATTLE_TEXT_HealthSapped,
+ BATTLE_TEXT_FastAsleep,
+ BATTLE_TEXT_WokeUp,
+ BATTLE_TEXT_UproarAwake,
+ BATTLE_TEXT_UproarWoke,
+ BATTLE_TEXT_UproarCaused,
+ BATTLE_TEXT_UproarMaking,
+ BATTLE_TEXT_CalmedDown,
+ BATTLE_TEXT_UproarCantSleep,
+ BATTLE_TEXT_Stockpiled,
+ BATTLE_TEXT_StockpiledCant,
+ BATTLE_TEXT_UproarCantSleep2,
+ BATTLE_TEXT_UproarKeptAwake,
+ BATTLE_TEXT_StayedAwake,
+ BATTLE_TEXT_StoringEnergy,
+ BATTLE_TEXT_UnleashedEnergy,
+ BATTLE_TEXT_FatigueConfuse,
+ BATTLE_TEXT_PickedUpYen,
+ BATTLE_TEXT_Unaffected,
+ BATTLE_TEXT_Transformed,
+ BATTLE_TEXT_SubMade,
+ BATTLE_TEXT_SubAlready,
+ BATTLE_TEXT_SubTookDamage,
+ BATTLE_TEXT_SubFaded,
+ BATTLE_TEXT_MustRecharge,
+ BATTLE_TEXT_RageBuilding,
+ BATTLE_TEXT_MoveWasDisabled,
+ BATTLE_TEXT_MoveIsDisabled,
+ BATTLE_TEXT_DisabledNoMore,
+ BATTLE_TEXT_EncoreGot,
+ BATTLE_TEXT_EncoreEnded,
+ BATTLE_TEXT_TookAim,
+ BATTLE_TEXT_SketchedMove,
+ BATTLE_TEXT_DestinyBondTake,
+ BATTLE_TEXT_DestinyBondTaken,
+ BATTLE_TEXT_ReducedBy,
+ BATTLE_TEXT_StoleSomething,
+ BATTLE_TEXT_CantEscapeNow,
+ BATTLE_TEXT_NightmareStart,
+ BATTLE_TEXT_NightmareLock,
+ BATTLE_TEXT_CurseLay,
+ BATTLE_TEXT_CurseAfflict,
+ BATTLE_TEXT_SpikesScattered,
+ BATTLE_TEXT_SpikesHurt,
+ BATTLE_TEXT_IdentifiedPoke,
+ BATTLE_TEXT_PerishSongFell,
+ BATTLE_TEXT_BracedItself,
+ BATTLE_TEXT_EnduredHit,
+ BATTLE_TEXT_MagnitudeCount,
+ BATTLE_TEXT_CutHPMaxATK,
+ BATTLE_TEXT_CopyStatChanges,
+ BATTLE_TEXT_GotFreeFrom,
+ BATTLE_TEXT_LeechShed,
+ BATTLE_TEXT_SpikesBlownAway,
+ BATTLE_TEXT_FledBattle,
+ BATTLE_TEXT_ForesawAttack,
+ BATTLE_TEXT_TookAttack,
+ BATTLE_TEXT_PokeAttack,
+ BATTLE_TEXT_CenterAttention,
+ BATTLE_TEXT_ChargingPower,
+ BATTLE_TEXT_NaturePower,
+ BATTLE_TEXT_StatusNormal,
+ BATTLE_TEXT_NoMovesLeft,
+ BATTLE_TEXT_TormentSubject,
+ BATTLE_TEXT_TormentNoUse,
+ BATTLE_TEXT_TightenFocus,
+ BATTLE_TEXT_TauntFell,
+ BATTLE_TEXT_TauntNoUse,
+ BATTLE_TEXT_ReadyToHelp,
+ BATTLE_TEXT_SwitchedItems,
+ BATTLE_TEXT_CopiedObject,
+ BATTLE_TEXT_WishMade,
+ BATTLE_TEXT_WishTrue,
+ BATTLE_TEXT_PlantedRoots,
+ BATTLE_TEXT_AbsorbNutrients,
+ BATTLE_TEXT_AnchoredItself,
+ BATTLE_TEXT_DrowsyMade,
+ BATTLE_TEXT_KnockedOffItem,
+ BATTLE_TEXT_AbilitySwap,
+ BATTLE_TEXT_SealedMove,
+ BATTLE_TEXT_SealedNoUse,
+ BATTLE_TEXT_GrudgeBear,
+ BATTLE_TEXT_GrudgeLosePP,
+ BATTLE_TEXT_ShroudedItself,
+ BATTLE_TEXT_MagicCoatBounce,
+ BATTLE_TEXT_AwaitMove,
+ BATTLE_TEXT_SnatchedMove,
+ BATTLE_TEXT_RainMade,
+ BATTLE_TEXT_SpeedRisen,
+ BATTLE_TEXT_ProtectedBy,
+ BATTLE_TEXT_PreventedBy,
+ BATTLE_TEXT_HPRestoredUsing,
+ BATTLE_TEXT_MadeType,
+ BATTLE_TEXT_PreventedPara,
+ BATTLE_TEXT_PreventedRomance,
+ BATTLE_TEXT_PreventedPoison,
+ BATTLE_TEXT_PreventedConfusion,
+ BATTLE_TEXT_RaisedFirePower,
+ BATTLE_TEXT_AnchorsItself,
+ BATTLE_TEXT_CutsAttack,
+ BATTLE_TEXT_PreventedStatLoss,
+ BATTLE_TEXT_HurtOther,
+ BATTLE_TEXT_Traced,
+ BATTLE_TEXT_Sharply,
+ BATTLE_TEXT_Rose,
+ BATTLE_TEXT_Harshly,
+ BATTLE_TEXT_Fell,
+ BATTLE_TEXT_UnknownString7,
+ BATTLE_TEXT_UnknownString3,
+ BATTLE_TEXT_UnknownString5,
+ BATTLE_TEXT_UnknownString6,
+ BATTLE_TEXT_Critical,
+ BATTLE_TEXT_GrandSlam,
+ BATTLE_TEXT_MoveForget123,
+ BATTLE_TEXT_MoveForgetAnd,
+ BATTLE_TEXT_NotEffective,
+ BATTLE_TEXT_SuperEffective,
+ BATTLE_TEXT_GotAwaySafely,
+ BATTLE_TEXT_FledWild,
+ BATTLE_TEXT_NoRunning,
+ BATTLE_TEXT_CantEscape2,
+ BATTLE_TEXT_BirchDontLeaveMe,
+ BATTLE_TEXT_Nothing,
+ BATTLE_TEXT_Failed,
+ BATTLE_TEXT_HurtItself,
+ BATTLE_TEXT_MirrorFail,
+ BATTLE_TEXT_RainStart,
+ BATTLE_TEXT_PourStart,
+ BATTLE_TEXT_RainCont1,
+ BATTLE_TEXT_PourCont,
+ BATTLE_TEXT_RainStop,
+ BATTLE_TEXT_SandBrewed,
+ BATTLE_TEXT_SandRages,
+ BATTLE_TEXT_SandSubsided,
+ BATTLE_TEXT_SunBright,
+ BATTLE_TEXT_SunStrong,
+ BATTLE_TEXT_SunFaded,
+ BATTLE_TEXT_HailStart,
+ BATTLE_TEXT_HailCont,
+ BATTLE_TEXT_HailStop,
+ BATTLE_TEXT_SpitUpFail,
+ BATTLE_TEXT_SwallowFail,
+ BATTLE_TEXT_WindHeatWave,
+ BATTLE_TEXT_StatElim,
+ BATTLE_TEXT_CoinScatter,
+ BATTLE_TEXT_SubWeak,
+ BATTLE_TEXT_PainSplit,
+ BATTLE_TEXT_BellChime,
+ BATTLE_TEXT_PerishSong,
+ BATTLE_TEXT_NoPP1,
+ BATTLE_TEXT_NoPP2,
+ BATTLE_TEXT_Used1,
+ BATTLE_TEXT_TutorialUsed,
+ BATTLE_TEXT_BlockBall,
+ BATTLE_TEXT_DontBeAThief,
+ BATTLE_TEXT_DodgeBall,
+ BATTLE_TEXT_MissPoke,
+ BATTLE_TEXT_BallBrokeOhNo,
+ BATTLE_TEXT_BallBrokeAppeared,
+ BATTLE_TEXT_BallBrokeAlmost,
+ BATTLE_TEXT_BallBrokeSoClose,
+ BATTLE_TEXT_BallCaught1,
+ BATTLE_TEXT_BallCaught2,
+ BATTLE_TEXT_GiveNickname,
+ BATTLE_TEXT_SentToPC,
+ BATTLE_TEXT_AddedToDex,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Sandstorm,
+ BATTLE_TEXT_CantEscape,
+ BATTLE_TEXT_IgnoredOrdersSLP,
+ BATTLE_TEXT_IgnoredOrders,
+ BATTLE_TEXT_BeganNap,
+ BATTLE_TEXT_LoafingAround,
+ BATTLE_TEXT_WontObey,
+ BATTLE_TEXT_TurnedAway,
+ BATTLE_TEXT_NotNotice,
+ BATTLE_TEXT_WillSwitch,
+ BATTLE_TEXT_CreptCloser,
+ BATTLE_TEXT_CantGetCloser,
+ BATTLE_TEXT_WatchingCarefully,
+ BATTLE_TEXT_CuriousAbout,
+ BATTLE_TEXT_EnthralledBy,
+ BATTLE_TEXT_IgnoredThing,
+ BATTLE_TEXT_ThrewBlock,
+ BATTLE_TEXT_SafariOver,
+ BATTLE_TEXT_CuredParalysis,
+ BATTLE_TEXT_CuredPoison,
+ BATTLE_TEXT_CuredBurn,
+ BATTLE_TEXT_CuredFreeze,
+ BATTLE_TEXT_CuredSleep,
+ BATTLE_TEXT_CuredConfusion,
+ BATTLE_TEXT_CuredStatus,
+ BATTLE_TEXT_RestoredHealth,
+ BATTLE_TEXT_RestoredPP,
+ BATTLE_TEXT_RestoredStatus,
+ BATTLE_TEXT_RestoredHPLittle,
+ BATTLE_TEXT_ChoiceBand,
+ BATTLE_TEXT_FocusSash,
+ BATTLE_TEXT_Terminator2,
+ BATTLE_TEXT_PreventedBurn,
+ BATTLE_TEXT_BlocksOther,
+ BATTLE_TEXT_RestoredHPByItem,
+ BATTLE_TEXT_WhipSandstorm,
+ BATTLE_TEXT_PreventedLoss,
+ BATTLE_TEXT_InfatuatedPoke,
+ BATTLE_TEXT_MadeIneffective,
+ BATTLE_TEXT_CuredProblem,
+ BATTLE_TEXT_OozeSuckup,
+ BATTLE_TEXT_Transformed2,
+ BATTLE_TEXT_ElecWeakened,
+ BATTLE_TEXT_FireWeakened,
+ BATTLE_TEXT_HidUnderwater,
+ BATTLE_TEXT_SprangUp,
+ BATTLE_TEXT_CantForgetHM,
+ BATTLE_TEXT_FoundOne,
+ BATTLE_TEXT_PlayerDefeatedTrainer2,
+ BATTLE_TEXT_SoothingAroma,
+ BATTLE_TEXT_CantUseItems,
+ BATTLE_TEXT_UnknownString2,
+ BATTLE_TEXT_UnknownString4,
+ BATTLE_TEXT_HustleUse,
+ BATTLE_TEXT_MadeUseless,
+ BATTLE_TEXT_SandTombTrapped,
+ BATTLE_TEXT_Terminator,
+ BATTLE_TEXT_BoostedExp,
+ BATTLE_TEXT_SunIntensified,
+ BATTLE_TEXT_GroundMoveNegate,
+ BATTLE_TEXT_WallyBall,
+ BATTLE_TEXT_TookAttack2,
+ BATTLE_TEXT_ChoseDestiny,
+ BATTLE_TEXT_LostFocus,
+ BATTLE_TEXT_UseNext,
+ BATTLE_TEXT_FledUsingItem,
+ BATTLE_TEXT_FledUsingOther,
+ BATTLE_TEXT_DraggedOut,
+ BATTLE_TEXT_PreventedOther,
+ BATTLE_TEXT_NormalizedStatus,
+ BATTLE_TEXT_Used2,
+ BATTLE_TEXT_BoxFull,
+ BATTLE_TEXT_AvoidedAttack,
+ BATTLE_TEXT_MadeIneffective2,
+ BATTLE_TEXT_PreventedFlinching,
+ BATTLE_TEXT_AlreadyBurned,
+ BATTLE_TEXT_StatNoLower,
+ BATTLE_TEXT_BlocksOther2,
+ BATTLE_TEXT_WoreOff,
+ BATTLE_TEXT_RaisedDefenseLittle,
+ BATTLE_TEXT_RaisedSpDefLittle,
+ BATTLE_TEXT_BrokeWall,
+ BATTLE_TEXT_PreventedOther2,
+ BATTLE_TEXT_CuredOfProblem,
+ BATTLE_TEXT_AttackingCantEscape,
+ BATTLE_TEXT_Obtained1,
+ BATTLE_TEXT_Obtained2,
+ BATTLE_TEXT_Obtained3,
+ BATTLE_TEXT_NoEffect,
+ BATTLE_TEXT_NoEffectOn,
+};
+
+const u8 BattleText_UnknownString[] = _("{STRING 33}");
+const u8 BattleText_GainExpPoints[] = _("{STRING 0} erhält{PLAYER}\n{STRING 42} E-Punkte!\p");
+const u8 BattleText_Terminator[] = _("");
+const u8 BattleText_BoostedExp[] = _(" spezielle");
+const u8 BattleText_GrewLevel[] = _("{STRING 0} erreicht\nLv. {PLAYER}!{UNKNOWN_A}\p");
+const u8 BattleText_LearnedMove[] = _("{STRING 0} erlernt\n{PLAYER}!{UNKNOWN_A}\p");
+const u8 BattleText_TryingToLearnMove[] = _("{STRING 0} versucht,\n{PLAYER} zu lernen.\p");
+const u8 BattleText_CantLearnMore[] = _("Aber {STRING 0} kann nicht\nmehr als vier Attacken erlernen.\p");
+const u8 BattleText_DeleteMove[] = _("Soll eine Attacke zu Gunsten von\n{PLAYER} vergessen werden?");
+const u8 BattleText_DeletedMove[] = _("{STRING 0} hat\n{PLAYER} vergessen!\p");
+const u8 BattleText_StopLearning[] = _("{PAUSE 32}{PLAYER}\nnicht erlernen?");
+const u8 BattleText_DidNotLearn[] = _("{STRING 0} hat {PLAYER}\nnicht erlernt.\p");
+const u8 BattleText_UseNext[] = _("Nächstes POKéMON einsetzen?");
+const u8 BattleText_AttackMissed[] = _("Attacke von {EVIL_LEGENDARY}\nging daneben!");
+const u8 BattleText_ProtectedItself[] = _("{GOOD_LEGENDARY}\nschützt sich selbst!");
+const u8 BattleText_AvoidedDamage[] = _("{GOOD_LEGENDARY} vermeidet\nSchaden mit {STRING 22}!");
+const u8 BattleText_GroundMoveNegate[] = _("{GOOD_LEGENDARY} wehrt BODEN-\nAttacken mit {STRING 22} ab!");
+const u8 BattleText_AvoidedAttack[] = _("{GOOD_LEGENDARY} wehrt die\nAttacke ab!");
+const u8 BattleText_DoesntAffect[] = _("Es hat keine Wirkung auf\n{GOOD_LEGENDARY}...");
+const u8 BattleText_AttackingFainted[] = _("{EVIL_LEGENDARY}\nwurde besiegt!\p");
+const u8 BattleText_DefendingFainted[] = _("{GOOD_LEGENDARY}\nwurde besiegt!\p");
+const u8 BattleText_WinningPrize[] = _("{STRING 32} gewinnt ¥{STRING 0}!\p");
+const u8 BattleText_OutOfUsablePoke[] = _("{STRING 32} hat kein\nkampffähiges POKéMON mehr!\p");
+const u8 BattleText_WhitedOut[] = _("{STRING 32} fällt in Ohnmacht!{PAUSE_UNTIL_PRESS}");
+const u8 BattleText_PreventEscape[] = _("{STRING 16} verhindert\neine Flucht mit {STRING 23}!\p");
+const u8 BattleText_CantEscape[] = _("Flucht unmöglich!\p");
+const u8 BattleText_AttackingCantEscape[] = _("{EVIL_LEGENDARY}\nkann nicht fliehen!");
+const u8 BattleText_HitMulti[] = _("{STRING 0}-mal getroffen!");
+const u8 BattleText_FellAsleep[] = _("{STRING 14}\nist eingeschlafen!");
+const u8 BattleText_MadeAsleep[] = _("{STRING 23} von\n{STRING 16} lässt\l{STRING 14} einschlafen!");
+const u8 BattleText_DefendingAsleep[] = _("{GOOD_LEGENDARY} schläft\nbereits!");
+const u8 BattleText_AttackingAsleep[] = _("{EVIL_LEGENDARY} schläft\nbereits!");
+const u8 BattleText_WasntAffected[] = _("{GOOD_LEGENDARY}\nist unversehrt!");
+const u8 BattleText_Poisoned[] = _("{STRING 14}\nwurde vergiftet!");
+const u8 BattleText_Poisoned2[] = _("{STRING 23} von\n{STRING 16} vergiftete\l{STRING 14}!");
+const u8 BattleText_PoisonHurt[] = _("{EVIL_LEGENDARY} wurde durch\nGift verletzt!");
+const u8 BattleText_AlreadyPoisoned[] = _("{GOOD_LEGENDARY} ist bereits\nvergiftet.");
+const u8 BattleText_BadlyPoisoned[] = _("{STRING 14} wurde schwer\nvergiftet!");
+const u8 BattleText_EnergyDrained[] = _("{GOOD_LEGENDARY} wurde\nEnergie abgesaugt!");
+const u8 BattleText_Burned[] = _("{STRING 14} brennt!");
+const u8 BattleText_Burned2[] = _("{STRING 23} von\n{STRING 16} verbrennt\l{STRING 14}!");
+const u8 BattleText_BurnHurt[] = _("Die Verbrennung schadet\n{EVIL_LEGENDARY}!");
+const u8 BattleText_AlreadyBurned[] = _("{GOOD_LEGENDARY} brennt\nbereits.");
+const u8 BattleText_Frozen[] = _("{STRING 14} erstarrt\nzu Eis!");
+const u8 BattleText_Frozen2[] = _("{STRING 14} wurde durch\n{STRING 23} von\l{STRING 16} eingefroren!");
+const u8 BattleText_FrozenSolid[] = _("{EVIL_LEGENDARY} ist\neingefroren!");
+const u8 BattleText_DefendingDefrosted[] = _("{GOOD_LEGENDARY} wurde\naufgetaut!");
+const u8 BattleText_AttackingDefrosted[] = _("{EVIL_LEGENDARY} wurde\naufgetaut!");
+const u8 BattleText_Defrosted[] = _("{EVIL_LEGENDARY} wurde\ndurch {STRING 17} aufgetaut!");
+const u8 BattleText_Paralyzed[] = _("{STRING 14} ist\nparalysiert! Es greift\leventuell nicht an!");
+const u8 BattleText_Paralyzed2[] = _("{STRING 23} von\n{STRING 16} paralysierte\p{STRING 14}!\nEs greift eventuell nicht an!");
+const u8 BattleText_Paralyzed3[] = _("{EVIL_LEGENDARY} ist\nparalysiert! Es kann\lnicht angreifen!");
+const u8 BattleText_AlreadyParalyzed[] = _("{GOOD_LEGENDARY} ist\nbereits paralysiert!");
+const u8 BattleText_ParalysisHealed[] = _("{GOOD_LEGENDARY} wurde von der\nParalyse geheilt!");
+const u8 BattleText_DreamEaten[] = _("Der Traum von {GOOD_LEGENDARY}\nwurde gefressen!");
+const u8 BattleText_AttackingStatNoHigher[] = _("{STRING 0} von\n{EVIL_LEGENDARY} kann nicht\lmehr erhöht werden!");
+const u8 BattleText_DefendingStatNoHigher[] = _("{STRING 0} von\n{GOOD_LEGENDARY} kann nicht\lweiter gesenkt werden!");
+const u8 BattleText_StoppedWorking[] = _("{STRING 0} in deinem Team\nfunktioniert nicht mehr!");
+const u8 BattleText_StoppedWorking2[] = _("{STRING 0} des Gegners\nfunktioniert nicht mehr!");
+const u8 BattleText_Confused[] = _("{EVIL_LEGENDARY} ist\nverwirrt!");
+const u8 BattleText_ConfusionSnapOut[] = _("{EVIL_LEGENDARY} ist nicht\nmehr verwirrt!");
+const u8 BattleText_BecameConfused[] = _("{STRING 14} wurde\nverwirrt!");
+const u8 BattleText_AlreadyConfused[] = _("{GOOD_LEGENDARY} ist\nbereits verwirrt!");
+const u8 BattleText_FellLove[] = _("{GOOD_LEGENDARY}\nhat sich verliebt!");
+const u8 BattleText_InLoveWith[] = _("{EVIL_LEGENDARY} hat sich in\n{STRING 16} verliebt!");
+const u8 BattleText_ImmobilizedBy[] = _("{EVIL_LEGENDARY} ist starr\nvor Liebe!");
+const u8 BattleText_BlownAway[] = _("{GOOD_LEGENDARY} wurde\nweggeweht!");
+const u8 BattleText_TypeTransform[] = _("{EVIL_LEGENDARY} verwandelt\nsich zu Typ {STRING 0}!");
+const u8 BattleText_Flinched[] = _("{EVIL_LEGENDARY} schreckt\nzurück!");
+const u8 BattleText_RegainedHealth[] = _("{GOOD_LEGENDARY} erholt sich!");
+const u8 BattleText_HPFull[] = _("{GOOD_LEGENDARY} hat alle KP!");
+const u8 BattleText_RaisedSpDef[] = _("{STRING 17} von\n{STRING 38} erhöht\ldie SP. VER.");
+const u8 BattleText_RaisedSpDefLittle[] = _("Die SP. VER. wird etwas durch\n{STRING 17} von\l{STRING 38} erhöht.");
+const u8 BattleText_RaisedDefense[] = _("{STRING 17} von\n{STRING 38}\lerhöht die VERTEIDIGUNG!");
+const u8 BattleText_RaisedDefenseLittle[] = _("{STRING 17} von\n{STRING 38}\lerhöht etwas die VERTEIDIGUNG!");
+const u8 BattleText_CoveredVeil[] = _("{STRING 38} wird von\neinem Schleier umhüllt!");
+const u8 BattleText_SafeguardActive[] = _("{GOOD_LEGENDARY} wird durch\nBODYGUARD geschützt!");
+const u8 BattleText_SafeguardFaded[] = _("BODYGUARD von\n{STRING 40} lässt nach!");
+const u8 BattleText_WentToSleep[] = _("{EVIL_LEGENDARY} ist\neingeschlafen!");
+const u8 BattleText_SpeltHealthy[] = _("{EVIL_LEGENDARY} schläft und\nerholt sich!");
+const u8 BattleText_WhipWhirlwind[] = _("{EVIL_LEGENDARY} entfacht\neinen Wirbelwind!");
+const u8 BattleText_TookSunlight[] = _("{EVIL_LEGENDARY} absorbiert\nSonnenlicht!");
+const u8 BattleText_LoweredHead[] = _("{EVIL_LEGENDARY} zieht seinen\nKopf ein!");
+const u8 BattleText_IsGlowing[] = _("{EVIL_LEGENDARY} leuchtet!");
+const u8 BattleText_FlewHigh[] = _("{EVIL_LEGENDARY} fliegt\nhoch empor!");
+const u8 BattleText_DugHole[] = _("{EVIL_LEGENDARY} gräbt sich\nein!");
+const u8 BattleText_HidUnderwater[] = _("{EVIL_LEGENDARY} taucht\nunter!");
+const u8 BattleText_SprangUp[] = _("{EVIL_LEGENDARY} springt auf!");
+const u8 BattleText_SqueezedBind[] = _("{EVIL_LEGENDARY} setzt bei\n{GOOD_LEGENDARY}\lKLAMMERGRIFF ein!");
+const u8 BattleText_TrappedVortex[] = _("{GOOD_LEGENDARY} wurde in\neinem Strudel gefangen!");
+const u8 BattleText_SandTombTrapped[] = _("{GOOD_LEGENDARY} wurde durch\nSANDGRAB gefangen!");
+const u8 BattleText_Wrapped[] = _("{GOOD_LEGENDARY} wurde von\n{EVIL_LEGENDARY} umWICKELt!");
+const u8 BattleText_Clamped[] = _("{GOOD_LEGENDARY} wurde von\n{EVIL_LEGENDARY} geSCHNAPPT!");
+const u8 BattleText_HurtBy[] = _("{EVIL_LEGENDARY} wurde durch\n{STRING 0} verletzt!");
+const u8 BattleText_FreedFrom[] = _("{EVIL_LEGENDARY} wurde von\n{STRING 0} befreit!");
+const u8 BattleText_KeptGoingCrash[] = _("{EVIL_LEGENDARY} macht weiter\nund bricht zusammen!");
+const u8 BattleText_MistShroud[] = _("{STRING 38} wird in\nWEISSNEBEL gehüllt!");
+const u8 BattleText_MistProtect[] = _("{STRING 16} wird durch\nWEISSNEBEL geschützt!");
+const u8 BattleText_GetPumped[] = _("{EVIL_LEGENDARY} pumpt\nsich auf!");
+const u8 BattleText_HitRecoil[] = _("{EVIL_LEGENDARY} wurde vom\nRückstoß getroffen!");
+const u8 BattleText_ProtectedItself2[] = _("{EVIL_LEGENDARY} schützt\nsich selbst!");
+const u8 BattleText_SandBuffeted[] = _("{EVIL_LEGENDARY} wird vom\nSandsturm getroffen!");
+const u8 BattleText_HailStricken[] = _("{EVIL_LEGENDARY} wird vom\nHAGELSTURM getroffen!");
+const u8 BattleText_WoreOff[] = _("{STRING 0} von\n{STRING 36} lässt nach!");
+const u8 BattleText_WasSeeded[] = _("{GOOD_LEGENDARY} wurde\nbepflanzt!");
+const u8 BattleText_EvadedAttack[] = _("{GOOD_LEGENDARY} ist\nausgewichen!");
+const u8 BattleText_HealthSapped[] = _("EGELSAMEN schadet\n{EVIL_LEGENDARY}!");
+const u8 BattleText_FastAsleep[] = _("{EVIL_LEGENDARY} schläft tief\nund fest.");
+const u8 BattleText_WokeUp[] = _("{EVIL_LEGENDARY} ist\naufgewacht!");
+const u8 BattleText_UproarAwake[] = _("AUFRUHR von {STRING 16}\nhält es wach!");
+const u8 BattleText_UproarWoke[] = _("{EVIL_LEGENDARY} wird durch\nAUFRUHR wach!");
+const u8 BattleText_UproarCaused[] = _("{EVIL_LEGENDARY} verursacht\nAUFRUHR!");
+const u8 BattleText_UproarMaking[] = _("{EVIL_LEGENDARY} macht\neinen AUFRUHR!");
+const u8 BattleText_CalmedDown[] = _("{EVIL_LEGENDARY}\nberuhigt sich.");
+const u8 BattleText_UproarCantSleep[] = _("{GOOD_LEGENDARY} kann bei dem\nAUFRUHR nicht schlafen!");
+const u8 BattleText_Stockpiled[] = _("{EVIL_LEGENDARY} HORTET\n{STRING 0}!");
+const u8 BattleText_StockpiledCant[] = _("{EVIL_LEGENDARY} kann nicht\nweiter HORTEN!");
+const u8 BattleText_UproarCantSleep2[] = _("{GOOD_LEGENDARY} kann bei dem\nAUFRUHR nicht schlafen!");
+const u8 BattleText_UproarKeptAwake[] = _("Aber der AUFRUHR hält\n{GOOD_LEGENDARY} wach!");
+const u8 BattleText_StayedAwake[] = _("{GOOD_LEGENDARY} hält sich mit\n{STRING 22} wach!");
+const u8 BattleText_StoringEnergy[] = _("{EVIL_LEGENDARY} speichert\nEnergie!");
+const u8 BattleText_UnleashedEnergy[] = _("{EVIL_LEGENDARY} erzeugt\nEnergie!");
+const u8 BattleText_FatigueConfuse[] = _("{EVIL_LEGENDARY} ist vor\nErschöpfung verwirrt!");
+const u8 BattleText_PickedUpYen[] = _("{STRING 32} hebt\n¥{STRING 0} auf!\p");
+const u8 BattleText_Unaffected[] = _("{GOOD_LEGENDARY} ist\nunversehrt!");
+const u8 BattleText_Transformed[] = _("{EVIL_LEGENDARY} verwandelt\nsich in {STRING 0}!");
+const u8 BattleText_SubMade[] = _("{EVIL_LEGENDARY} setzt einen\nDELEGATOR ein!");
+const u8 BattleText_SubAlready[] = _("{EVIL_LEGENDARY} hat bereits\neinen DELEGATOR!");
+const u8 BattleText_SubTookDamage[] = _("Der DELEGATOR steckt den\nSchlag für {GOOD_LEGENDARY}\lein!\p");
+const u8 BattleText_SubFaded[] = _("DELEGATOR von\n{GOOD_LEGENDARY} lässt nach!\p");
+const u8 BattleText_MustRecharge[] = _("{EVIL_LEGENDARY} muss sich\nwieder aufladen!");
+const u8 BattleText_RageBuilding[] = _("{GOOD_LEGENDARY} verfällt in\nRASEREI!");
+const u8 BattleText_MoveWasDisabled[] = _("{STRING 0} von\n{GOOD_LEGENDARY}\lwurde blockiert!");
+const u8 BattleText_DisabledNoMore[] = _("{EVIL_LEGENDARY} ist nicht\nmehr blockiert!");
+const u8 BattleText_EncoreGot[] = _("{GOOD_LEGENDARY} gibt\neine ZUGABE!");
+const u8 BattleText_EncoreEnded[] = _("ZUGABE von {EVIL_LEGENDARY}\nist beendet!");
+const u8 BattleText_TookAim[] = _("{EVIL_LEGENDARY} zielt\nauf {GOOD_LEGENDARY}!");
+const u8 BattleText_SketchedMove[] = _("{EVIL_LEGENDARY} setzt\nNACHAHMER bei {STRING 0} ein!");
+const u8 BattleText_DestinyBondTake[] = _("{EVIL_LEGENDARY} versucht den\nGegner mit sich zu nehmen!");
+const u8 BattleText_DestinyBondTaken[] = _("{GOOD_LEGENDARY} nimmt\n{EVIL_LEGENDARY} mit sich!");
+const u8 BattleText_ReducedBy[] = _("{STRING 0} von\n{GOOD_LEGENDARY} wird um\l{PLAYER} reduziert!");
+const u8 BattleText_StoleSomething[] = _("{EVIL_LEGENDARY} stiehlt\n{STRING 19} von\l{GOOD_LEGENDARY}!");
+const u8 BattleText_CantEscapeNow[] = _("{GOOD_LEGENDARY} kann\nnicht fliehen!");
+const u8 BattleText_NightmareStart[] = _("{GOOD_LEGENDARY} bekommt\nNACHTMAHR!");
+const u8 BattleText_NightmareLock[] = _("{EVIL_LEGENDARY} ist in\nNACHTMAHR gefangen!");
+const u8 BattleText_CurseLay[] = _("{EVIL_LEGENDARY} nimmt einen\nTeil seiner KP und legt einen\lFLUCH auf {GOOD_LEGENDARY}!");
+const u8 BattleText_CurseAfflict[] = _("{EVIL_LEGENDARY} wurde durch\nFLUCH verletzt!");
+const u8 BattleText_SpikesScattered[] = _("POKéMON-Team von {STRING 37}\nverteilt STACHELN um sich!");
+const u8 BattleText_SpikesHurt[] = _("{STRING 16} wurde durch\nSTACHLER verletzt!");
+const u8 BattleText_IdentifiedPoke[] = _("{EVIL_LEGENDARY} erkennt\n{GOOD_LEGENDARY}!");
+const u8 BattleText_PerishSongFell[] = _("ABGESANG von {EVIL_LEGENDARY}\nsteht bei {STRING 0}!");
+const u8 BattleText_BracedItself[] = _("{EVIL_LEGENDARY} macht sich\nbereit!");
+const u8 BattleText_EnduredHit[] = _("{GOOD_LEGENDARY} setzt\nAUSDAUER ein!");
+const u8 BattleText_MagnitudeCount[] = _("INTENSITÄT {STRING 0}!");
+const u8 BattleText_CutHPMaxATK[] = _("{EVIL_LEGENDARY} nutzt seine\nKP und hebt den ANGR-Wert!");
+const u8 BattleText_CopyStatChanges[] = _("{EVIL_LEGENDARY} kopiert die\nStatusveränderungen\lvon {GOOD_LEGENDARY}!");
+const u8 BattleText_GotFreeFrom[] = _("{EVIL_LEGENDARY} befreit\nsich von {STRING 0}\lvon {GOOD_LEGENDARY}!");
+const u8 BattleText_LeechShed[] = _("{EVIL_LEGENDARY} befreit sich\nvon EGELSAMEN!");
+const u8 BattleText_SpikesBlownAway[] = _("{EVIL_LEGENDARY} blies den\nSTACHLER weg!");
+const u8 BattleText_FledBattle[] = _("{EVIL_LEGENDARY} ist\ngeflüchtet!");
+const u8 BattleText_ForesawAttack[] = _("{EVIL_LEGENDARY} sah eine\nAttacke voraus!");
+const u8 BattleText_TookAttack[] = _("{GOOD_LEGENDARY} wurde von\nder Attacke {STRING 0} getroffen!");
+const u8 BattleText_ChoseDestiny[] = _("{EVIL_LEGENDARY} wählte\n{STRING 17} als Vorhersehung aus!");
+const u8 BattleText_PokeAttack[] = _("Angriff von {STRING 0}!");
+const u8 BattleText_CenterAttention[] = _("{EVIL_LEGENDARY} zieht alle\nAufmerksamkeit auf sich!");
+const u8 BattleText_ChargingPower[] = _("{EVIL_LEGENDARY} lädt\nsich auf!");
+const u8 BattleText_NaturePower[] = _("NATUR-KRAFT wurde zu\n{STRING 17}!");
+const u8 BattleText_StatusNormal[] = _("Status von {EVIL_LEGENDARY}\nwird normal!");
+const u8 BattleText_TormentSubject[] = _("{GOOD_LEGENDARY} wird von\nFOLTERKNECHT unterworfen!");
+const u8 BattleText_TightenFocus[] = _("{EVIL_LEGENDARY} verstärkt\nseinen Fokus!");
+const u8 BattleText_TauntFell[] = _("{GOOD_LEGENDARY} fällt auf\nVERHÖHNER herein!");
+const u8 BattleText_ReadyToHelp[] = _("{EVIL_LEGENDARY} will\n{GOOD_LEGENDARY} helfen!");
+const u8 BattleText_SwitchedItems[] = _("{EVIL_LEGENDARY} tauscht\nItems mit anderem PKMN!");
+const u8 BattleText_Obtained1[] = _("{EVIL_LEGENDARY} erhält\n{STRING 0}.");
+const u8 BattleText_Obtained2[] = _("{GOOD_LEGENDARY} erhält\n{PLAYER}.");
+const u8 BattleText_Obtained3[] = _("{EVIL_LEGENDARY} erhält\n{STRING 0}.\p{GOOD_LEGENDARY} erhält\n{PLAYER}.");
+const u8 BattleText_CopiedObject[] = _("{EVIL_LEGENDARY}\nkopiert {STRING 22} von\l{GOOD_LEGENDARY}!");
+const u8 BattleText_WishMade[] = _("{EVIL_LEGENDARY} spricht einen\nWUNSCHTRAUM aus!");
+const u8 BattleText_WishTrue[] = _("WUNSCHTRAUM von\n{STRING 0} erfüllt sich!");
+const u8 BattleText_PlantedRoots[] = _("{EVIL_LEGENDARY} pflanzt seine\nWurzeln!");
+const u8 BattleText_AbsorbNutrients[] = _("{EVIL_LEGENDARY} nimmt über\nseine Wurzeln Nährstoffe auf!");
+const u8 BattleText_AnchoredItself[] = _("{GOOD_LEGENDARY}\nverankert sich mit seinen Wurzeln!");
+const u8 BattleText_DrowsyMade[] = _("{EVIL_LEGENDARY} macht\n{GOOD_LEGENDARY} schläfrig!");
+const u8 BattleText_KnockedOffItem[] = _("{EVIL_LEGENDARY}\nentreißt {STRING 19} von\l{GOOD_LEGENDARY}!");
+const u8 BattleText_AbilitySwap[] = _("{EVIL_LEGENDARY} tauscht die\nFähigkeiten mit einem PKMN!");
+const u8 BattleText_SealedMove[] = _("{EVIL_LEGENDARY} versiegelt\ndie Attacke/n des Gegners!");
+const u8 BattleText_GrudgeBear[] = _("{EVIL_LEGENDARY} möchte, dass\nder Gegner ein NACHSPIEL erträgt!");
+const u8 BattleText_GrudgeLosePP[] = _("{STRING 0} von\n{EVIL_LEGENDARY} hat aufgrund\lvon NACHSPIEL alle AP verloren!");
+const u8 BattleText_ShroudedItself[] = _("{EVIL_LEGENDARY} verhüllt sich\nselbst in {STRING 17}!");
+const u8 BattleText_MagicCoatBounce[] = _("{STRING 17} von\n{EVIL_LEGENDARY} prallte am\lMAGIEMANTEL ab!");
+const u8 BattleText_AwaitMove[] = _("{EVIL_LEGENDARY} wartet auf\neine gegnerische Attacke!");
+const u8 BattleText_SnatchedMove[] = _("{GOOD_LEGENDARY} ÜBERNAHM\nAttacke von {STRING 16}!");
+const u8 BattleText_ElecWeakened[] = _("Die Stärke der Elektrizität\nwurde geschwächt!");
+const u8 BattleText_FireWeakened[] = _("Die Stärke des Feuers\nwurde geschwächt!");
+const u8 BattleText_FoundOne[] = _("{EVIL_LEGENDARY} hat 1\n{STRING 19} gefunden!");
+const u8 BattleText_SoothingAroma[] = _("Ein wohltuendes Aroma\nbreitet sich aus!");
+const u8 BattleText_CantUseItems[] = _("Hier können Items nicht eingesetzt\nwerden.{PAUSE 64}");
+const u8 BattleText_UnknownString2[] = _("Für {STRING 16} war\n{STRING 19} {STRING 0}");
+const u8 BattleText_HustleUse[] = _("{STRING 16} setzt\n{STRING 19} ein, um zu drängeln!");
+const u8 BattleText_LostFocus[] = _("{EVIL_LEGENDARY} hat seinen\nFokus verloren und kann\lnicht angreifen!");
+const u8 BattleText_DraggedOut[] = _("{GOOD_LEGENDARY} wurde\nauserwählt!\p");
+const u8 BattleText_BrokeWall[] = _("Die Mauer brach zusammen!");
+const u8 BattleText_NoEffect[] = _("Es ist wirkungslos!");
+const u8 BattleText_NoMovesLeft[] = _("{STRING 15} hat keine\nAttacken mehr übrig!\p");
+const u8 BattleText_MoveIsDisabled[] = _("{STRING 17} von\n{STRING 15} ist blockiert!\p");
+const u8 BattleText_TormentNoUse[] = _("{STRING 15} kann\naufgrund von FOLTERKNECHT\pdie Attacke nicht 2-mal\nhintereinander einsetzen!");
+const u8 BattleText_TauntNoUse[] = _("{STRING 15} kann\n{STRING 17} nach VERHÖHNER\lnicht einsetzen!\p");
+const u8 BattleText_SealedNoUse[] = _("{STRING 15} kann die ver-\nsiegelte Attacke {STRING 17}\lnicht einsetzen!\p");
+const u8 BattleText_RainMade[] = _("{STRING 23} von\n{STRING 16} lässt\les regnen!");
+const u8 BattleText_SpeedRisen[] = _("{STRING 23} von\n{STRING 16} erhöht\lseine INIT.!");
+const u8 BattleText_ProtectedBy[] = _("{GOOD_LEGENDARY} wurde durch\n{STRING 22} geschützt!");
+const u8 BattleText_PreventedBy[] = _("{STRING 22} von\n{GOOD_LEGENDARY} hindert\p{EVIL_LEGENDARY} daran,\n{STRING 17} einzusetzen!");
+const u8 BattleText_HPRestoredUsing[] = _("{GOOD_LEGENDARY} füllt KP mit\nHilfe von {STRING 22} auf!");
+const u8 BattleText_MadeUseless[] = _("{STRING 22} von\n{GOOD_LEGENDARY} hebt die\lWirkung von {STRING 17} auf!");
+const u8 BattleText_MadeType[] = _("{STRING 22} von\n{GOOD_LEGENDARY} macht es zu\leinem {STRING 0}-Typ!");
+const u8 BattleText_PreventedPara[] = _("{STRING 22} von\n{STRING 14} verhindert\leine Paralyse!");
+const u8 BattleText_PreventedRomance[] = _("{STRING 22} von\n{GOOD_LEGENDARY} verhindert\leine Romanze!");
+const u8 BattleText_PreventedPoison[] = _("{STRING 22} von\n{STRING 14} verhindert\leine Vergiftung!");
+const u8 BattleText_PreventedConfusion[] = _("{STRING 22} von\n{GOOD_LEGENDARY} verhindert\lVerwirrung!");
+const u8 BattleText_RaisedFirePower[] = _("{STRING 22} von\n{GOOD_LEGENDARY} erhöht die\lFEUER-Kraft!");
+const u8 BattleText_AnchorsItself[] = _("{GOOD_LEGENDARY} verankert\nsich mit Hilfe von {STRING 22}!");
+const u8 BattleText_CutsAttack[] = _("{STRING 23} von\n{STRING 16} vermindert\lANGRIFF von {GOOD_LEGENDARY}!");
+const u8 BattleText_PreventedStatLoss[] = _("{STRING 23} von\n{STRING 16} verhindert\lStatusveränderungen!");
+const u8 BattleText_HurtOther[] = _("{STRING 22} von\n{GOOD_LEGENDARY} verletzt\l{EVIL_LEGENDARY}!");
+const u8 BattleText_Traced[] = _("FÄHRTE von\n{STRING 16}\perkennt {PLAYER}\nvon {STRING 0}!");
+const u8 BattleText_PreventedBurn[] = _("{STRING 24} von\n{STRING 14} verhindert\lVerbrennung!");
+const u8 BattleText_BlocksOther[] = _("{STRING 22} von\n{GOOD_LEGENDARY} blockiert\l{STRING 17}!");
+const u8 BattleText_BlocksOther2[] = _("{STRING 23} von\n{STRING 16} blockiert\l{STRING 17}!");
+const u8 BattleText_RestoredHPByItem[] = _("{STRING 21} von\n{EVIL_LEGENDARY} füllt\leinige KP auf!");
+const u8 BattleText_WhipSandstorm[] = _("{STRING 23} von\n{STRING 16} entfacht\leinen Sandsturm!");
+const u8 BattleText_SunIntensified[] = _("{STRING 23} von\n{STRING 16} intensiviert\ldie Sonnenstrahlen!");
+const u8 BattleText_PreventedLoss[] = _("{STRING 23} von\n{STRING 16} verhindert \lden Verlust von {STRING 0}!");
+const u8 BattleText_InfatuatedPoke[] = _("{EVIL_LEGENDARY} ist vernarrt\nin {STRING 22} von\l{GOOD_LEGENDARY}!");
+const u8 BattleText_MadeIneffective[] = _("{STRING 22} von\n{GOOD_LEGENDARY} macht\l{STRING 17} wirkungslos!");
+const u8 BattleText_CuredProblem[] = _("{STRING 23} von\n{STRING 16} heilte sein\lProblem mit {STRING 0}!");
+const u8 BattleText_OozeSuckup[] = _("Es saugte\nKLOAKENSOSSE auf!");
+const u8 BattleText_Transformed2[] = _("{STRING 16}\nverwandelte sich!");
+const u8 BattleText_TookAttack2[] = _("{STRING 22} von\n{GOOD_LEGENDARY} übernahm\lden Angriff!");
+const u8 BattleText_PreventedSwitch[] = _("{STRING 20} von\n{STRING 0} verhindert\pWechsel!\p");
+const u8 BattleText_PreventedOther[] = _("{STRING 22} von\n{GOOD_LEGENDARY} macht\p{STRING 0} von\n{STRING 16} wirkungslos!");
+const u8 BattleText_MadeIneffective2[] = _("{STRING 23} von\n{STRING 16} machte\les wirkungslos!");
+const u8 BattleText_PreventedFlinching[] = _("{STRING 24} von\n{STRING 14} verhindert\lein Zurückschrecken!");
+const u8 BattleText_PreventedOther2[] = _("{STRING 21} von\n{EVIL_LEGENDARY} macht\p{STRING 22} von\n{GOOD_LEGENDARY} wirkungslos!");
+const u8 BattleText_CuredOfProblem[] = _("{STRING 23} von\n{STRING 16} heilte sein\lProblem mit {STRING 0}!");
+const u8 BattleText_NoEffectOn[] = _("{STRING 23} von\n{STRING 16} hat keine\lWirkung auf {STRING 14}!");
+const u8 BattleText_Sharply[] = _("steigt stark!");
+const u8 BattleText_Rose[] = _("steigt.");
+const u8 BattleText_Harshly[] = _("sinkt stark!");
+const u8 BattleText_Fell[] = _("sinkt.");
+const u8 BattleText_UnknownString7[] = _("{STRING 0} von\n{EVIL_LEGENDARY} {PLAYER}");
+const u8 BattleText_UnknownString3[] = _("{STRING 0} von\n{GOOD_LEGENDARY} {PLAYER}");
+const u8 BattleText_UnknownString4[] = _("{STRING 19}: {STRING 0} von\n{STRING 16} {PLAYER}");
+const u8 BattleText_UnknownString5[] = _("{STRING 0} von\n{EVIL_LEGENDARY} {PLAYER}");
+const u8 BattleText_UnknownString6[] = _("{STRING 0} von\n{GOOD_LEGENDARY} {PLAYER}");
+const u8 BattleText_StatNoHigher[] = _("Status von {EVIL_LEGENDARY}\nkann nicht weiter erhöht werden!");
+const u8 BattleText_StatNoLower[] = _("Status von {GOOD_LEGENDARY}\nkann nicht weiter sinken!");
+const u8 BattleText_Critical[] = _("Ein Volltreffer!");
+const u8 BattleText_GrandSlam[] = _("Ein K.O.-Treffer!");
+const u8 BattleText_MoveForget123[] = _("{PAUSE 32}1, {PAUSE 15}2 und...{PAUSE 15} ...{PAUSE 15} ...{PAUSE 15}\n{PAUSE 15}{PLAY_SE 0x38 0x00}Schwupp!\p");
+const u8 BattleText_MoveForgetAnd[] = _("Und...\p");
+const u8 BattleText_CantForgetHM[] = _("VM-Attacken können jetzt \nnicht vergessen werden.\p");
+const u8 BattleText_NotEffective[] = _("Das ist nicht sehr effektiv...");
+const u8 BattleText_SuperEffective[] = _("Das ist sehr effektiv!");
+const u8 BattleText_GotAwaySafely[] = _("{PLAY_SE 0x11 0x00}Du bist entkommen!\p");
+const u8 BattleText_FledUsingItem[] = _("{PLAY_SE 0x11 0x00}{EVIL_LEGENDARY} floh\ndurch Einsatz von {STRING 19}!\p");
+const u8 BattleText_FledUsingOther[] = _("{PLAY_SE 0x11 0x00}{EVIL_LEGENDARY} floh\ndurch Einsatz von {STRING 21}!\p");
+const u8 BattleText_FledWild[] = _("{PLAY_SE 0x11 0x00}Wildes {STRING 0} floh!");
+const u8 BattleText_PlayerDefeatedTrainer[] = _("Spieler besiegte\n{STRING 29}!");
+const u8 BattleText_PlayerDefeatedTrainers[] = _("Spieler besiegte\n{STRING 30} und {STRING 29}!");
+const u8 BattleText_PlayerLostTrainer[] = _("Spieler verlor gegen\n{STRING 29}!");
+const u8 BattleText_PlayerLostTrainers[] = _("Spieler verlor gegen\n{STRING 30} und {STRING 29}!");
+const u8 BattleText_PlayerTiedTrainer[] = _("Patt zwischen Spieler und\n{STRING 29}!");
+const u8 BattleText_PlayerTiedTrainers[] = _("Patt zwischen Spieler, {STRING 30}\nund {STRING 29}!");
+const u8 BattleText_FledSingle[] = _("{PLAY_SE 0x11 0x00}{STRING 29} floh!");
+const u8 BattleText_FledDouble[] = _("{PLAY_SE 0x11 0x00}{STRING 29} und\n{STRING 30} flohen!");
+const u8 BattleText_NoRunning[] = _("Du kannst aus TRAINER-Kämpfen\nnicht fliehen!\p");
+const u8 BattleText_CantEscape2[] = _("Flucht unmöglich!\p");
+const u8 BattleText_BirchDontLeaveMe[] = _("PROF. BIRK: Du... Du kannst mich doch\nnicht einfach im Stich lassen!\p");
+const u8 BattleText_Nothing[] = _("Nichts geschieht!");
+const u8 BattleText_Failed[] = _("Es schlug fehl!");
+const u8 BattleText_HurtItself[] = _("Es hat sich vor Verwirrung\nselbst verletzt!");
+const u8 BattleText_MirrorFail[] = _("Der SPIEGELTRICK schlug fehl!");
+const u8 BattleText_RainStart[] = _("Es fängt an zu regnen!");
+const u8 BattleText_PourStart[] = _("Ein Wolkenbruch!");
+const u8 BattleText_RainCont1[] = _("Es regnet weiter.");
+const u8 BattleText_PourCont[] = _("Der Wolkenbruch hält an.");
+const u8 BattleText_RainStop[] = _("Es hat aufgehört zu regnen.");
+const u8 BattleText_SandBrewed[] = _("Ein Sandsturm kommt auf!");
+const u8 BattleText_SandRages[] = _("Der Sandsturm tobt.");
+const u8 BattleText_SandSubsided[] = _("Der Sandsturm legt sich.");
+const u8 BattleText_SunBright[] = _("Das Sonnenlicht wird stärker!");
+const u8 BattleText_SunStrong[] = _("Gleißendes Sonnenlicht!");
+const u8 BattleText_SunFaded[] = _("Das Sonnenlicht lässt nach!");
+const u8 BattleText_HailStart[] = _("Es fängt an zu hageln!");
+const u8 BattleText_HailCont[] = _("Es hagelt!");
+const u8 BattleText_HailStop[] = _("Es hat aufgehört zu hageln.");
+const u8 BattleText_SpitUpFail[] = _("Aber es konnte nichts\nENTFESSELN!");
+const u8 BattleText_SwallowFail[] = _("Aber es konnte nichts\nVERZEHREN!");
+const u8 BattleText_WindHeatWave[] = _("Der Wind wurde zu einer\nHITZEWELLE!");
+const u8 BattleText_StatElim[] = _("Alle Statusveränderungen wurden\nentfernt!");
+const u8 BattleText_CoinScatter[] = _("Es liegen überall Münzen verstreut!");
+const u8 BattleText_SubWeak[] = _("Zu schwach, um einen DELEGATOR\neinzusetzen!");
+const u8 BattleText_PainSplit[] = _("Die Kontrahenten teilen\nihr Leid!");
+const u8 BattleText_BellChime[] = _("Eine Glocke läutet!");
+const u8 BattleText_PerishSong[] = _("Alle betroffenen POKéMON werden\nin 3 Runden K.O. gehen!");
+const u8 BattleText_NoPP1[] = _("Es sind keine AP mehr für\ndiese Attacke übrig!\p");
+const u8 BattleText_NoPP2[] = _("Aber es waren keine AP mehr\nfür diese Attacke übrig!");
+const u8 BattleText_IgnoredOrdersSLP[] = _("{EVIL_LEGENDARY} ignoriert die\nBefehle. Es schläft!");
+const u8 BattleText_IgnoredOrders[] = _("{EVIL_LEGENDARY} ignoriert den\nBefehl!");
+const u8 BattleText_BeganNap[] = _("{EVIL_LEGENDARY} macht\nein Nickerchen!");
+const u8 BattleText_LoafingAround[] = _("{EVIL_LEGENDARY} faulenzt!");
+const u8 BattleText_WontObey[] = _("{EVIL_LEGENDARY} ist\nungehorsam!");
+const u8 BattleText_TurnedAway[] = _("{EVIL_LEGENDARY} wendet\nsich ab!");
+const u8 BattleText_NotNotice[] = _("{EVIL_LEGENDARY} gibt vor,\nnichts zu bemerken!");
+const u8 BattleText_WillSwitch[] = _("Als Nächstes wird {PLAYER} von\n{STRING 25} {STRING 26} eingesetzt.\pWird {STRING 32} das\nPOKéMON wechseln?");
+const u8 BattleText_LearnedMove2[] = _("{EVIL_LEGENDARY} hat\n{STRING 0} gelernt!");
+const u8 BattleText_PlayerDefeatedTrainer2[] = _("Spieler besiegte\n{STRING 25} {STRING 26}!\p");
+const u8 BattleText_CreptCloser[] = _("{STRING 32} schleicht sich näher an\n{STR_VAR_2} heran!");
+const u8 BattleText_CantGetCloser[] = _("{STRING 32} kann nicht näher herangehen!");
+const u8 BattleText_WatchingCarefully[] = _("{STR_VAR_2} beobachtet\nalles aufmerksam!");
+const u8 BattleText_CuriousAbout[] = _("{STR_VAR_2} ist\nneugierig auf {STRING 0}!");
+const u8 BattleText_EnthralledBy[] = _("{STR_VAR_2} ist begeistert\nvon {STRING 0}!");
+const u8 BattleText_IgnoredThing[] = _("{STR_VAR_2} ignoriert\n{STRING 0} völlig!");
+const u8 BattleText_ThrewBlock[] = _("{STRING 32} wirft {STR_VAR_2} einen\n{POKEBLOCK} zu!");
+const u8 BattleText_SafariOver[] = _("{PLAY_SE 0x49 0x00}ANSAGE: Du hast keine\nSAFARIBÄLLE mehr! Game over!\p");
+const u8 BattleText_WildAppeared1[] = _("Ein wildes {STR_VAR_2} erscheint!\p");
+const u8 BattleText_WildAppeared2[] = _("Ein wildes {STR_VAR_2} erscheint!\p");
+const u8 BattleText_WildAppeared3[] = _("Ein wildes {STR_VAR_2} erscheint!{PAUSE 127}");
+const u8 BattleText_WildDoubleAppeared[] = _("Ein wildes {KUN} und\nein wildes {STR_VAR_2} erscheinen!\p");
+const u8 BattleText_SingleWantToBattle1[] = _("Eine Herausforderung von\n{STRING 25} {STRING 26}!\p");
+const u8 BattleText_SingleWantToBattle2[] = _("Eine Herausforderung von\n{STRING 29}!");
+const u8 BattleText_DoubleWantToBattle[] = _("{STRING 29} und {STRING 30}\nmöchten kämpfen!");
+const u8 BattleText_SentOutSingle1[] = _("{STR_VAR_2} wird von\n{STRING 25} {STRING 26} in den\lKampf geschickt!");
+const u8 BattleText_SentOutDouble1[] = _("{STR_VAR_2} und {KUN}\nwerden von\p{STRING 25} {STRING 26}\nin den Kampf geschickt!");
+const u8 BattleText_SentOutSingle2[] = _("{STRING 0} wird von\n{STRING 25} {STRING 26}\lin den Kampf geschickt!");
+const u8 BattleText_SentOutSingle3[] = _("{STRING 29} schickt\n{STR_VAR_2} in den Kampf!");
+const u8 BattleText_SentOutDouble2[] = _("{STRING 29} schickt\n{STR_VAR_2} und {KUN}!");
+const u8 BattleText_SentOutDouble3[] = _("{STRING 29} schickt\n{VERSION}!\p{STRING 30} schickt\n{GOOD_TEAM}!");
+const u8 BattleText_SentOutSingle4[] = _("{STRING 29} schickt\n{STRING 0}!");
+const u8 BattleText_SentOutSingle5[] = _("{STRING 31} schickt\n{STRING 0}!");
+const u8 BattleText_SentOutSingle6[] = _("Los! {STR_VAR_1}!");
+const u8 BattleText_SentOutDouble4[] = _("Los! {STR_VAR_1} und\n{STR_VAR_3}!");
+const u8 BattleText_SentOutSingle7[] = _("Los! {STRING 0}!");
+const u8 BattleText_SentOutSingle8[] = _("Du schaffst es! {STRING 0}!");
+const u8 BattleText_SentOutSingle9[] = _("Streng dich an, {STRING 0}!");
+const u8 BattleText_SentOutSingle10[] = _("Mach es fertig!\nLos, {STRING 0}!");
+const u8 BattleText_SentOutSingle11[] = _("{STRING 28} schickt\n{EVIL_TEAM}!\pLos! {RIVAL}!");
+const u8 BattleText_ComeBackSingle1[] = _("{STRING 0}, genug!\nKomm zurück!");
+const u8 BattleText_ComeBackSingle2[] = _("{STRING 0}, komm zurück!");
+const u8 BattleText_ComeBackSingle3[] = _("{STRING 0}, O.K.!\nKomm zurück!");
+const u8 BattleText_ComeBackSingle4[] = _("{STRING 0}, gut!\nKomm zurück!");
+const u8 BattleText_WithdrewPoke1[] = _("{STRING 0} wurde\nvon {STRING 25} {STRING 26}\lzurückgerufen!");
+const u8 BattleText_WithdrewPoke2[] = _("{STRING 29} ruft\n{STRING 0} zurück!");
+const u8 BattleText_WithdrewPoke3[] = _("{STRING 31} ruft\n{STRING 0} zurück!");
+const u8 BattleText_Wild[] = _(" (Wild)");
+const u8 BattleText_Foe[] = _(" (Gegner)");
+const u8 BattleText_Foe2[] = _("Gegner");
+const u8 BattleText_Ally[] = _("Anwender");
+const u8 BattleText_Foe3[] = _("Gegner");
+const u8 BattleText_Ally2[] = _("Anwender");
+const u8 BattleText_Foe4[] = _("Gegner");
+const u8 BattleText_Ally3[] = _("Anwender");
+const u8 BattleText_OpponentUsedMove[] = _("{EVIL_LEGENDARY} setzt\n{PLAYER} ein!");
+const u8 BattleText_Exclamation2[] = _("");
+const u8 BattleText_Exclamation3[] = _("");
+const u8 BattleText_Exclamation4[] = _("");
+const u8 BattleText_Exclamation5[] = _("");
+const u8 BattleText_Exclamation[] = _("");
+const u8 BattleStatText_HP[] = _("KP");
+const u8 BattleStatText_Attack[] = _("ANGRIFF");
+const u8 BattleStatText_Defense[] = _("VERT.");
+const u8 BattleStatText_Speed[] = _("INIT.");
+const u8 BattleStatText_SpAtk[] = _("SP.ANG.");
+const u8 BattleStatText_SpDef[] = _("SP.VER.");
+const u8 BattleStatText_Accuracy[] = _("GENAUIGKEIT");
+const u8 BattleStatText_Evasion[] = _("FLUCHTWERT");
+const u8 ContestStatText_TooSpicy[] = _("zu scharf!");
+const u8 ContestStatText_TooDry[] = _("zu trocken!");
+const u8 ContestStatText_TooSweet[] = _("zu süß!");
+const u8 ContestStatText_TooBitter[] = _("zu bitter!");
+const u8 ContestStatText_TooSour[] = _("zu sauer!");
+const u8 BattleText_Used1[] = _("{STRING 32} setzt\n{STRING 19} ein!");
+const u8 BattleText_TutorialUsed[] = _("HEIKO setzt\n{STRING 19} ein!");
+const u8 BattleText_Used2[] = _("{STRING 19} wird von\n{STRING 25} {STRING 26} eingesetzt!");
+const u8 BattleText_BlockBall[] = _("Der TRAINER hat den BALL abgeblockt!");
+const u8 BattleText_DontBeAThief[] = _("Sei kein Dieb!");
+const u8 BattleText_DodgeBall[] = _("Es ist dem BALL ausgewichen! Dieses\nPOKéMON kann nicht gefangen werden!");
+const u8 BattleText_MissPoke[] = _("Du hast das POKéMON verfehlt!");
+const u8 BattleText_BallBrokeOhNo[] = _("Mist!\nDas POKéMON hat sich befreit!");
+const u8 BattleText_BallBrokeAppeared[] = _("Oh!\nFast hätte es geklappt!");
+const u8 BattleText_BallBrokeAlmost[] = _("Mist!\nDas war knapp!");
+const u8 BattleText_BallBrokeSoClose[] = _("Verflixt!\nEs hätte beinahe geklappt!");
+const u8 BattleText_BallCaught1[] = _("Toll!\n{STR_VAR_2} wurde gefangen!{UNKNOWN_A}{PLAY_BGM 0x60 0x01}\p");
+const u8 BattleText_BallCaught2[] = _("Toll!\n{STR_VAR_2} wurde gefangen!{UNKNOWN_A}{PLAY_BGM 0x60 0x01}{PAUSE 127}");
+const u8 BattleText_GiveNickname[] = _("Möchtest du dem {STR_VAR_2}\neinen Spitznamen geben?");
+const u8 BattleText_SentToPC[] = _("{STR_VAR_2} wurde auf\n{STRING 35} PC übertragen.");
+const u8 BattleText_Someone[] = _("einen");
+const u8 BattleText_Lanette[] = _("LANETTES");
+const u8 BattleText_AddedToDex[] = _("Für {STR_VAR_2} wurde ein Eintrag\nim POKéDEX angelegt.\p");
+const u8 BattleText_Raining[] = _("Es regnet.");
+const u8 BattleText_Sandstorm[] = _("Ein Sandsturm tobt.");
+const u8 BattleText_BoxFull[] = _("Die BOXEN sind voll!\nDu kannst keines mehr fangen!\p");
+const u8 BattleText_EnigmaBerry[] = _("ENIGMABEERE");
+const u8 BattleText_Berry[] = _("{STR_VAR_1}BEERE");
+const u8 BattleText_CuredParalysis[] = _("{STRING 19} von\n{STRING 16}\lheilte die Paralyse!");
+const u8 BattleText_CuredPoison[] = _("{STRING 19} von\n{STRING 16}\lheilte die Vergiftung!");
+const u8 BattleText_CuredBurn[] = _("{STRING 19} von\n{STRING 16}\lheilte die Verbrennung!");
+const u8 BattleText_CuredFreeze[] = _("{STRING 19} von\n{STRING 16} taute es auf!");
+const u8 BattleText_CuredSleep[] = _("{STRING 19} von\n{STRING 16} \lweckte es auf!");
+const u8 BattleText_CuredConfusion[] = _("{STRING 19} von\n{STRING 16}\lhebt die Verwirrung auf!");
+const u8 BattleText_CuredStatus[] = _("{STRING 19} von\n{STRING 16} \lheilte sein {STRING 0}-Problem!");
+const u8 BattleText_NormalizedStatus[] = _("{STRING 19} von\n{STRING 16} normalisierte\lseine Statuswerte!");
+const u8 BattleText_RestoredHealth[] = _("{STRING 19} füllte\nKP von {STRING 16} auf!");
+const u8 BattleText_RestoredPP[] = _("{STRING 19} von\n{STRING 16} füllte AP von\l{STRING 0} auf!");
+const u8 BattleText_RestoredStatus[] = _("{STRING 19} von\n{STRING 16}\pstellte seine\nStatuswerte wieder her!");
+const u8 BattleText_RestoredHPLittle[] = _("{STRING 19} von\n{STRING 16}\lfüllte einige KP auf!");
+const u8 BattleText_ChoiceBand[] = _("{STRING 19} erlaubt\nnur den Einsatz von {STRING 17}!\p");
+const u8 BattleText_FocusSash[] = _("{GOOD_LEGENDARY} hält\nmit Hilfe von\l{STRING 19} durch!");
+const u8 BattleText_Terminator2[] = _("");
+const u8 BattleText_WallyBall[] = _("Nun muss man einen BALL werfen, oder?\nIch... Ich werde mein Bestes geben!");
+const u8 BattleText_StartEvo[] = _("Hey?\n{STR_VAR_1} entwickelt sich!");
+const u8 BattleText_FinishEvo[] = _("Glückwunsch! Dein {STR_VAR_1}\nwurde zu {STR_VAR_2}!{UNKNOWN_A}\p");
+const u8 BattleText_StopEvo[] = _("Hm? Die Entwicklung\nwurde abgebrochen!\p");
+const u8 BattleText_OtherMenu[] = _("Was soll\n{STRING 15} tun?");
+const u8 BattleText_PlayerMenu[] = _("Was wird {STRING 32}\ntun?");
+const u8 BattleText_WallyMenu[] = _("Was wird\nHEIKO tun?");
+const u8 BattleText_LinkStandby[] = _("{PAUSE 16}Verbindung...");
+const u8 BattleText_MenuOptions[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW SKY_BLUE LIGHT_BLUE WHITE2}KAMPF{CLEAR_TO 46}BEUTEL\nPOKéMON{CLEAR_TO 46}FLUCHT");
+const u8 BattleText_MenuOptionsSafari[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW SKY_BLUE LIGHT_BLUE WHITE2}BALL{CLEAR_TO 46}{POKEBLOCK}\nNÄHER{CLEAR_TO 46}FLUCHT");
+const u8 BattleText_PP[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW SKY_BLUE LIGHT_BLUE WHITE2}AP\nTYP/");
+const u8 BattleText_Format[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW SKY_BLUE LIGHT_BLUE WHITE2}");
+const u8 BattleText_ForgetMove[] = _("{COLOR_HIGHLIGHT_SHADOW SKY_BLUE LIGHT_BLUE WHITE2}{PALETTE 5}Welche Attacke soll vergessen werden?");
+const u8 BattleText_YesNo[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW SKY_BLUE LIGHT_BLUE WHITE2}Ja\nNein");
+const u8 BattleText_SwitchWhich[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW SKY_BLUE LIGHT_BLUE WHITE2}\nWohin?");
+const u8 BattleText_Format2[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW SKY_BLUE LIGHT_BLUE WHITE2}");
+const u8 BattleText_RightArrow[] = _("{RIGHT_ARROW}");
+const u8 BattleText_Plus[] = _("+");
+const u8 BattleText_Dash[] = _("-");
+const u8 BattleText_HP[] = _("KP ");
+const u8 BattleText_Attack[] = _("ANGR. ");
+const u8 BattleText_Defense[] = _("VERT.");
+const u8 BattleText_SpAtk[] = _("SP.ANG.");
+const u8 BattleText_SpDef[] = _("SP.VER.");
+const u8 BattleText_SafariBalls[] = _("{HIGHLIGHT RED}SAFARIBÄLLE");
+const u8 BattleText_SafariBallsLeft[] = _("{HIGHLIGHT RED}Übrig: ");
+const u8 BattleText_HighlightRed[] = _("{HIGHLIGHT RED}");
+const u8 BattleText_Sleep[] = _("Schlaf");
+const u8 BattleText_PoisonStatus[] = _("Gift");
+const u8 BattleText_Burn[] = _("Verbrennung");
+const u8 BattleText_Paralysis[] = _("Paralyse");
+const u8 BattleText_IceStatus[] = _("Eis");
+const u8 BattleText_Confusion[] = _("Verwirrung");
+const u8 BattleText_Love[] = _("Liebe");
+const u8 BattleText_Format3[] = _(" und ");
+const u8 BattleText_Format4[] = _(", ");
+const u8 BattleText_Format5[] = _(" ");
+const u8 BattleText_Format6[] = _("\l");
+const u8 BattleText_Format7[] = _("\n");
+const u8 BattleText_Format8[] = _("sind");
+const u8 BattleText_Format9[] = _("sind");
+const u8 gBadEggNickname[] = _("Schl. EI");
+const u8 BattleText_Wally[] = _("HEIKO");
+const u8 BattleText_Win[] = _("{HIGHLIGHT TRANSPARENT}Sieg");
+const u8 BattleText_Loss[] = _("{HIGHLIGHT TRANSPARENT}Ndrl.");
+const u8 BattleText_Tie[] = _("{HIGHLIGHT TRANSPARENT}Patt");
+const u8 BattleText_Format10[] = _(" ist");
+const u8 BattleText_Format11[] = _("");
+const u8 BattleText_Normal[] = _("eine NORMALE Att.");
+const u8 BattleText_Fighting[] = _("eine KAMPF-Att.");
+const u8 BattleText_Flying[] = _("eine FLUG-Att.");
+const u8 BattleText_Poison[] = _("eine GIFT-Att.");
+const u8 BattleText_Ground[] = _("eine BODEN-Att.");
+const u8 BattleText_Rock[] = _("eine GESTEINS-Att.");
+const u8 BattleText_Bug[] = _("eine KÄFER-Att.");
+const u8 BattleText_Ghost[] = _("eine GEIST-Att.");
+const u8 BattleText_Steel[] = _("eine STAHL-Att.");
+const u8 BattleText_Typeless[] = _("eine ???-Attacke");
+const u8 BattleText_Fire[] = _("eine FEUER-Att.");
+const u8 BattleText_Water[] = _("eine WASSER-Att.");
+const u8 BattleText_Grass[] = _("eine PFLANZEN-Att.");
+const u8 BattleText_Electric[] = _("eine ELEKTRO-Att.");
+const u8 BattleText_Psychic[] = _("eine PSYCHO-Att.");
+const u8 BattleText_Ice[] = _("eine EIS-Att.");
+const u8 BattleText_Dragon[] = _("eine DRACHEN-Att.");
+const u8 BattleText_Dark[] = _("eine UNLICHT-Att.");
+
+const u8 *const gUnknown_08400F58[] =
+{
+ BattleStatText_HP,
+ BattleStatText_Attack,
+ BattleStatText_Defense,
+ BattleStatText_Speed,
+ BattleStatText_SpAtk,
+ BattleStatText_SpDef,
+ BattleStatText_Accuracy,
+ BattleStatText_Evasion,
+};
+
+const u8 *const gUnknown_08400F78[] =
+{
+ ContestStatText_TooSpicy,
+ ContestStatText_TooDry,
+ ContestStatText_TooSweet,
+ ContestStatText_TooBitter,
+ ContestStatText_TooSour,
+};
+
+const u8 *const gBattleStringsTable[] =
+{
+ BattleText_UnknownString,
+ BattleText_GainExpPoints,
+ BattleText_GrewLevel,
+ BattleText_LearnedMove,
+ BattleText_TryingToLearnMove,
+ BattleText_CantLearnMore,
+ BattleText_DeleteMove,
+ BattleText_DeletedMove,
+ BattleText_StopLearning,
+ BattleText_DidNotLearn,
+ BattleText_LearnedMove2,
+ BattleText_AttackMissed,
+ BattleText_ProtectedItself,
+ BattleText_StatNoHigher,
+ BattleText_AvoidedDamage,
+ BattleText_DoesntAffect,
+ BattleText_AttackingFainted,
+ BattleText_DefendingFainted,
+ BattleText_WinningPrize,
+ BattleText_OutOfUsablePoke,
+ BattleText_WhitedOut,
+ BattleText_PreventEscape,
+ BattleText_HitMulti,
+ BattleText_FellAsleep,
+ BattleText_MadeAsleep,
+ BattleText_DefendingAsleep,
+ BattleText_AttackingAsleep,
+ BattleText_WasntAffected,
+ BattleText_Poisoned,
+ BattleText_Poisoned2,
+ BattleText_PoisonHurt,
+ BattleText_AlreadyPoisoned,
+ BattleText_BadlyPoisoned,
+ BattleText_EnergyDrained,
+ BattleText_Burned,
+ BattleText_Burned2,
+ BattleText_BurnHurt,
+ BattleText_Frozen,
+ BattleText_Frozen2,
+ BattleText_FrozenSolid,
+ BattleText_DefendingDefrosted,
+ BattleText_AttackingDefrosted,
+ BattleText_Defrosted,
+ BattleText_Paralyzed,
+ BattleText_Paralyzed2,
+ BattleText_Paralyzed3,
+ BattleText_AlreadyParalyzed,
+ BattleText_ParalysisHealed,
+ BattleText_DreamEaten,
+ BattleText_AttackingStatNoHigher,
+ BattleText_DefendingStatNoHigher,
+ BattleText_StoppedWorking,
+ BattleText_StoppedWorking2,
+ BattleText_Confused,
+ BattleText_ConfusionSnapOut,
+ BattleText_BecameConfused,
+ BattleText_AlreadyConfused,
+ BattleText_FellLove,
+ BattleText_InLoveWith,
+ BattleText_ImmobilizedBy,
+ BattleText_BlownAway,
+ BattleText_TypeTransform,
+ BattleText_Flinched,
+ BattleText_RegainedHealth,
+ BattleText_HPFull,
+ BattleText_RaisedSpDef,
+ BattleText_RaisedDefense,
+ BattleText_CoveredVeil,
+ BattleText_SafeguardActive,
+ BattleText_SafeguardFaded,
+ BattleText_WentToSleep,
+ BattleText_SpeltHealthy,
+ BattleText_WhipWhirlwind,
+ BattleText_TookSunlight,
+ BattleText_LoweredHead,
+ BattleText_IsGlowing,
+ BattleText_FlewHigh,
+ BattleText_DugHole,
+ BattleText_SqueezedBind,
+ BattleText_TrappedVortex,
+ BattleText_Wrapped,
+ BattleText_Clamped,
+ BattleText_HurtBy,
+ BattleText_FreedFrom,
+ BattleText_KeptGoingCrash,
+ BattleText_MistShroud,
+ BattleText_MistProtect,
+ BattleText_GetPumped,
+ BattleText_HitRecoil,
+ BattleText_ProtectedItself2,
+ BattleText_SandBuffeted,
+ BattleText_HailStricken,
+ BattleText_WasSeeded,
+ BattleText_EvadedAttack,
+ BattleText_HealthSapped,
+ BattleText_FastAsleep,
+ BattleText_WokeUp,
+ BattleText_UproarAwake,
+ BattleText_UproarWoke,
+ BattleText_UproarCaused,
+ BattleText_UproarMaking,
+ BattleText_CalmedDown,
+ BattleText_UproarCantSleep,
+ BattleText_Stockpiled,
+ BattleText_StockpiledCant,
+ BattleText_UproarCantSleep2,
+ BattleText_UproarKeptAwake,
+ BattleText_StayedAwake,
+ BattleText_StoringEnergy,
+ BattleText_UnleashedEnergy,
+ BattleText_FatigueConfuse,
+ BattleText_PickedUpYen,
+ BattleText_Unaffected,
+ BattleText_Transformed,
+ BattleText_SubMade,
+ BattleText_SubAlready,
+ BattleText_SubTookDamage,
+ BattleText_SubFaded,
+ BattleText_MustRecharge,
+ BattleText_RageBuilding,
+ BattleText_MoveWasDisabled,
+ BattleText_MoveIsDisabled,
+ BattleText_DisabledNoMore,
+ BattleText_EncoreGot,
+ BattleText_EncoreEnded,
+ BattleText_TookAim,
+ BattleText_SketchedMove,
+ BattleText_DestinyBondTake,
+ BattleText_DestinyBondTaken,
+ BattleText_ReducedBy,
+ BattleText_StoleSomething,
+ BattleText_CantEscapeNow,
+ BattleText_NightmareStart,
+ BattleText_NightmareLock,
+ BattleText_CurseLay,
+ BattleText_CurseAfflict,
+ BattleText_SpikesScattered,
+ BattleText_SpikesHurt,
+ BattleText_IdentifiedPoke,
+ BattleText_PerishSongFell,
+ BattleText_BracedItself,
+ BattleText_EnduredHit,
+ BattleText_MagnitudeCount,
+ BattleText_CutHPMaxATK,
+ BattleText_CopyStatChanges,
+ BattleText_GotFreeFrom,
+ BattleText_LeechShed,
+ BattleText_SpikesBlownAway,
+ BattleText_FledBattle,
+ BattleText_ForesawAttack,
+ BattleText_TookAttack,
+ BattleText_PokeAttack,
+ BattleText_CenterAttention,
+ BattleText_ChargingPower,
+ BattleText_NaturePower,
+ BattleText_StatusNormal,
+ BattleText_NoMovesLeft,
+ BattleText_TormentSubject,
+ BattleText_TormentNoUse,
+ BattleText_TightenFocus,
+ BattleText_TauntFell,
+ BattleText_TauntNoUse,
+ BattleText_ReadyToHelp,
+ BattleText_SwitchedItems,
+ BattleText_CopiedObject,
+ BattleText_WishMade,
+ BattleText_WishTrue,
+ BattleText_PlantedRoots,
+ BattleText_AbsorbNutrients,
+ BattleText_AnchoredItself,
+ BattleText_DrowsyMade,
+ BattleText_KnockedOffItem,
+ BattleText_AbilitySwap,
+ BattleText_SealedMove,
+ BattleText_SealedNoUse,
+ BattleText_GrudgeBear,
+ BattleText_GrudgeLosePP,
+ BattleText_ShroudedItself,
+ BattleText_MagicCoatBounce,
+ BattleText_AwaitMove,
+ BattleText_SnatchedMove,
+ BattleText_RainMade,
+ BattleText_SpeedRisen,
+ BattleText_ProtectedBy,
+ BattleText_PreventedBy,
+ BattleText_HPRestoredUsing,
+ BattleText_MadeType,
+ BattleText_PreventedPara,
+ BattleText_PreventedRomance,
+ BattleText_PreventedPoison,
+ BattleText_PreventedConfusion,
+ BattleText_RaisedFirePower,
+ BattleText_AnchorsItself,
+ BattleText_CutsAttack,
+ BattleText_PreventedStatLoss,
+ BattleText_HurtOther,
+ BattleText_Traced,
+ BattleText_Sharply,
+ BattleText_Rose,
+ BattleText_Harshly,
+ BattleText_Fell,
+ BattleText_UnknownString7,
+ BattleText_UnknownString3,
+ BattleText_UnknownString5,
+ BattleText_UnknownString6,
+ BattleText_Critical,
+ BattleText_GrandSlam,
+ BattleText_MoveForget123,
+ BattleText_MoveForgetAnd,
+ BattleText_NotEffective,
+ BattleText_SuperEffective,
+ BattleText_GotAwaySafely,
+ BattleText_FledWild,
+ BattleText_NoRunning,
+ BattleText_CantEscape2,
+ BattleText_BirchDontLeaveMe,
+ BattleText_Nothing,
+ BattleText_Failed,
+ BattleText_HurtItself,
+ BattleText_MirrorFail,
+ BattleText_RainStart,
+ BattleText_PourStart,
+ BattleText_RainCont1,
+ BattleText_PourCont,
+ BattleText_RainStop,
+ BattleText_SandBrewed,
+ BattleText_SandRages,
+ BattleText_SandSubsided,
+ BattleText_SunBright,
+ BattleText_SunStrong,
+ BattleText_SunFaded,
+ BattleText_HailStart,
+ BattleText_HailCont,
+ BattleText_HailStop,
+ BattleText_SpitUpFail,
+ BattleText_SwallowFail,
+ BattleText_WindHeatWave,
+ BattleText_StatElim,
+ BattleText_CoinScatter,
+ BattleText_SubWeak,
+ BattleText_PainSplit,
+ BattleText_BellChime,
+ BattleText_PerishSong,
+ BattleText_NoPP1,
+ BattleText_NoPP2,
+ BattleText_Used1,
+ BattleText_TutorialUsed,
+ BattleText_BlockBall,
+ BattleText_DontBeAThief,
+ BattleText_DodgeBall,
+ BattleText_MissPoke,
+ BattleText_BallBrokeOhNo,
+ BattleText_BallBrokeAppeared,
+ BattleText_BallBrokeAlmost,
+ BattleText_BallBrokeSoClose,
+ BattleText_BallCaught1,
+ BattleText_BallCaught2,
+ BattleText_GiveNickname,
+ BattleText_SentToPC,
+ BattleText_AddedToDex,
+ BattleText_Raining,
+ BattleText_Sandstorm,
+ BattleText_CantEscape,
+ BattleText_IgnoredOrdersSLP,
+ BattleText_IgnoredOrders,
+ BattleText_BeganNap,
+ BattleText_LoafingAround,
+ BattleText_WontObey,
+ BattleText_TurnedAway,
+ BattleText_NotNotice,
+ BattleText_WillSwitch,
+ BattleText_CreptCloser,
+ BattleText_CantGetCloser,
+ BattleText_WatchingCarefully,
+ BattleText_CuriousAbout,
+ BattleText_EnthralledBy,
+ BattleText_IgnoredThing,
+ BattleText_ThrewBlock,
+ BattleText_SafariOver,
+ BattleText_CuredParalysis,
+ BattleText_CuredPoison,
+ BattleText_CuredBurn,
+ BattleText_CuredFreeze,
+ BattleText_CuredSleep,
+ BattleText_CuredConfusion,
+ BattleText_CuredStatus,
+ BattleText_RestoredHealth,
+ BattleText_RestoredPP,
+ BattleText_RestoredStatus,
+ BattleText_RestoredHPLittle,
+ BattleText_ChoiceBand,
+ BattleText_FocusSash,
+ BattleText_Terminator2,
+ BattleText_PreventedBurn,
+ BattleText_BlocksOther,
+ BattleText_RestoredHPByItem,
+ BattleText_WhipSandstorm,
+ BattleText_PreventedLoss,
+ BattleText_InfatuatedPoke,
+ BattleText_MadeIneffective,
+ BattleText_CuredProblem,
+ BattleText_OozeSuckup,
+ BattleText_Transformed2,
+ BattleText_ElecWeakened,
+ BattleText_FireWeakened,
+ BattleText_HidUnderwater,
+ BattleText_SprangUp,
+ BattleText_CantForgetHM,
+ BattleText_FoundOne,
+ BattleText_PlayerDefeatedTrainer2,
+ BattleText_SoothingAroma,
+ BattleText_CantUseItems,
+ BattleText_UnknownString2,
+ BattleText_UnknownString4,
+ BattleText_HustleUse,
+ BattleText_MadeUseless,
+ BattleText_SandTombTrapped,
+ BattleText_Terminator,
+ BattleText_BoostedExp,
+ BattleText_SunIntensified,
+ BattleText_GroundMoveNegate,
+ BattleText_WallyBall,
+ BattleText_TookAttack2,
+ BattleText_ChoseDestiny,
+ BattleText_LostFocus,
+ BattleText_UseNext,
+ BattleText_FledUsingItem,
+ BattleText_FledUsingOther,
+ BattleText_DraggedOut,
+ BattleText_PreventedOther,
+ BattleText_NormalizedStatus,
+ BattleText_Used2,
+ BattleText_BoxFull,
+ BattleText_AvoidedAttack,
+ BattleText_MadeIneffective2,
+ BattleText_PreventedFlinching,
+ BattleText_AlreadyBurned,
+ BattleText_StatNoLower,
+ BattleText_BlocksOther2,
+ BattleText_WoreOff,
+ BattleText_RaisedDefenseLittle,
+ BattleText_RaisedSpDefLittle,
+ BattleText_BrokeWall,
+ BattleText_PreventedOther2,
+ BattleText_CuredOfProblem,
+ BattleText_AttackingCantEscape,
+ BattleText_Obtained1,
+ BattleText_Obtained2,
+ BattleText_Obtained3,
+ BattleText_NoEffect,
+ BattleText_NoEffectOn,
+};
+
+// below are lists of battle string enums and NOT pointers to the strings.
+const u16 gMissStrings[] =
+{
+ BATTLE_TEXT_AttackMissed,
+ BATTLE_TEXT_ProtectedItself,
+ BATTLE_TEXT_AvoidedAttack,
+ BATTLE_TEXT_AvoidedDamage,
+ BATTLE_TEXT_GroundMoveNegate,
+};
+
+const u16 BattleTextList_401512[] =
+{
+ BATTLE_TEXT_CantEscape2,
+ BATTLE_TEXT_BirchDontLeaveMe,
+ BATTLE_TEXT_PreventEscape,
+ BATTLE_TEXT_CantEscape,
+ BATTLE_TEXT_AttackingCantEscape,
+};
+
+const u16 BattleTextList_40151C[] =
+{
+ BATTLE_TEXT_RainStart,
+ BATTLE_TEXT_PourStart,
+ BATTLE_TEXT_Failed,
+ BATTLE_TEXT_SandBrewed,
+ BATTLE_TEXT_SunBright,
+ BATTLE_TEXT_HailStart,
+};
+
+const u16 BattleTextList_401528[] =
+{
+ BATTLE_TEXT_SandRages,
+ BATTLE_TEXT_HailCont,
+};
+
+const u16 BattleTextList_40152C[] =
+{
+ BATTLE_TEXT_SandBuffeted,
+ BATTLE_TEXT_HailStricken,
+};
+
+const u16 BattleTextList_401530[] =
+{
+ BATTLE_TEXT_SandSubsided,
+ BATTLE_TEXT_HailStop,
+};
+
+const u16 BattleTextList_401534[] =
+{
+ BATTLE_TEXT_RainCont1,
+ BATTLE_TEXT_PourCont,
+ BATTLE_TEXT_RainStop,
+};
+
+const u16 BattleTextList_40153A[] =
+{
+ BATTLE_TEXT_ProtectedItself2,
+ BATTLE_TEXT_BracedItself,
+ BATTLE_TEXT_Failed,
+};
+
+const u16 BattleTextList_401540[] =
+{
+ BATTLE_TEXT_Failed,
+ BATTLE_TEXT_RaisedDefense,
+ BATTLE_TEXT_RaisedDefenseLittle,
+ BATTLE_TEXT_RaisedSpDef,
+ BATTLE_TEXT_RaisedSpDefLittle,
+ BATTLE_TEXT_CoveredVeil,
+};
+
+const u16 BattleTextList_40154C[] =
+{
+ BATTLE_TEXT_WasSeeded,
+ BATTLE_TEXT_EvadedAttack,
+ BATTLE_TEXT_DoesntAffect,
+ BATTLE_TEXT_HealthSapped,
+ BATTLE_TEXT_OozeSuckup,
+};
+
+const u16 BattleTextList_401556[] =
+{
+ BATTLE_TEXT_WentToSleep,
+ BATTLE_TEXT_SpeltHealthy,
+};
+
+const u16 BattleTextList_40155A[] =
+{
+ BATTLE_TEXT_UproarMaking,
+ BATTLE_TEXT_CalmedDown,
+};
+
+const u16 BattleTextList_40155E[] =
+{
+ BATTLE_TEXT_Stockpiled,
+ BATTLE_TEXT_StockpiledCant,
+};
+
+const u16 BattleTextList_401562[] =
+{
+ BATTLE_TEXT_WokeUp,
+ BATTLE_TEXT_UproarWoke,
+};
+
+const u16 BattleTextList_401566[] =
+{
+ BATTLE_TEXT_SwallowFail,
+ BATTLE_TEXT_HPFull,
+};
+
+const u16 BattleTextList_40156A[] =
+{
+ BATTLE_TEXT_UproarCantSleep2,
+ BATTLE_TEXT_UproarKeptAwake,
+ BATTLE_TEXT_StayedAwake,
+};
+
+const u16 BattleTextList_401570[] =
+{
+ BATTLE_TEXT_UnknownString7,
+ BATTLE_TEXT_UnknownString3,
+ BATTLE_TEXT_AttackingStatNoHigher,
+ BATTLE_TEXT_Terminator2,
+ BATTLE_TEXT_UnknownString4,
+ BATTLE_TEXT_HustleUse,
+};
+
+const u16 BattleTextList_40157C[] =
+{
+ BATTLE_TEXT_UnknownString5,
+ BATTLE_TEXT_UnknownString6,
+ BATTLE_TEXT_DefendingStatNoHigher,
+ BATTLE_TEXT_Terminator2,
+};
+
+const u16 BattleTextList_401584[] =
+{
+ BATTLE_TEXT_WhipWhirlwind,
+ BATTLE_TEXT_TookSunlight,
+ BATTLE_TEXT_LoweredHead,
+ BATTLE_TEXT_IsGlowing,
+ BATTLE_TEXT_FlewHigh,
+ BATTLE_TEXT_DugHole,
+ BATTLE_TEXT_HidUnderwater,
+ BATTLE_TEXT_SprangUp,
+};
+
+const u16 BattleTextList_401594[] =
+{
+ BATTLE_TEXT_SqueezedBind,
+ BATTLE_TEXT_Wrapped,
+ BATTLE_TEXT_TrappedVortex,
+ BATTLE_TEXT_Clamped,
+ BATTLE_TEXT_TrappedVortex,
+ BATTLE_TEXT_SandTombTrapped,
+};
+
+const u16 BattleTextList_4015A0[] =
+{
+ BATTLE_TEXT_MistShroud,
+ BATTLE_TEXT_Failed,
+};
+
+const u16 BattleTextList_4015A4[] =
+{
+ BATTLE_TEXT_GetPumped,
+ BATTLE_TEXT_Failed,
+};
+
+const u16 BattleTextList_4015A8[] =
+{
+ BATTLE_TEXT_Transformed,
+ BATTLE_TEXT_Failed,
+};
+
+const u16 BattleTextList_4015AC[] =
+{
+ BATTLE_TEXT_SubMade,
+ BATTLE_TEXT_SubWeak,
+};
+
+const u16 BattleTextList_4015B0[] =
+{
+ BATTLE_TEXT_Poisoned,
+ BATTLE_TEXT_Poisoned2,
+};
+
+const u16 BattleTextList_4015B4[] =
+{
+ BATTLE_TEXT_Paralyzed,
+ BATTLE_TEXT_Paralyzed2,
+};
+
+const u16 BattleTextList_4015B8[] =
+{
+ BATTLE_TEXT_FellAsleep,
+ BATTLE_TEXT_MadeAsleep,
+};
+
+const u16 BattleTextList_4015BC[] =
+{
+ BATTLE_TEXT_Burned,
+ BATTLE_TEXT_Burned2,
+};
+
+const u16 BattleTextList_4015C0[] =
+{
+ BATTLE_TEXT_Frozen,
+ BATTLE_TEXT_Frozen2,
+};
+
+const u16 BattleTextList_4015C4[] =
+{
+ BATTLE_TEXT_AttackingDefrosted,
+ BATTLE_TEXT_Defrosted,
+};
+
+const u16 BattleTextList_4015C8[] =
+{
+ BATTLE_TEXT_AttackMissed,
+ BATTLE_TEXT_Unaffected,
+ BATTLE_TEXT_FellLove,
+ BATTLE_TEXT_InfatuatedPoke,
+};
+
+const u16 BattleTextList_4015D0[] =
+{
+ BATTLE_TEXT_EnergyDrained,
+ BATTLE_TEXT_OozeSuckup,
+};
+
+const u16 BattleTextList_4015D4[] =
+{
+ BATTLE_TEXT_ElecWeakened,
+ BATTLE_TEXT_FireWeakened,
+};
+
+const u16 BattleTextList_4015D8[] =
+{
+ BATTLE_TEXT_BellChime,
+ BATTLE_TEXT_BellChime,
+ BATTLE_TEXT_BellChime,
+ BATTLE_TEXT_BellChime,
+ BATTLE_TEXT_SoothingAroma,
+};
+
+const u16 BattleTextList_4015E2[] =
+{
+ BATTLE_TEXT_ForesawAttack,
+ BATTLE_TEXT_ChoseDestiny,
+};
+
+const u16 BattleTextList_4015E6[] =
+{
+ BATTLE_TEXT_BallBrokeOhNo,
+ BATTLE_TEXT_BallBrokeAppeared,
+ BATTLE_TEXT_BallBrokeAlmost,
+ BATTLE_TEXT_BallBrokeSoClose,
+};
+
+const u16 BattleTextList_4015EE[] =
+{
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Sandstorm,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_SunStrong,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Raining,
+};
+
+const u16 BattleTextList_40160E[] =
+{
+ BATTLE_TEXT_LoafingAround,
+ BATTLE_TEXT_WontObey,
+ BATTLE_TEXT_TurnedAway,
+ BATTLE_TEXT_NotNotice,
+};
+
+const u16 BattleTextList_401616[] =
+{
+ BATTLE_TEXT_CreptCloser,
+ BATTLE_TEXT_CantGetCloser,
+};
+
+const u16 BattleTextList_40161A[] =
+{
+ BATTLE_TEXT_CuriousAbout,
+ BATTLE_TEXT_EnthralledBy,
+ BATTLE_TEXT_IgnoredThing,
+};
+
+const u16 BattleTextList_401620[] =
+{
+ BATTLE_TEXT_CuredConfusion,
+ BATTLE_TEXT_CuredParalysis,
+ BATTLE_TEXT_CuredFreeze,
+ BATTLE_TEXT_CuredBurn,
+ BATTLE_TEXT_CuredPoison,
+ BATTLE_TEXT_CuredSleep,
+};
+
+const u16 BattleTextList_40162C[] =
+{
+ BATTLE_TEXT_CuredStatus,
+ BATTLE_TEXT_NormalizedStatus,
+};
+
+const u16 BattleTextList_401630[] =
+{
+ BATTLE_TEXT_PreventedBurn,
+ BATTLE_TEXT_PreventedOther2,
+ BATTLE_TEXT_NoEffectOn,
+};
+
+const u16 BattleTextList_401636[] =
+{
+ BATTLE_TEXT_PreventedPara,
+ BATTLE_TEXT_PreventedOther2,
+ BATTLE_TEXT_NoEffectOn,
+};
+
+const u16 BattleTextList_40163C[] =
+{
+ BATTLE_TEXT_PreventedPoison,
+ BATTLE_TEXT_PreventedOther2,
+ BATTLE_TEXT_NoEffectOn,
+};
+
+const u16 BattleTextList_401642[] =
+{
+ BATTLE_TEXT_Obtained1,
+ BATTLE_TEXT_Obtained2,
+ BATTLE_TEXT_Obtained3,
+};
+
+const u16 BattleTextList_401648[] =
+{
+ BATTLE_TEXT_RaisedFirePower,
+ BATTLE_TEXT_MadeIneffective,
+};
+
+const u16 gTrappingMoves[] =
+{
+ MOVE_BIND,
+ MOVE_WRAP,
+ MOVE_FIRE_SPIN,
+ MOVE_CLAMP,
+ MOVE_WHIRLPOOL,
+ MOVE_SAND_TOMB,
+ 0xFFFF,
+};
+
+const u8 *const gUnknown_0840165C[] =
+{
+ BattleText_HP,
+ BattleText_SpAtk,
+ BattleText_Attack,
+ BattleText_SpDef,
+ BattleText_Defense,
+ BattleStatText_Speed,
+};
+
+const u8 *const gUnknown_08401674[] =
+{
+ BattleText_Normal,
+ BattleText_Fighting,
+ BattleText_Flying,
+ BattleText_Poison,
+ BattleText_Ground,
+ BattleText_Rock,
+ BattleText_Bug,
+ BattleText_Ghost,
+ BattleText_Steel,
+ BattleText_Typeless,
+ BattleText_Fire,
+ BattleText_Water,
+ BattleText_Grass,
+ BattleText_Electric,
+ BattleText_Psychic,
+ BattleText_Ice,
+ BattleText_Dragon,
+ BattleText_Dark,
+};
diff --git a/src/data/battle_strings_en.h b/src/data/battle_strings_en.h
new file mode 100755
index 000000000..7f0481b50
--- /dev/null
+++ b/src/data/battle_strings_en.h
@@ -0,0 +1,1612 @@
+#include "moves.h"
+
+enum
+{
+ BATTLE_TEXT_UnknownString = 12,
+ BATTLE_TEXT_GainExpPoints,
+ BATTLE_TEXT_GrewLevel,
+ BATTLE_TEXT_LearnedMove,
+ BATTLE_TEXT_TryingToLearnMove,
+ BATTLE_TEXT_CantLearnMore,
+ BATTLE_TEXT_DeleteMove,
+ BATTLE_TEXT_DeletedMove,
+ BATTLE_TEXT_StopLearning,
+ BATTLE_TEXT_DidNotLearn,
+ BATTLE_TEXT_LearnedMove2,
+ BATTLE_TEXT_AttackMissed,
+ BATTLE_TEXT_ProtectedItself,
+ BATTLE_TEXT_StatNoHigher,
+ BATTLE_TEXT_AvoidedDamage,
+ BATTLE_TEXT_DoesntAffect,
+ BATTLE_TEXT_AttackingFainted,
+ BATTLE_TEXT_DefendingFainted,
+ BATTLE_TEXT_WinningPrize,
+ BATTLE_TEXT_OutOfUsablePoke,
+ BATTLE_TEXT_WhitedOut,
+ BATTLE_TEXT_PreventEscape,
+ BATTLE_TEXT_HitMulti,
+ BATTLE_TEXT_FellAsleep,
+ BATTLE_TEXT_MadeAsleep,
+ BATTLE_TEXT_DefendingAsleep,
+ BATTLE_TEXT_AttackingAsleep,
+ BATTLE_TEXT_WasntAffected,
+ BATTLE_TEXT_Poisoned,
+ BATTLE_TEXT_Poisoned2,
+ BATTLE_TEXT_PoisonHurt,
+ BATTLE_TEXT_AlreadyPoisoned,
+ BATTLE_TEXT_BadlyPoisoned,
+ BATTLE_TEXT_EnergyDrained,
+ BATTLE_TEXT_Burned,
+ BATTLE_TEXT_Burned2,
+ BATTLE_TEXT_BurnHurt,
+ BATTLE_TEXT_Frozen,
+ BATTLE_TEXT_Frozen2,
+ BATTLE_TEXT_FrozenSolid,
+ BATTLE_TEXT_DefendingDefrosted,
+ BATTLE_TEXT_AttackingDefrosted,
+ BATTLE_TEXT_Defrosted,
+ BATTLE_TEXT_Paralyzed,
+ BATTLE_TEXT_Paralyzed2,
+ BATTLE_TEXT_Paralyzed3,
+ BATTLE_TEXT_AlreadyParalyzed,
+ BATTLE_TEXT_ParalysisHealed,
+ BATTLE_TEXT_DreamEaten,
+ BATTLE_TEXT_AttackingStatNoHigher,
+ BATTLE_TEXT_DefendingStatNoHigher,
+ BATTLE_TEXT_StoppedWorking,
+ BATTLE_TEXT_StoppedWorking2,
+ BATTLE_TEXT_Confused,
+ BATTLE_TEXT_ConfusionSnapOut,
+ BATTLE_TEXT_BecameConfused,
+ BATTLE_TEXT_AlreadyConfused,
+ BATTLE_TEXT_FellLove,
+ BATTLE_TEXT_InLoveWith,
+ BATTLE_TEXT_ImmobilizedBy,
+ BATTLE_TEXT_BlownAway,
+ BATTLE_TEXT_TypeTransform,
+ BATTLE_TEXT_Flinched,
+ BATTLE_TEXT_RegainedHealth,
+ BATTLE_TEXT_HPFull,
+ BATTLE_TEXT_RaisedSpDef,
+ BATTLE_TEXT_RaisedDefense,
+ BATTLE_TEXT_CoveredVeil,
+ BATTLE_TEXT_SafeguardActive,
+ BATTLE_TEXT_SafeguardFaded,
+ BATTLE_TEXT_WentToSleep,
+ BATTLE_TEXT_SpeltHealthy,
+ BATTLE_TEXT_WhipWhirlwind,
+ BATTLE_TEXT_TookSunlight,
+ BATTLE_TEXT_LoweredHead,
+ BATTLE_TEXT_IsGlowing,
+ BATTLE_TEXT_FlewHigh,
+ BATTLE_TEXT_DugHole,
+ BATTLE_TEXT_SqueezedBind,
+ BATTLE_TEXT_TrappedVortex,
+ BATTLE_TEXT_Wrapped,
+ BATTLE_TEXT_Clamped,
+ BATTLE_TEXT_HurtBy,
+ BATTLE_TEXT_FreedFrom,
+ BATTLE_TEXT_KeptGoingCrash,
+ BATTLE_TEXT_MistShroud,
+ BATTLE_TEXT_MistProtect,
+ BATTLE_TEXT_GetPumped,
+ BATTLE_TEXT_HitRecoil,
+ BATTLE_TEXT_ProtectedItself2,
+ BATTLE_TEXT_SandBuffeted,
+ BATTLE_TEXT_HailStricken,
+ BATTLE_TEXT_WasSeeded,
+ BATTLE_TEXT_EvadedAttack,
+ BATTLE_TEXT_HealthSapped,
+ BATTLE_TEXT_FastAsleep,
+ BATTLE_TEXT_WokeUp,
+ BATTLE_TEXT_UproarAwake,
+ BATTLE_TEXT_UproarWoke,
+ BATTLE_TEXT_UproarCaused,
+ BATTLE_TEXT_UproarMaking,
+ BATTLE_TEXT_CalmedDown,
+ BATTLE_TEXT_UproarCantSleep,
+ BATTLE_TEXT_Stockpiled,
+ BATTLE_TEXT_StockpiledCant,
+ BATTLE_TEXT_UproarCantSleep2,
+ BATTLE_TEXT_UproarKeptAwake,
+ BATTLE_TEXT_StayedAwake,
+ BATTLE_TEXT_StoringEnergy,
+ BATTLE_TEXT_UnleashedEnergy,
+ BATTLE_TEXT_FatigueConfuse,
+ BATTLE_TEXT_PickedUpYen,
+ BATTLE_TEXT_Unaffected,
+ BATTLE_TEXT_Transformed,
+ BATTLE_TEXT_SubMade,
+ BATTLE_TEXT_SubAlready,
+ BATTLE_TEXT_SubTookDamage,
+ BATTLE_TEXT_SubFaded,
+ BATTLE_TEXT_MustRecharge,
+ BATTLE_TEXT_RageBuilding,
+ BATTLE_TEXT_MoveWasDisabled,
+ BATTLE_TEXT_MoveIsDisabled,
+ BATTLE_TEXT_DisabledNoMore,
+ BATTLE_TEXT_EncoreGot,
+ BATTLE_TEXT_EncoreEnded,
+ BATTLE_TEXT_TookAim,
+ BATTLE_TEXT_SketchedMove,
+ BATTLE_TEXT_DestinyBondTake,
+ BATTLE_TEXT_DestinyBondTaken,
+ BATTLE_TEXT_ReducedBy,
+ BATTLE_TEXT_StoleSomething,
+ BATTLE_TEXT_CantEscapeNow,
+ BATTLE_TEXT_NightmareStart,
+ BATTLE_TEXT_NightmareLock,
+ BATTLE_TEXT_CurseLay,
+ BATTLE_TEXT_CurseAfflict,
+ BATTLE_TEXT_SpikesScattered,
+ BATTLE_TEXT_SpikesHurt,
+ BATTLE_TEXT_IdentifiedPoke,
+ BATTLE_TEXT_PerishSongFell,
+ BATTLE_TEXT_BracedItself,
+ BATTLE_TEXT_EnduredHit,
+ BATTLE_TEXT_MagnitudeCount,
+ BATTLE_TEXT_CutHPMaxATK,
+ BATTLE_TEXT_CopyStatChanges,
+ BATTLE_TEXT_GotFreeFrom,
+ BATTLE_TEXT_LeechShed,
+ BATTLE_TEXT_SpikesBlownAway,
+ BATTLE_TEXT_FledBattle,
+ BATTLE_TEXT_ForesawAttack,
+ BATTLE_TEXT_TookAttack,
+ BATTLE_TEXT_PokeAttack,
+ BATTLE_TEXT_CenterAttention,
+ BATTLE_TEXT_ChargingPower,
+ BATTLE_TEXT_NaturePower,
+ BATTLE_TEXT_StatusNormal,
+ BATTLE_TEXT_NoMovesLeft,
+ BATTLE_TEXT_TormentSubject,
+ BATTLE_TEXT_TormentNoUse,
+ BATTLE_TEXT_TightenFocus,
+ BATTLE_TEXT_TauntFell,
+ BATTLE_TEXT_TauntNoUse,
+ BATTLE_TEXT_ReadyToHelp,
+ BATTLE_TEXT_SwitchedItems,
+ BATTLE_TEXT_CopiedObject,
+ BATTLE_TEXT_WishMade,
+ BATTLE_TEXT_WishTrue,
+ BATTLE_TEXT_PlantedRoots,
+ BATTLE_TEXT_AbsorbNutrients,
+ BATTLE_TEXT_AnchoredItself,
+ BATTLE_TEXT_DrowsyMade,
+ BATTLE_TEXT_KnockedOffItem,
+ BATTLE_TEXT_AbilitySwap,
+ BATTLE_TEXT_SealedMove,
+ BATTLE_TEXT_SealedNoUse,
+ BATTLE_TEXT_GrudgeBear,
+ BATTLE_TEXT_GrudgeLosePP,
+ BATTLE_TEXT_ShroudedItself,
+ BATTLE_TEXT_MagicCoatBounce,
+ BATTLE_TEXT_AwaitMove,
+ BATTLE_TEXT_SnatchedMove,
+ BATTLE_TEXT_RainMade,
+ BATTLE_TEXT_SpeedRisen,
+ BATTLE_TEXT_ProtectedBy,
+ BATTLE_TEXT_PreventedBy,
+ BATTLE_TEXT_HPRestoredUsing,
+ BATTLE_TEXT_MadeType,
+ BATTLE_TEXT_PreventedPara,
+ BATTLE_TEXT_PreventedRomance,
+ BATTLE_TEXT_PreventedPoison,
+ BATTLE_TEXT_PreventedConfusion,
+ BATTLE_TEXT_RaisedFirePower,
+ BATTLE_TEXT_AnchorsItself,
+ BATTLE_TEXT_CutsAttack,
+ BATTLE_TEXT_PreventedStatLoss,
+ BATTLE_TEXT_HurtOther,
+ BATTLE_TEXT_Traced,
+ BATTLE_TEXT_Sharply,
+ BATTLE_TEXT_Rose,
+ BATTLE_TEXT_Harshly,
+ BATTLE_TEXT_Fell,
+ BATTLE_TEXT_UnknownString7,
+ BATTLE_TEXT_UnknownString3,
+ BATTLE_TEXT_UnknownString5,
+ BATTLE_TEXT_UnknownString6,
+ BATTLE_TEXT_Critical,
+ BATTLE_TEXT_GrandSlam,
+ BATTLE_TEXT_MoveForget123,
+ BATTLE_TEXT_MoveForgetAnd,
+ BATTLE_TEXT_NotEffective,
+ BATTLE_TEXT_SuperEffective,
+ BATTLE_TEXT_GotAwaySafely,
+ BATTLE_TEXT_FledWild,
+ BATTLE_TEXT_NoRunning,
+ BATTLE_TEXT_CantEscape2,
+ BATTLE_TEXT_BirchDontLeaveMe,
+ BATTLE_TEXT_Nothing,
+ BATTLE_TEXT_Failed,
+ BATTLE_TEXT_HurtItself,
+ BATTLE_TEXT_MirrorFail,
+ BATTLE_TEXT_RainStart,
+ BATTLE_TEXT_PourStart,
+ BATTLE_TEXT_RainCont1,
+ BATTLE_TEXT_PourCont,
+ BATTLE_TEXT_RainStop,
+ BATTLE_TEXT_SandBrewed,
+ BATTLE_TEXT_SandRages,
+ BATTLE_TEXT_SandSubsided,
+ BATTLE_TEXT_SunBright,
+ BATTLE_TEXT_SunStrong,
+ BATTLE_TEXT_SunFaded,
+ BATTLE_TEXT_HailStart,
+ BATTLE_TEXT_HailCont,
+ BATTLE_TEXT_HailStop,
+ BATTLE_TEXT_SpitUpFail,
+ BATTLE_TEXT_SwallowFail,
+ BATTLE_TEXT_WindHeatWave,
+ BATTLE_TEXT_StatElim,
+ BATTLE_TEXT_CoinScatter,
+ BATTLE_TEXT_SubWeak,
+ BATTLE_TEXT_PainSplit,
+ BATTLE_TEXT_BellChime,
+ BATTLE_TEXT_PerishSong,
+ BATTLE_TEXT_NoPP1,
+ BATTLE_TEXT_NoPP2,
+ BATTLE_TEXT_Used1,
+ BATTLE_TEXT_TutorialUsed,
+ BATTLE_TEXT_BlockBall,
+ BATTLE_TEXT_DontBeAThief,
+ BATTLE_TEXT_DodgeBall,
+ BATTLE_TEXT_MissPoke,
+ BATTLE_TEXT_BallBrokeOhNo,
+ BATTLE_TEXT_BallBrokeAppeared,
+ BATTLE_TEXT_BallBrokeAlmost,
+ BATTLE_TEXT_BallBrokeSoClose,
+ BATTLE_TEXT_BallCaught1,
+ BATTLE_TEXT_BallCaught2,
+ BATTLE_TEXT_GiveNickname,
+ BATTLE_TEXT_SentToPC,
+ BATTLE_TEXT_AddedToDex,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Sandstorm,
+ BATTLE_TEXT_CantEscape,
+ BATTLE_TEXT_IgnoredOrdersSLP,
+ BATTLE_TEXT_IgnoredOrders,
+ BATTLE_TEXT_BeganNap,
+ BATTLE_TEXT_LoafingAround,
+ BATTLE_TEXT_WontObey,
+ BATTLE_TEXT_TurnedAway,
+ BATTLE_TEXT_NotNotice,
+ BATTLE_TEXT_WillSwitch,
+ BATTLE_TEXT_CreptCloser,
+ BATTLE_TEXT_CantGetCloser,
+ BATTLE_TEXT_WatchingCarefully,
+ BATTLE_TEXT_CuriousAbout,
+ BATTLE_TEXT_EnthralledBy,
+ BATTLE_TEXT_IgnoredThing,
+ BATTLE_TEXT_ThrewBlock,
+ BATTLE_TEXT_SafariOver,
+ BATTLE_TEXT_CuredParalysis,
+ BATTLE_TEXT_CuredPoison,
+ BATTLE_TEXT_CuredBurn,
+ BATTLE_TEXT_CuredFreeze,
+ BATTLE_TEXT_CuredSleep,
+ BATTLE_TEXT_CuredConfusion,
+ BATTLE_TEXT_CuredStatus,
+ BATTLE_TEXT_RestoredHealth,
+ BATTLE_TEXT_RestoredPP,
+ BATTLE_TEXT_RestoredStatus,
+ BATTLE_TEXT_RestoredHPLittle,
+ BATTLE_TEXT_ChoiceBand,
+ BATTLE_TEXT_FocusSash,
+ BATTLE_TEXT_Terminator2,
+ BATTLE_TEXT_PreventedBurn,
+ BATTLE_TEXT_BlocksOther,
+ BATTLE_TEXT_RestoredHPByItem,
+ BATTLE_TEXT_WhipSandstorm,
+ BATTLE_TEXT_PreventedLoss,
+ BATTLE_TEXT_InfatuatedPoke,
+ BATTLE_TEXT_MadeIneffective,
+ BATTLE_TEXT_CuredProblem,
+ BATTLE_TEXT_OozeSuckup,
+ BATTLE_TEXT_Transformed2,
+ BATTLE_TEXT_ElecWeakened,
+ BATTLE_TEXT_FireWeakened,
+ BATTLE_TEXT_HidUnderwater,
+ BATTLE_TEXT_SprangUp,
+ BATTLE_TEXT_CantForgetHM,
+ BATTLE_TEXT_FoundOne,
+ BATTLE_TEXT_PlayerDefeatedTrainer2,
+ BATTLE_TEXT_SoothingAroma,
+ BATTLE_TEXT_CantUseItems,
+ BATTLE_TEXT_UnknownString2,
+ BATTLE_TEXT_UnknownString4,
+ BATTLE_TEXT_HustleUse,
+ BATTLE_TEXT_MadeUseless,
+ BATTLE_TEXT_SandTombTrapped,
+ BATTLE_TEXT_Terminator,
+ BATTLE_TEXT_BoostedExp,
+ BATTLE_TEXT_SunIntensified,
+ BATTLE_TEXT_GroundMoveNegate,
+ BATTLE_TEXT_WallyBall,
+ BATTLE_TEXT_TookAttack2,
+ BATTLE_TEXT_ChoseDestiny,
+ BATTLE_TEXT_LostFocus,
+ BATTLE_TEXT_UseNext,
+ BATTLE_TEXT_FledUsingItem,
+ BATTLE_TEXT_FledUsingOther,
+ BATTLE_TEXT_DraggedOut,
+ BATTLE_TEXT_PreventedOther,
+ BATTLE_TEXT_NormalizedStatus,
+ BATTLE_TEXT_Used2,
+ BATTLE_TEXT_BoxFull,
+ BATTLE_TEXT_AvoidedAttack,
+ BATTLE_TEXT_MadeIneffective2,
+ BATTLE_TEXT_PreventedFlinching,
+ BATTLE_TEXT_AlreadyBurned,
+ BATTLE_TEXT_StatNoLower,
+ BATTLE_TEXT_BlocksOther2,
+ BATTLE_TEXT_WoreOff,
+ BATTLE_TEXT_RaisedDefenseLittle,
+ BATTLE_TEXT_RaisedSpDefLittle,
+ BATTLE_TEXT_BrokeWall,
+ BATTLE_TEXT_PreventedOther2,
+ BATTLE_TEXT_CuredOfProblem,
+ BATTLE_TEXT_AttackingCantEscape,
+ BATTLE_TEXT_Obtained1,
+ BATTLE_TEXT_Obtained2,
+ BATTLE_TEXT_Obtained3,
+ BATTLE_TEXT_NoEffect,
+ BATTLE_TEXT_NoEffectOn,
+};
+
+const u8 BattleText_UnknownString[] = _("{STRING 33}");
+const u8 BattleText_GainExpPoints[] = _("{STRING 0} gained{STRING 1}\n{STRING 42} EXP. Points!\p");
+const u8 BattleText_Terminator[] = _("");
+const u8 BattleText_BoostedExp[] = _(" a boosted");
+const u8 BattleText_GrewLevel[] = _("{STRING 0} grew to\nLV. {STRING 1}!{UNKNOWN_A}\p");
+const u8 BattleText_LearnedMove[] = _("{STRING 0} learned\n{STRING 1}!{UNKNOWN_A}\p");
+const u8 BattleText_TryingToLearnMove[] = _("{STRING 0} is trying to\nlearn {STRING 1}.\p");
+const u8 BattleText_CantLearnMore[] = _("But, {STRING 0} can’t learn\nmore than four moves.\p");
+const u8 BattleText_DeleteMove[] = _("Delete a move to make\nroom for {STRING 1}?");
+const u8 BattleText_DeletedMove[] = _("{STRING 0} forgot\n{STRING 1}.\p");
+const u8 BattleText_StopLearning[] = _("{PAUSE 32}Stop learning\n{STRING 1}?");
+const u8 BattleText_DidNotLearn[] = _("{STRING 0} did not learn\n{STRING 1}.\p");
+const u8 BattleText_UseNext[] = _("Use next POKéMON?");
+const u8 BattleText_AttackMissed[] = _("{ATTACKING_MON}’s\nattack missed!");
+const u8 BattleText_ProtectedItself[] = _("{DEFENDING_MON}\nprotected itself!");
+const u8 BattleText_AvoidedDamage[] = _("{DEFENDING_MON} avoided\ndamage with {STRING 22}!");
+const u8 BattleText_GroundMoveNegate[] = _("{DEFENDING_MON} makes GROUND\nmoves miss with {STRING 22}!");
+const u8 BattleText_AvoidedAttack[] = _("{DEFENDING_MON} avoided\nthe attack!");
+const u8 BattleText_DoesntAffect[] = _("It doesn’t affect\n{DEFENDING_MON}...");
+const u8 BattleText_AttackingFainted[] = _("{ATTACKING_MON}\nfainted!\p");
+const u8 BattleText_DefendingFainted[] = _("{DEFENDING_MON}\nfainted!\p");
+const u8 BattleText_WinningPrize[] = _("{STRING 32} got ¥{STRING 0}\nfor winning!\p");
+const u8 BattleText_OutOfUsablePoke[] = _("{STRING 32} is out of\nuseable POKéMON!\p");
+const u8 BattleText_WhitedOut[] = _("{STRING 32} whited out!{PAUSE_UNTIL_PRESS}");
+const u8 BattleText_PreventEscape[] = _("{STRING 16} prevents\nescape with {STRING 23}!\p");
+const u8 BattleText_CantEscape[] = _("Can’t escape!\p");
+const u8 BattleText_AttackingCantEscape[] = _("{ATTACKING_MON}\ncan’t escape!");
+const u8 BattleText_HitMulti[] = _("Hit {STRING 0} time(s)!");
+const u8 BattleText_FellAsleep[] = _("{STRING 14}\nfell asleep!");
+const u8 BattleText_MadeAsleep[] = _("{STRING 16}’s {STRING 23}\nmade {STRING 14} sleep!");
+const u8 BattleText_DefendingAsleep[] = _("{DEFENDING_MON} is\nalready asleep!");
+const u8 BattleText_AttackingAsleep[] = _("{ATTACKING_MON} is\nalready asleep!");
+const u8 BattleText_WasntAffected[] = _("{DEFENDING_MON}\nwasn’t affected!");
+const u8 BattleText_Poisoned[] = _("{STRING 14}\nwas poisoned!");
+const u8 BattleText_Poisoned2[] = _("{STRING 16}’s {STRING 23}\npoisoned {STRING 14}!");
+const u8 BattleText_PoisonHurt[] = _("{ATTACKING_MON} is hurt\nby poison!");
+const u8 BattleText_AlreadyPoisoned[] = _("{DEFENDING_MON} is already\npoisoned.");
+const u8 BattleText_BadlyPoisoned[] = _("{STRING 14} is badly\npoisoned!");
+const u8 BattleText_EnergyDrained[] = _("{DEFENDING_MON} had its\nenergy drained!");
+const u8 BattleText_Burned[] = _("{STRING 14} was burned!");
+const u8 BattleText_Burned2[] = _("{STRING 16}’s {STRING 23}\nburned {STRING 14}!");
+const u8 BattleText_BurnHurt[] = _("{ATTACKING_MON} is hurt\nby its burn!");
+const u8 BattleText_AlreadyBurned[] = _("{DEFENDING_MON} already\nhas a burn.");
+const u8 BattleText_Frozen[] = _("{STRING 14} was\nfrozen solid!");
+const u8 BattleText_Frozen2[] = _("{STRING 16}’s {STRING 23}\nfroze {STRING 14} solid!");
+const u8 BattleText_FrozenSolid[] = _("{ATTACKING_MON} is\nfrozen solid!");
+const u8 BattleText_DefendingDefrosted[] = _("{DEFENDING_MON} was\ndefrosted!");
+const u8 BattleText_AttackingDefrosted[] = _("{ATTACKING_MON} was\ndefrosted!");
+const u8 BattleText_Defrosted[] = _("{ATTACKING_MON} was\ndefrosted by {STRING 17}!");
+const u8 BattleText_Paralyzed[] = _("{STRING 14} is paralyzed!\nIt may be unable to move!");
+const u8 BattleText_Paralyzed2[] = _("{STRING 16}’s {STRING 23}\nparalyzed {STRING 14}!\lIt may be unable to move!");
+const u8 BattleText_Paralyzed3[] = _("{ATTACKING_MON} is paralyzed!\nIt can’t move!");
+const u8 BattleText_AlreadyParalyzed[] = _("{DEFENDING_MON} is\nalready paralyzed!");
+const u8 BattleText_ParalysisHealed[] = _("{DEFENDING_MON} was\nhealed of paralysis!");
+const u8 BattleText_DreamEaten[] = _("{DEFENDING_MON}’s\ndream was eaten!");
+const u8 BattleText_AttackingStatNoHigher[] = _("{ATTACKING_MON}’s {STRING 0}\nwon’t go higher!");
+const u8 BattleText_DefendingStatNoHigher[] = _("{DEFENDING_MON}’s {STRING 0}\nwon’t go lower!");
+const u8 BattleText_StoppedWorking[] = _("Your team’s {STRING 0}\nstopped working!");
+const u8 BattleText_StoppedWorking2[] = _("The foe’s {STRING 0}\nstopped working!");
+const u8 BattleText_Confused[] = _("{ATTACKING_MON} is\nconfused!");
+const u8 BattleText_ConfusionSnapOut[] = _("{ATTACKING_MON} snapped\nout of confusion!");
+const u8 BattleText_BecameConfused[] = _("{STRING 14} became\nconfused!");
+const u8 BattleText_AlreadyConfused[] = _("{DEFENDING_MON} is\nalready confused!");
+const u8 BattleText_FellLove[] = _("{DEFENDING_MON}\nfell in love!");
+const u8 BattleText_InLoveWith[] = _("{ATTACKING_MON} is in love\nwith {STRING 16}!");
+const u8 BattleText_ImmobilizedBy[] = _("{ATTACKING_MON} is\nimmobilized by love!");
+const u8 BattleText_BlownAway[] = _("{DEFENDING_MON} was\nblown away!");
+const u8 BattleText_TypeTransform[] = _("{ATTACKING_MON} transformed\ninto the {STRING 0} type!");
+const u8 BattleText_Flinched[] = _("{ATTACKING_MON} flinched!");
+const u8 BattleText_RegainedHealth[] = _("{DEFENDING_MON} regained\nhealth!");
+const u8 BattleText_HPFull[] = _("{DEFENDING_MON}’s\nHP is full!");
+const u8 BattleText_RaisedSpDef[] = _("{STRING 38}’s {STRING 17}\nraised SP. DEF!");
+const u8 BattleText_RaisedSpDefLittle[] = _("{STRING 38}’s {STRING 17}\nraised SP. DEF a little!");
+const u8 BattleText_RaisedDefense[] = _("{STRING 38}’s {STRING 17}\nraised DEFENSE!");
+const u8 BattleText_RaisedDefenseLittle[] = _("{STRING 38}’s {STRING 17}\nraised DEFENSE a little!");
+const u8 BattleText_CoveredVeil[] = _("{STRING 38} is covered\nby a veil!");
+const u8 BattleText_SafeguardActive[] = _("{DEFENDING_MON} is protected\nby SAFEGUARD!");
+const u8 BattleText_SafeguardFaded[] = _("{STRING 40}’s SAFEGUARD\nfaded!");
+const u8 BattleText_WentToSleep[] = _("{ATTACKING_MON} went\nto sleep!");
+const u8 BattleText_SpeltHealthy[] = _("{ATTACKING_MON} slept and\nbecame healthy!");
+const u8 BattleText_WhipWhirlwind[] = _("{ATTACKING_MON} whipped\nup a whirlwind!");
+const u8 BattleText_TookSunlight[] = _("{ATTACKING_MON} took\nin sunlight!");
+const u8 BattleText_LoweredHead[] = _("{ATTACKING_MON} lowered\nits head!");
+const u8 BattleText_IsGlowing[] = _("{ATTACKING_MON} is glowing!");
+const u8 BattleText_FlewHigh[] = _("{ATTACKING_MON} flew\nup high!");
+const u8 BattleText_DugHole[] = _("{ATTACKING_MON} dug a hole!");
+const u8 BattleText_HidUnderwater[] = _("{ATTACKING_MON} hid\nunderwater!");
+const u8 BattleText_SprangUp[] = _("{ATTACKING_MON} sprang up!");
+const u8 BattleText_SqueezedBind[] = _("{DEFENDING_MON} was squeezed by\n{ATTACKING_MON}’s BIND!");
+const u8 BattleText_TrappedVortex[] = _("{DEFENDING_MON} was trapped\nin the vortex!");
+const u8 BattleText_SandTombTrapped[] = _("{DEFENDING_MON} was trapped\nby SAND TOMB!");
+const u8 BattleText_Wrapped[] = _("{DEFENDING_MON} was WRAPPED by\n{ATTACKING_MON}!");
+const u8 BattleText_Clamped[] = _("{ATTACKING_MON} CLAMPED\n{DEFENDING_MON}!");
+const u8 BattleText_HurtBy[] = _("{ATTACKING_MON} is hurt\nby {STRING 0}!");
+const u8 BattleText_FreedFrom[] = _("{ATTACKING_MON} was freed\nfrom {STRING 0}!");
+const u8 BattleText_KeptGoingCrash[] = _("{ATTACKING_MON} kept going\nand crashed!");
+const u8 BattleText_MistShroud[] = _("{STRING 38} became\nshrouded in MIST!");
+const u8 BattleText_MistProtect[] = _("{STRING 16} is protected\nby MIST!");
+const u8 BattleText_GetPumped[] = _("{ATTACKING_MON} is getting\npumped!");
+const u8 BattleText_HitRecoil[] = _("{ATTACKING_MON} is hit\nwith recoil!");
+const u8 BattleText_ProtectedItself2[] = _("{ATTACKING_MON} protected\nitself!");
+const u8 BattleText_SandBuffeted[] = _("{ATTACKING_MON} is buffeted\nby the sandstorm!");
+const u8 BattleText_HailStricken[] = _("{ATTACKING_MON} is stricken\nby HAIL!");
+const u8 BattleText_WoreOff[] = _("{STRING 36}’s {STRING 0}\nwore off!");
+const u8 BattleText_WasSeeded[] = _("{DEFENDING_MON} was seeded!");
+const u8 BattleText_EvadedAttack[] = _("{DEFENDING_MON} evaded\nthe attack!");
+const u8 BattleText_HealthSapped[] = _("{ATTACKING_MON}’s health is\nsapped by LEECH SEED!");
+const u8 BattleText_FastAsleep[] = _("{ATTACKING_MON} is fast\nasleep.");
+const u8 BattleText_WokeUp[] = _("{ATTACKING_MON} woke up!");
+const u8 BattleText_UproarAwake[] = _("But {STRING 16}’s UPROAR\nkept it awake!");
+const u8 BattleText_UproarWoke[] = _("{ATTACKING_MON} woke up\nin the UPROAR!");
+const u8 BattleText_UproarCaused[] = _("{ATTACKING_MON} caused\nan UPROAR!");
+const u8 BattleText_UproarMaking[] = _("{ATTACKING_MON} is making\nan UPROAR!");
+const u8 BattleText_CalmedDown[] = _("{ATTACKING_MON} calmed down.");
+const u8 BattleText_UproarCantSleep[] = _("But {DEFENDING_MON} can’t\nsleep in an UPROAR!");
+const u8 BattleText_Stockpiled[] = _("{ATTACKING_MON} STOCKPILED\n{STRING 0}!");
+const u8 BattleText_StockpiledCant[] = _("{ATTACKING_MON} can’t\nSTOCKPILE any more!");
+const u8 BattleText_UproarCantSleep2[] = _("But {DEFENDING_MON} can’t\nsleep in an UPROAR!");
+const u8 BattleText_UproarKeptAwake[] = _("But the UPROAR kept\n{DEFENDING_MON} awake!");
+const u8 BattleText_StayedAwake[] = _("{DEFENDING_MON} stayed awake\nusing its {STRING 22}!");
+const u8 BattleText_StoringEnergy[] = _("{ATTACKING_MON} is storing\nenergy!");
+const u8 BattleText_UnleashedEnergy[] = _("{ATTACKING_MON} unleashed\nenergy!");
+const u8 BattleText_FatigueConfuse[] = _("{ATTACKING_MON} became\nconfused out of fatigue!");
+const u8 BattleText_PickedUpYen[] = _("{STRING 32} picked up\n¥{STRING 0}!\p");
+const u8 BattleText_Unaffected[] = _("{DEFENDING_MON} is\nunaffected!");
+const u8 BattleText_Transformed[] = _("{ATTACKING_MON} transformed\ninto {STRING 0}!");
+const u8 BattleText_SubMade[] = _("{ATTACKING_MON} made\na SUBSTITUTE!");
+const u8 BattleText_SubAlready[] = _("{ATTACKING_MON} already\nhas a SUBSTITUTE!");
+const u8 BattleText_SubTookDamage[] = _("The SUBSTITUTE took damage\nfor {DEFENDING_MON}!\p");
+const u8 BattleText_SubFaded[] = _("{DEFENDING_MON}’s\nSUBSTITUTE faded!\p");
+const u8 BattleText_MustRecharge[] = _("{ATTACKING_MON} must\nrecharge!");
+const u8 BattleText_RageBuilding[] = _("{DEFENDING_MON}’s RAGE\nis building!");
+const u8 BattleText_MoveWasDisabled[] = _("{DEFENDING_MON}’s {STRING 0}\nwas disabled!");
+const u8 BattleText_DisabledNoMore[] = _("{ATTACKING_MON} is disabled\nno more!");
+const u8 BattleText_EncoreGot[] = _("{DEFENDING_MON} got\nan ENCORE!");
+const u8 BattleText_EncoreEnded[] = _("{ATTACKING_MON}’s ENCORE\nended!");
+const u8 BattleText_TookAim[] = _("{ATTACKING_MON} took aim\nat {DEFENDING_MON}!");
+const u8 BattleText_SketchedMove[] = _("{ATTACKING_MON} SKETCHED\n{STRING 0}!");
+const u8 BattleText_DestinyBondTake[] = _("{ATTACKING_MON} is trying\nto take its foe with it!");
+const u8 BattleText_DestinyBondTaken[] = _("{DEFENDING_MON} took\n{ATTACKING_MON} with it!");
+const u8 BattleText_ReducedBy[] = _("Reduced {DEFENDING_MON}’s\n{STRING 0} by {STRING 1}!");
+const u8 BattleText_StoleSomething[] = _("{ATTACKING_MON} stole\n{DEFENDING_MON}’s {STRING 19}!");
+const u8 BattleText_CantEscapeNow[] = _("{DEFENDING_MON} can’t\nescape now!");
+const u8 BattleText_NightmareStart[] = _("{DEFENDING_MON} fell into\na NIGHTMARE!");
+const u8 BattleText_NightmareLock[] = _("{ATTACKING_MON} is locked\nin a NIGHTMARE!");
+const u8 BattleText_CurseLay[] = _("{ATTACKING_MON} cut its own HP\nand laid a CURSE on\l{DEFENDING_MON}!");
+const u8 BattleText_CurseAfflict[] = _("{ATTACKING_MON} is afflicted\nby the CURSE!");
+const u8 BattleText_SpikesScattered[] = _("{STRING 37} POKéMON team had SPIKES\nscattered around it!");
+const u8 BattleText_SpikesHurt[] = _("{STRING 16} is hurt\nby SPIKES!");
+const u8 BattleText_IdentifiedPoke[] = _("{ATTACKING_MON} identified\n{DEFENDING_MON}!");
+const u8 BattleText_PerishSongFell[] = _("{ATTACKING_MON}’s PERISH count\nfell to {STRING 0}!");
+const u8 BattleText_BracedItself[] = _("{ATTACKING_MON} braced\nitself!");
+const u8 BattleText_EnduredHit[] = _("{DEFENDING_MON} ENDURED\nthe hit!");
+const u8 BattleText_MagnitudeCount[] = _("MAGNITUDE {STRING 0}!");
+const u8 BattleText_CutHPMaxATK[] = _("{ATTACKING_MON} cut its own HP\nand maximized ATTACK!");
+const u8 BattleText_CopyStatChanges[] = _("{ATTACKING_MON} copied\n{DEFENDING_MON}’s stat changes!");
+const u8 BattleText_GotFreeFrom[] = _("{ATTACKING_MON} got free of\n{DEFENDING_MON}’s {STRING 0}!");
+const u8 BattleText_LeechShed[] = _("{ATTACKING_MON} shed\nLEECH SEED!");
+const u8 BattleText_SpikesBlownAway[] = _("{ATTACKING_MON} blew away\nSPIKES!");
+const u8 BattleText_FledBattle[] = _("{ATTACKING_MON} fled from\nbattle!");
+const u8 BattleText_ForesawAttack[] = _("{ATTACKING_MON} foresaw\nan attack!");
+const u8 BattleText_TookAttack[] = _("{DEFENDING_MON} took\n{STRING 0}’s attack!");
+const u8 BattleText_ChoseDestiny[] = _("{ATTACKING_MON} chose\n{STRING 17} as its destiny!");
+const u8 BattleText_PokeAttack[] = _("{STRING 0}’s attack!");
+const u8 BattleText_CenterAttention[] = _("{ATTACKING_MON} became the\ncenter of attention!");
+const u8 BattleText_ChargingPower[] = _("{ATTACKING_MON} began\ncharging power!");
+const u8 BattleText_NaturePower[] = _("NATURE POWER turned into\n{STRING 17}!");
+const u8 BattleText_StatusNormal[] = _("{ATTACKING_MON}’s status\nreturned to normal!");
+const u8 BattleText_TormentSubject[] = _("{DEFENDING_MON} was subjected\nto TORMENT!");
+const u8 BattleText_TightenFocus[] = _("{ATTACKING_MON} is tightening\nits focus!");
+const u8 BattleText_TauntFell[] = _("{DEFENDING_MON} fell for\nthe TAUNT!");
+const u8 BattleText_ReadyToHelp[] = _("{ATTACKING_MON} is ready to\nhelp {DEFENDING_MON}!");
+const u8 BattleText_SwitchedItems[] = _("{ATTACKING_MON} switched\nitems with its opponent!");
+const u8 BattleText_Obtained1[] = _("{ATTACKING_MON} obtained\n{STRING 0}.");
+const u8 BattleText_Obtained2[] = _("{DEFENDING_MON} obtained\n{STRING 1}.");
+const u8 BattleText_Obtained3[] = _("{ATTACKING_MON} obtained\n{STRING 0}.\p{DEFENDING_MON} obtained\n{STRING 1}.");
+const u8 BattleText_CopiedObject[] = _("{ATTACKING_MON} copied\n{DEFENDING_MON}’s {STRING 22}!");
+const u8 BattleText_WishMade[] = _("{ATTACKING_MON} made a WISH!");
+const u8 BattleText_WishTrue[] = _("{STRING 0}’s WISH\ncame true!");
+const u8 BattleText_PlantedRoots[] = _("{ATTACKING_MON} planted its roots!");
+const u8 BattleText_AbsorbNutrients[] = _("{ATTACKING_MON} absorbed\nnutrients with its roots!");
+const u8 BattleText_AnchoredItself[] = _("{DEFENDING_MON} anchored\nitself with its roots!");
+const u8 BattleText_DrowsyMade[] = _("{ATTACKING_MON} made\n{DEFENDING_MON} drowsy!");
+const u8 BattleText_KnockedOffItem[] = _("{ATTACKING_MON} knocked off\n{DEFENDING_MON}’s {STRING 19}!");
+const u8 BattleText_AbilitySwap[] = _("{ATTACKING_MON} swapped abilities\nwith its opponent!");
+const u8 BattleText_SealedMove[] = _("{ATTACKING_MON} sealed the\nopponent’s move(s)!");
+const u8 BattleText_GrudgeBear[] = _("{ATTACKING_MON} wants the\nopponent to bear a GRUDGE!");
+const u8 BattleText_GrudgeLosePP[] = _("{ATTACKING_MON}’s {STRING 0}\nlost all its PP due to\lthe GRUDGE!");
+const u8 BattleText_ShroudedItself[] = _("{ATTACKING_MON} shrouded\nitself in {STRING 17}!");
+const u8 BattleText_MagicCoatBounce[] = _("{ATTACKING_MON}’s {STRING 17}\nwas bounced back by MAGIC COAT!");
+const u8 BattleText_AwaitMove[] = _("{ATTACKING_MON} awaits its foe\nto make a move!");
+const u8 BattleText_SnatchedMove[] = _("{DEFENDING_MON} SNATCHED\n{STRING 16}’s move!");
+const u8 BattleText_ElecWeakened[] = _("Electricity’s power was\nweakened!");
+const u8 BattleText_FireWeakened[] = _("Fire’s power was\nweakened!");
+const u8 BattleText_FoundOne[] = _("{ATTACKING_MON} found\none {STRING 19}!");
+const u8 BattleText_SoothingAroma[] = _("A soothing aroma wafted\nthrough the area!");
+const u8 BattleText_CantUseItems[] = _("Items can’t be used now.{PAUSE 64}");
+const u8 BattleText_UnknownString2[] = _("For {STRING 16},\n{STRING 19} {STRING 0}");
+const u8 BattleText_HustleUse[] = _("{STRING 16} used\n{STRING 19} to hustle!");
+const u8 BattleText_LostFocus[] = _("{ATTACKING_MON} lost its\nfocus and couldn’t move!");
+const u8 BattleText_DraggedOut[] = _("{DEFENDING_MON} was\ndragged out!\p");
+const u8 BattleText_BrokeWall[] = _("The wall shattered!");
+const u8 BattleText_NoEffect[] = _("But it had no effect!");
+const u8 BattleText_NoMovesLeft[] = _("{STRING 15} has no\nmoves left!\p");
+const u8 BattleText_MoveIsDisabled[] = _("{STRING 15}’s {STRING 17}\nis disabled!\p");
+const u8 BattleText_TormentNoUse[] = _("{STRING 15} can’t use the same\nmove twice in a row due to the TORMENT!\p");
+const u8 BattleText_TauntNoUse[] = _("{STRING 15} can’t use\n{STRING 17} after the TAUNT!\p");
+const u8 BattleText_SealedNoUse[] = _("{STRING 15} can’t use the\nsealed {STRING 17}!\p");
+const u8 BattleText_RainMade[] = _("{STRING 16}’s {STRING 23}\nmade it rain!");
+const u8 BattleText_SpeedRisen[] = _("{STRING 16}’s {STRING 23}\nraised its SPEED!");
+const u8 BattleText_ProtectedBy[] = _("{DEFENDING_MON} was protected\nby {STRING 22}!");
+const u8 BattleText_PreventedBy[] = _("{DEFENDING_MON}’s {STRING 22}\nprevents {ATTACKING_MON}\lfrom using {STRING 17}!");
+const u8 BattleText_HPRestoredUsing[] = _("{DEFENDING_MON} restored HP\nusing its {STRING 22}!");
+const u8 BattleText_MadeUseless[] = _("{DEFENDING_MON}’s {STRING 22}\nmade {STRING 17} useless!");
+const u8 BattleText_MadeType[] = _("{DEFENDING_MON}’s {STRING 22}\nmade it the {STRING 0} type!");
+const u8 BattleText_PreventedPara[] = _("{STRING 14}’s {STRING 22}\nprevents paralysis!");
+const u8 BattleText_PreventedRomance[] = _("{DEFENDING_MON}’s {STRING 22}\nprevents romance!");
+const u8 BattleText_PreventedPoison[] = _("{STRING 14}’s {STRING 22}\nprevents poisoning!");
+const u8 BattleText_PreventedConfusion[] = _("{DEFENDING_MON}’s {STRING 22}\nprevents confusion!");
+const u8 BattleText_RaisedFirePower[] = _("{DEFENDING_MON}’s {STRING 22}\nraised its FIRE power!");
+const u8 BattleText_AnchorsItself[] = _("{DEFENDING_MON} anchors\nitself with {STRING 22}!");
+const u8 BattleText_CutsAttack[] = _("{STRING 16}’s {STRING 23}\ncuts {DEFENDING_MON}’s ATTACK!");
+const u8 BattleText_PreventedStatLoss[] = _("{STRING 16}’s {STRING 23}\nprevents stat loss!");
+const u8 BattleText_HurtOther[] = _("{DEFENDING_MON}’s {STRING 22}\nhurt {ATTACKING_MON}!");
+const u8 BattleText_Traced[] = _("{STRING 16} TRACED\n{STRING 0}’s {STRING 1}!");
+const u8 BattleText_PreventedBurn[] = _("{STRING 14}’s {STRING 24}\nprevents burns!");
+const u8 BattleText_BlocksOther[] = _("{DEFENDING_MON}’s {STRING 22}\nblocks {STRING 17}!");
+const u8 BattleText_BlocksOther2[] = _("{STRING 16}’s {STRING 23}\nblocks {STRING 17}!");
+const u8 BattleText_RestoredHPByItem[] = _("{ATTACKING_MON}’s {STRING 21}\nrestored some HP!");
+const u8 BattleText_WhipSandstorm[] = _("{STRING 16}’s {STRING 23}\nwhipped up a sandstorm!");
+const u8 BattleText_SunIntensified[] = _("{STRING 16}’s {STRING 23}\nintensified the sun’s rays!");
+const u8 BattleText_PreventedLoss[] = _("{STRING 16}’s {STRING 23}\nprevents {STRING 0} loss!");
+const u8 BattleText_InfatuatedPoke[] = _("{DEFENDING_MON}’s {STRING 22}\ninfatuated {ATTACKING_MON}!");
+const u8 BattleText_MadeIneffective[] = _("{DEFENDING_MON}’s {STRING 22}\nmade {STRING 17} ineffective!");
+const u8 BattleText_CuredProblem[] = _("{STRING 16}’s {STRING 23}\ncured its {STRING 0} problem!");
+const u8 BattleText_OozeSuckup[] = _("It sucked up the\nLIQUID OOZE!");
+const u8 BattleText_Transformed2[] = _("{STRING 16} transformed!");
+const u8 BattleText_TookAttack2[] = _("{DEFENDING_MON}’s {STRING 22}\ntook the attack!");
+const u8 BattleText_PreventedSwitch[] = _("{STRING 0}’s {STRING 20}\nprevents switching!\p");
+const u8 BattleText_PreventedOther[] = _("{DEFENDING_MON}’s {STRING 22}\nprevented {STRING 16}’s\l{STRING 0} from working!");
+const u8 BattleText_MadeIneffective2[] = _("{STRING 16}’s {STRING 23}\nmade it ineffective!");
+const u8 BattleText_PreventedFlinching[] = _("{STRING 14}’s {STRING 24}\nprevents flinching!");
+const u8 BattleText_PreventedOther2[] = _("{ATTACKING_MON}’s {STRING 21}\nprevents {DEFENDING_MON}’s\l{STRING 22} from working!");
+const u8 BattleText_CuredOfProblem[] = _("{STRING 16}’s {STRING 23}\ncured its {STRING 0} problem!");
+const u8 BattleText_NoEffectOn[] = _("{STRING 16}’s {STRING 23}\nhad no effect on {STRING 14}!");
+const u8 BattleText_Sharply[] = _("sharply ");
+const u8 BattleText_Rose[] = _("rose!");
+const u8 BattleText_Harshly[] = _("harshly ");
+const u8 BattleText_Fell[] = _("fell!");
+const u8 BattleText_UnknownString7[] = _("{ATTACKING_MON}’s {STRING 0}\n{STRING 1}");
+const u8 BattleText_UnknownString3[] = _("{DEFENDING_MON}’s {STRING 0}\n{STRING 1}");
+const u8 BattleText_UnknownString4[] = _("Using {STRING 19}, the {STRING 0}\nof {STRING 16} {STRING 1}");
+const u8 BattleText_UnknownString5[] = _("{ATTACKING_MON}’s {STRING 0}\n{STRING 1}");
+const u8 BattleText_UnknownString6[] = _("{DEFENDING_MON}’s {STRING 0}\n{STRING 1}");
+const u8 BattleText_StatNoHigher[] = _("{ATTACKING_MON}’s stats won’t\ngo any higher!");
+const u8 BattleText_StatNoLower[] = _("{DEFENDING_MON}’s stats won’t\ngo any lower!");
+const u8 BattleText_Critical[] = _("A critical hit!");
+const u8 BattleText_GrandSlam[] = _("It’s a one-hit KO!");
+const u8 BattleText_MoveForget123[] = _("{PAUSE 32}1, {PAUSE 15}2 and...{PAUSE 15} ...{PAUSE 15} ...{PAUSE 15}\n{PAUSE 15}{PLAY_SE SE_KON}Poof!\p");
+const u8 BattleText_MoveForgetAnd[] = _("And...\p");
+const u8 BattleText_CantForgetHM[] = _("HM moves can’t be\nforgotten now.\p");
+const u8 BattleText_NotEffective[] = _("It’s not very effective...");
+const u8 BattleText_SuperEffective[] = _("It’s super effective!");
+const u8 BattleText_GotAwaySafely[] = _("{PLAY_SE SE_NIGERU}Got away safely!\p");
+const u8 BattleText_FledUsingItem[] = _("{PLAY_SE SE_NIGERU}{ATTACKING_MON} fled\nusing its {STRING 19}!\p");
+const u8 BattleText_FledUsingOther[] = _("{PLAY_SE SE_NIGERU}{ATTACKING_MON} fled\nusing {STRING 21}!\p");
+const u8 BattleText_FledWild[] = _("{PLAY_SE SE_NIGERU}Wild {STRING 0} fled!");
+const u8 BattleText_PlayerDefeatedTrainer[] = _("Player defeated\n{STRING 29}!");
+const u8 BattleText_PlayerDefeatedTrainers[] = _("Player beat {STRING 30}\nand {STRING 29}!");
+const u8 BattleText_PlayerLostTrainer[] = _("Player lost against\n{STRING 29}!");
+const u8 BattleText_PlayerLostTrainers[] = _("Player lost to {STRING 30}\nand {STRING 29}!");
+const u8 BattleText_PlayerTiedTrainer[] = _("Player tied against\n{STRING 29}!");
+const u8 BattleText_PlayerTiedTrainers[] = _("Player tied against {STRING 30}\nand {STRING 29}!");
+const u8 BattleText_FledSingle[] = _("{PLAY_SE SE_NIGERU}{STRING 29} fled!");
+const u8 BattleText_FledDouble[] = _("{PLAY_SE SE_NIGERU}{STRING 29} and\n{STRING 30} fled!");
+const u8 BattleText_NoRunning[] = _("No! There’s no running\nfrom a TRAINER battle!\p");
+const u8 BattleText_CantEscape2[] = _("Can’t escape!\p");
+const u8 BattleText_BirchDontLeaveMe[] = _("PROF. BIRCH: D-don’t leave\nme here like this!\p");
+const u8 BattleText_Nothing[] = _("But nothing happened!");
+const u8 BattleText_Failed[] = _("But it failed!");
+const u8 BattleText_HurtItself[] = _("It hurt itself in its\nconfusion!");
+const u8 BattleText_MirrorFail[] = _("The MIRROR MOVE failed!");
+const u8 BattleText_RainStart[] = _("It started to rain!");
+const u8 BattleText_PourStart[] = _("A downpour started!");
+const u8 BattleText_RainCont1[] = _("Rain continues to fall.");
+const u8 BattleText_PourCont[] = _("The downpour continues.");
+const u8 BattleText_RainStop[] = _("The rain stopped.");
+const u8 BattleText_SandBrewed[] = _("A sandstorm brewed!");
+const u8 BattleText_SandRages[] = _("The sandstorm rages.");
+const u8 BattleText_SandSubsided[] = _("The sandstorm subsided.");
+const u8 BattleText_SunBright[] = _("The sunlight got bright!");
+const u8 BattleText_SunStrong[] = _("The sunlight is strong.");
+const u8 BattleText_SunFaded[] = _("The sunlight faded.");
+const u8 BattleText_HailStart[] = _("It started to hail!");
+const u8 BattleText_HailCont[] = _("Hail continues to fall.");
+const u8 BattleText_HailStop[] = _("The hail stopped.");
+const u8 BattleText_SpitUpFail[] = _("But it failed to SPIT UP\na thing!");
+const u8 BattleText_SwallowFail[] = _("But it failed to SWALLOW\na thing!");
+const u8 BattleText_WindHeatWave[] = _("The wind turned into a\nHEAT WAVE!");
+const u8 BattleText_StatElim[] = _("All stat changes were\neliminated!");
+const u8 BattleText_CoinScatter[] = _("Coins scattered everywhere!");
+const u8 BattleText_SubWeak[] = _("It was too weak to make\na SUBSTITUTE!");
+const u8 BattleText_PainSplit[] = _("The battlers shared\ntheir pain!");
+const u8 BattleText_BellChime[] = _("A bell chimed!");
+const u8 BattleText_PerishSong[] = _("All affected POKéMON will\nfaint in 3 turns!");
+const u8 BattleText_NoPP1[] = _("There’s no PP left for\nthis move!\p");
+const u8 BattleText_NoPP2[] = _("But there was no PP left\nfor the move!");
+const u8 BattleText_IgnoredOrdersSLP[] = _("{ATTACKING_MON} ignored\norders while asleep!");
+const u8 BattleText_IgnoredOrders[] = _("{ATTACKING_MON} ignored\norders!");
+const u8 BattleText_BeganNap[] = _("{ATTACKING_MON} began to nap!");
+const u8 BattleText_LoafingAround[] = _("{ATTACKING_MON} is\nloafing around!");
+const u8 BattleText_WontObey[] = _("{ATTACKING_MON} won’t\nobey!");
+const u8 BattleText_TurnedAway[] = _("{ATTACKING_MON} turned away!");
+const u8 BattleText_NotNotice[] = _("{ATTACKING_MON} pretended\nto not notice!");
+const u8 BattleText_WillSwitch[] = _("{STRING 25} {STRING 26} is\nabout to use {STRING 1}.\pWill {STRING 32} change\nPOKéMON?");
+const u8 BattleText_LearnedMove2[] = _("{ATTACKING_MON} learned\n{STRING 0}!");
+const u8 BattleText_PlayerDefeatedTrainer2[] = _("Player defeated\n{STRING 25} {STRING 26}!\p");
+const u8 BattleText_CreptCloser[] = _("{STRING 32} crept closer to\n{STRING 3}!");
+const u8 BattleText_CantGetCloser[] = _("{STRING 32} can’t get any closer!");
+const u8 BattleText_WatchingCarefully[] = _("{STRING 3} is watching\ncarefully!");
+const u8 BattleText_CuriousAbout[] = _("{STRING 3} is curious about\nthe {STRING 0}!");
+const u8 BattleText_EnthralledBy[] = _("{STRING 3} is enthralled by\nthe {STRING 0}!");
+const u8 BattleText_IgnoredThing[] = _("{STRING 3} completely ignored\nthe {STRING 0}!");
+const u8 BattleText_ThrewBlock[] = _("{STRING 32} threw a {POKEBLOCK}\nat the {STRING 3}!");
+const u8 BattleText_SafariOver[] = _("{PLAY_SE SE_PINPON}ANNOUNCER: You’re out of\nSAFARI BALLS! Game over!\p");
+const u8 BattleText_WildAppeared1[] = _("Wild {STRING 3} appeared!\p");
+const u8 BattleText_WildAppeared2[] = _("Wild {STRING 3} appeared!\p");
+const u8 BattleText_WildAppeared3[] = _("Wild {STRING 3} appeared!{PAUSE 127}");
+const u8 BattleText_WildDoubleAppeared[] = _("Wild {STRING 5} and\n{STRING 3} appeared!\p");
+const u8 BattleText_SingleWantToBattle1[] = _("{STRING 25} {STRING 26}\nwould like to battle!\p");
+const u8 BattleText_SingleWantToBattle2[] = _("{STRING 29}\nwants to battle!");
+const u8 BattleText_DoubleWantToBattle[] = _("{STRING 29} and {STRING 30}\nwant to battle!");
+const u8 BattleText_SentOutSingle1[] = _("{STRING 25} {STRING 26} sent\nout {STRING 3}!");
+const u8 BattleText_SentOutDouble1[] = _("{STRING 25} {STRING 26} sent\nout {STRING 3} and {STRING 5}!");
+const u8 BattleText_SentOutSingle2[] = _("{STRING 25} {STRING 26} sent\nout {STRING 0}!");
+const u8 BattleText_SentOutSingle3[] = _("{STRING 29} sent\nout {STRING 3}!");
+const u8 BattleText_SentOutDouble2[] = _("{STRING 29} sent out\n{STRING 3} and {STRING 5}!");
+const u8 BattleText_SentOutDouble3[] = _("{STRING 29} sent out\n{STRING 7}!\p{STRING 30} sent out\n{STRING 9}!");
+const u8 BattleText_SentOutSingle4[] = _("{STRING 29} sent out\n{STRING 0}!");
+const u8 BattleText_SentOutSingle5[] = _("{STRING 31} sent out\n{STRING 0}!");
+const u8 BattleText_SentOutSingle6[] = _("Go! {STRING 2}!");
+const u8 BattleText_SentOutDouble4[] = _("Go! {STRING 2} and\n{STRING 4}!");
+const u8 BattleText_SentOutSingle7[] = _("Go! {STRING 0}!");
+const u8 BattleText_SentOutSingle8[] = _("Do it! {STRING 0}!");
+const u8 BattleText_SentOutSingle9[] = _("Go for it, {STRING 0}!");
+const u8 BattleText_SentOutSingle10[] = _("Your foe’s weak!\nGet’m, {STRING 0}!");
+const u8 BattleText_SentOutSingle11[] = _("{STRING 28} sent out\n{STRING 8}!\pGo! {STRING 6}!");
+const u8 BattleText_ComeBackSingle1[] = _("{STRING 0}, that’s enough!\nCome back!");
+const u8 BattleText_ComeBackSingle2[] = _("{STRING 0}, come back!");
+const u8 BattleText_ComeBackSingle3[] = _("{STRING 0}, OK!\nCome back!");
+const u8 BattleText_ComeBackSingle4[] = _("{STRING 0}, good!\nCome back!");
+const u8 BattleText_WithdrewPoke1[] = _("{STRING 25} {STRING 26}\nwithdrew {STRING 0}!");
+const u8 BattleText_WithdrewPoke2[] = _("{STRING 29} withdrew\n{STRING 0}!");
+const u8 BattleText_WithdrewPoke3[] = _("{STRING 31} withdrew\n{STRING 0}!");
+const u8 BattleText_Wild[] = _("Wild ");
+const u8 BattleText_Foe[] = _("Foe ");
+const u8 BattleText_Foe2[] = _("Foe ");
+const u8 BattleText_Ally[] = _("Ally ");
+const u8 BattleText_Foe3[] = _("Foe ");
+const u8 BattleText_Ally2[] = _("Ally ");
+const u8 BattleText_Foe4[] = _("Foe ");
+const u8 BattleText_Ally3[] = _("Ally ");
+const u8 BattleText_OpponentUsedMove[] = _("{ATTACKING_MON} used\n{STRING 1}");
+const u8 BattleText_Exclamation2[] = _("!");
+const u8 BattleText_Exclamation3[] = _("!");
+const u8 BattleText_Exclamation4[] = _("!");
+const u8 BattleText_Exclamation5[] = _("!");
+const u8 BattleText_Exclamation[] = _("!");
+const u8 BattleStatText_HP[] = _("HP");
+const u8 BattleStatText_Attack[] = _("ATTACK");
+const u8 BattleStatText_Defense[] = _("DEFENSE");
+const u8 BattleStatText_Speed[] = _("SPEED");
+const u8 BattleStatText_SpAtk[] = _("SP. ATK");
+const u8 BattleStatText_SpDef[] = _("SP. DEF");
+const u8 BattleStatText_Accuracy[] = _("accuracy");
+const u8 BattleStatText_Evasion[] = _("evasiveness");
+const u8 ContestStatText_TooSpicy[] = _("was too spicy!");
+const u8 ContestStatText_TooDry[] = _("was too dry!");
+const u8 ContestStatText_TooSweet[] = _("was too sweet!");
+const u8 ContestStatText_TooBitter[] = _("was too bitter!");
+const u8 ContestStatText_TooSour[] = _("was too sour!");
+const u8 BattleText_Used1[] = _("{STRING 32} used\n{STRING 19}!");
+const u8 BattleText_TutorialUsed[] = _("WALLY used\n{STRING 19}!");
+const u8 BattleText_Used2[] = _("{STRING 25} {STRING 26}\nused {STRING 19}!");
+const u8 BattleText_BlockBall[] = _("The TRAINER blocked the BALL!");
+const u8 BattleText_DontBeAThief[] = _("Don’t be a thief!");
+const u8 BattleText_DodgeBall[] = _("It dodged the thrown BALL!\nThis POKéMON can’t be caught!");
+const u8 BattleText_MissPoke[] = _("You missed the POKéMON!");
+const u8 BattleText_BallBrokeOhNo[] = _("Oh, no!\nThe POKéMON broke free!");
+const u8 BattleText_BallBrokeAppeared[] = _("Aww!\nIt appeared to be caught!");
+const u8 BattleText_BallBrokeAlmost[] = _("Aargh!\nAlmost had it!");
+const u8 BattleText_BallBrokeSoClose[] = _("Shoot!\nIt was so close, too!");
+const u8 BattleText_BallCaught1[] = _("Gotcha!\n{STRING 3} was caught!{UNKNOWN_A}{PLAY_BGM BGM_KACHI22}\p");
+const u8 BattleText_BallCaught2[] = _("Gotcha!\n{STRING 3} was caught!{UNKNOWN_A}{PLAY_BGM BGM_KACHI22}{PAUSE 127}");
+const u8 BattleText_GiveNickname[] = _("Give a nickname to the\ncaptured {STRING 3}?");
+const u8 BattleText_SentToPC[] = _("{STRING 3} was sent to\n{STRING 35} PC.");
+const u8 BattleText_Someone[] = _("someone’s");
+const u8 BattleText_Lanette[] = _("LANETTE’s");
+const u8 BattleText_AddedToDex[] = _("{STRING 3}’s data was\nadded to the POKéDEX.\p");
+const u8 BattleText_Raining[] = _("It is raining.");
+const u8 BattleText_Sandstorm[] = _("A sandstorm is raging.");
+const u8 BattleText_BoxFull[] = _("The BOX is full!\nYou can’t catch any more!\p");
+const u8 BattleText_EnigmaBerry[] = _("ENIGMA BERRY");
+const u8 BattleText_Berry[] = _(" BERRY");
+const u8 BattleText_CuredParalysis[] = _("{STRING 16}’s {STRING 19}\ncured paralysis!");
+const u8 BattleText_CuredPoison[] = _("{STRING 16}’s {STRING 19}\ncured poison!");
+const u8 BattleText_CuredBurn[] = _("{STRING 16}’s {STRING 19}\nhealed its burn!");
+const u8 BattleText_CuredFreeze[] = _("{STRING 16}’s {STRING 19}\ndefrosted it!");
+const u8 BattleText_CuredSleep[] = _("{STRING 16}’s {STRING 19}\nwoke it from its sleep!");
+const u8 BattleText_CuredConfusion[] = _("{STRING 16}’s {STRING 19}\nsnapped it out of confusion!");
+const u8 BattleText_CuredStatus[] = _("{STRING 16}’s {STRING 19}\ncured its {STRING 0} problem!");
+const u8 BattleText_NormalizedStatus[] = _("{STRING 16}’s {STRING 19}\nnormalized its status!");
+const u8 BattleText_RestoredHealth[] = _("{STRING 16}’s {STRING 19}\nrestored health!");
+const u8 BattleText_RestoredPP[] = _("{STRING 16}’s {STRING 19}\nrestored {STRING 0}’s PP!");
+const u8 BattleText_RestoredStatus[] = _("{STRING 16}’s {STRING 19}\nrestored its status!");
+const u8 BattleText_RestoredHPLittle[] = _("{STRING 16}’s {STRING 19}\nrestored its HP a little!");
+const u8 BattleText_ChoiceBand[] = _("{STRING 19} allows the\nuse of only {STRING 17}!\p");
+const u8 BattleText_FocusSash[] = _("{DEFENDING_MON} hung on\nusing its {STRING 19}!");
+const u8 BattleText_Terminator2[] = _("");
+const u8 BattleText_WallyBall[] = _("You throw a BALL now, right?\nI... I’ll do my best!");
+const u8 BattleText_StartEvo[] = _("What?\n{STRING 2} is evolving!");
+const u8 BattleText_FinishEvo[] = _("Congratulations! Your {STRING 2}\nevolved into {STRING 3}!{UNKNOWN_A}\p");
+const u8 BattleText_StopEvo[] = _("Huh? {STRING 2}\nstopped evolving!\p");
+const u8 BattleText_OtherMenu[] = _("What should\n{STRING 15} do?");
+const u8 BattleText_PlayerMenu[] = _("What will\n{STRING 32} do?");
+const u8 BattleText_WallyMenu[] = _("What will\nWALLY do?");
+const u8 BattleText_LinkStandby[] = _("{PAUSE 16}Link standby...");
+const u8 BattleText_MenuOptions[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW SKY_BLUE LIGHT_BLUE WHITE2}FIGHT{CLEAR_TO 0x2E}BAG\nPOKéMON{CLEAR_TO 0x2E}RUN");
+const u8 BattleText_MenuOptionsSafari[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW SKY_BLUE LIGHT_BLUE WHITE2}BALL{CLEAR_TO 0x2E}{POKEBLOCK}\nGO NEAR{CLEAR_TO 0x2E}RUN");
+const u8 BattleText_PP[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW SKY_BLUE LIGHT_BLUE WHITE2}PP\nTYPE/");
+const u8 BattleText_Format[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW SKY_BLUE LIGHT_BLUE WHITE2}"); // cant think of a better name
+const u8 BattleText_ForgetMove[] = _("{COLOR_HIGHLIGHT_SHADOW SKY_BLUE LIGHT_BLUE WHITE2}{PALETTE 5}Which move should\nbe forgotten?");
+const u8 BattleText_YesNo[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW SKY_BLUE LIGHT_BLUE WHITE2}Yes\nNo");
+const u8 BattleText_SwitchWhich[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW SKY_BLUE LIGHT_BLUE WHITE2}Switch\nwhich?");
+const u8 BattleText_Format2[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW SKY_BLUE LIGHT_BLUE WHITE2}");
+const u8 BattleText_RightArrow[] = _("{RIGHT_ARROW}");
+const u8 BattleText_Plus[] = _("+");
+const u8 BattleText_Dash[] = _("-");
+const u8 BattleText_HP[] = _("HP ");
+const u8 BattleText_Attack[] = _("ATTACK ");
+const u8 BattleText_Defense[] = _("DEFENSE");
+const u8 BattleText_SpAtk[] = _("SP. ATK");
+const u8 BattleText_SpDef[] = _("SP. DEF");
+const u8 BattleText_SafariBalls[] = _("{HIGHLIGHT RED}SAFARI BALLS");
+const u8 BattleText_SafariBallsLeft[] = _("{HIGHLIGHT RED}Left: ");
+const u8 BattleText_HighlightRed[] = _("{HIGHLIGHT RED}");
+const u8 BattleText_Sleep[] = _("sleep");
+const u8 BattleText_PoisonStatus[] = _("poison");
+const u8 BattleText_Burn[] = _("burn");
+const u8 BattleText_Paralysis[] = _("paralysis");
+const u8 BattleText_IceStatus[] = _("ice");
+const u8 BattleText_Confusion[] = _("confusion");
+const u8 BattleText_Love[] = _("love");
+const u8 BattleText_Format3[] = _(" and ");
+const u8 BattleText_Format4[] = _(", ");
+const u8 BattleText_Format5[] = _(" ");
+const u8 BattleText_Format6[] = _("\l");
+const u8 BattleText_Format7[] = _("\n");
+const u8 BattleText_Format8[] = _("are");
+const u8 BattleText_Format9[] = _("are");
+const u8 gBadEggNickname[] = _("Bad EGG"); // 8400E3A
+const u8 BattleText_Wally[] = _("WALLY");
+const u8 BattleText_Win[] = _("{HIGHLIGHT TRANSPARENT}Win"); // 8400E48
+const u8 BattleText_Loss[] = _("{HIGHLIGHT TRANSPARENT}Loss"); // 8400E4F
+const u8 BattleText_Tie[] = _("{HIGHLIGHT TRANSPARENT}Tie"); // 8400E57
+const u8 BattleText_Format10[] = _(" is");
+const u8 BattleText_Format11[] = _("’s");
+const u8 BattleText_Normal[] = _("a NORMAL move");
+const u8 BattleText_Fighting[] = _("a FIGHTING move");
+const u8 BattleText_Flying[] = _("a FLYING move");
+const u8 BattleText_Poison[] = _("a POISON move");
+const u8 BattleText_Ground[] = _("a GROUND move");
+const u8 BattleText_Rock[] = _("a ROCK move");
+const u8 BattleText_Bug[] = _("a BUG move");
+const u8 BattleText_Ghost[] = _("a GHOST move");
+const u8 BattleText_Steel[] = _("a STEEL move");
+const u8 BattleText_Typeless[] = _("a ??? move");
+const u8 BattleText_Fire[] = _("a FIRE move");
+const u8 BattleText_Water[] = _("a WATER move");
+const u8 BattleText_Grass[] = _("a GRASS move");
+const u8 BattleText_Electric[] = _("an ELECTRIC move");
+const u8 BattleText_Psychic[] = _("a PSYCHIC move");
+const u8 BattleText_Ice[] = _("an ICE move");
+const u8 BattleText_Dragon[] = _("a DRAGON move");
+const u8 BattleText_Dark[] = _("a DARK move");
+
+const u8 *const gUnknown_08400F58[] =
+{
+ BattleStatText_HP,
+ BattleStatText_Attack,
+ BattleStatText_Defense,
+ BattleStatText_Speed,
+ BattleStatText_SpAtk,
+ BattleStatText_SpDef,
+ BattleStatText_Accuracy,
+ BattleStatText_Evasion,
+};
+
+const u8 *const gUnknown_08400F78[] =
+{
+ ContestStatText_TooSpicy,
+ ContestStatText_TooDry,
+ ContestStatText_TooSweet,
+ ContestStatText_TooBitter,
+ ContestStatText_TooSour,
+};
+
+const u8 *const gBattleStringsTable[] =
+{
+ BattleText_UnknownString,
+ BattleText_GainExpPoints,
+ BattleText_GrewLevel,
+ BattleText_LearnedMove,
+ BattleText_TryingToLearnMove,
+ BattleText_CantLearnMore,
+ BattleText_DeleteMove,
+ BattleText_DeletedMove,
+ BattleText_StopLearning,
+ BattleText_DidNotLearn,
+ BattleText_LearnedMove2,
+ BattleText_AttackMissed,
+ BattleText_ProtectedItself,
+ BattleText_StatNoHigher,
+ BattleText_AvoidedDamage,
+ BattleText_DoesntAffect,
+ BattleText_AttackingFainted,
+ BattleText_DefendingFainted,
+ BattleText_WinningPrize,
+ BattleText_OutOfUsablePoke,
+ BattleText_WhitedOut,
+ BattleText_PreventEscape,
+ BattleText_HitMulti,
+ BattleText_FellAsleep,
+ BattleText_MadeAsleep,
+ BattleText_DefendingAsleep,
+ BattleText_AttackingAsleep,
+ BattleText_WasntAffected,
+ BattleText_Poisoned,
+ BattleText_Poisoned2,
+ BattleText_PoisonHurt,
+ BattleText_AlreadyPoisoned,
+ BattleText_BadlyPoisoned,
+ BattleText_EnergyDrained,
+ BattleText_Burned,
+ BattleText_Burned2,
+ BattleText_BurnHurt,
+ BattleText_Frozen,
+ BattleText_Frozen2,
+ BattleText_FrozenSolid,
+ BattleText_DefendingDefrosted,
+ BattleText_AttackingDefrosted,
+ BattleText_Defrosted,
+ BattleText_Paralyzed,
+ BattleText_Paralyzed2,
+ BattleText_Paralyzed3,
+ BattleText_AlreadyParalyzed,
+ BattleText_ParalysisHealed,
+ BattleText_DreamEaten,
+ BattleText_AttackingStatNoHigher,
+ BattleText_DefendingStatNoHigher,
+ BattleText_StoppedWorking,
+ BattleText_StoppedWorking2,
+ BattleText_Confused,
+ BattleText_ConfusionSnapOut,
+ BattleText_BecameConfused,
+ BattleText_AlreadyConfused,
+ BattleText_FellLove,
+ BattleText_InLoveWith,
+ BattleText_ImmobilizedBy,
+ BattleText_BlownAway,
+ BattleText_TypeTransform,
+ BattleText_Flinched,
+ BattleText_RegainedHealth,
+ BattleText_HPFull,
+ BattleText_RaisedSpDef,
+ BattleText_RaisedDefense,
+ BattleText_CoveredVeil,
+ BattleText_SafeguardActive,
+ BattleText_SafeguardFaded,
+ BattleText_WentToSleep,
+ BattleText_SpeltHealthy,
+ BattleText_WhipWhirlwind,
+ BattleText_TookSunlight,
+ BattleText_LoweredHead,
+ BattleText_IsGlowing,
+ BattleText_FlewHigh,
+ BattleText_DugHole,
+ BattleText_SqueezedBind,
+ BattleText_TrappedVortex,
+ BattleText_Wrapped,
+ BattleText_Clamped,
+ BattleText_HurtBy,
+ BattleText_FreedFrom,
+ BattleText_KeptGoingCrash,
+ BattleText_MistShroud,
+ BattleText_MistProtect,
+ BattleText_GetPumped,
+ BattleText_HitRecoil,
+ BattleText_ProtectedItself2,
+ BattleText_SandBuffeted,
+ BattleText_HailStricken,
+ BattleText_WasSeeded,
+ BattleText_EvadedAttack,
+ BattleText_HealthSapped,
+ BattleText_FastAsleep,
+ BattleText_WokeUp,
+ BattleText_UproarAwake,
+ BattleText_UproarWoke,
+ BattleText_UproarCaused,
+ BattleText_UproarMaking,
+ BattleText_CalmedDown,
+ BattleText_UproarCantSleep,
+ BattleText_Stockpiled,
+ BattleText_StockpiledCant,
+ BattleText_UproarCantSleep2,
+ BattleText_UproarKeptAwake,
+ BattleText_StayedAwake,
+ BattleText_StoringEnergy,
+ BattleText_UnleashedEnergy,
+ BattleText_FatigueConfuse,
+ BattleText_PickedUpYen,
+ BattleText_Unaffected,
+ BattleText_Transformed,
+ BattleText_SubMade,
+ BattleText_SubAlready,
+ BattleText_SubTookDamage,
+ BattleText_SubFaded,
+ BattleText_MustRecharge,
+ BattleText_RageBuilding,
+ BattleText_MoveWasDisabled,
+ BattleText_MoveIsDisabled,
+ BattleText_DisabledNoMore,
+ BattleText_EncoreGot,
+ BattleText_EncoreEnded,
+ BattleText_TookAim,
+ BattleText_SketchedMove,
+ BattleText_DestinyBondTake,
+ BattleText_DestinyBondTaken,
+ BattleText_ReducedBy,
+ BattleText_StoleSomething,
+ BattleText_CantEscapeNow,
+ BattleText_NightmareStart,
+ BattleText_NightmareLock,
+ BattleText_CurseLay,
+ BattleText_CurseAfflict,
+ BattleText_SpikesScattered,
+ BattleText_SpikesHurt,
+ BattleText_IdentifiedPoke,
+ BattleText_PerishSongFell,
+ BattleText_BracedItself,
+ BattleText_EnduredHit,
+ BattleText_MagnitudeCount,
+ BattleText_CutHPMaxATK,
+ BattleText_CopyStatChanges,
+ BattleText_GotFreeFrom,
+ BattleText_LeechShed,
+ BattleText_SpikesBlownAway,
+ BattleText_FledBattle,
+ BattleText_ForesawAttack,
+ BattleText_TookAttack,
+ BattleText_PokeAttack,
+ BattleText_CenterAttention,
+ BattleText_ChargingPower,
+ BattleText_NaturePower,
+ BattleText_StatusNormal,
+ BattleText_NoMovesLeft,
+ BattleText_TormentSubject,
+ BattleText_TormentNoUse,
+ BattleText_TightenFocus,
+ BattleText_TauntFell,
+ BattleText_TauntNoUse,
+ BattleText_ReadyToHelp,
+ BattleText_SwitchedItems,
+ BattleText_CopiedObject,
+ BattleText_WishMade,
+ BattleText_WishTrue,
+ BattleText_PlantedRoots,
+ BattleText_AbsorbNutrients,
+ BattleText_AnchoredItself,
+ BattleText_DrowsyMade,
+ BattleText_KnockedOffItem,
+ BattleText_AbilitySwap,
+ BattleText_SealedMove,
+ BattleText_SealedNoUse,
+ BattleText_GrudgeBear,
+ BattleText_GrudgeLosePP,
+ BattleText_ShroudedItself,
+ BattleText_MagicCoatBounce,
+ BattleText_AwaitMove,
+ BattleText_SnatchedMove,
+ BattleText_RainMade,
+ BattleText_SpeedRisen,
+ BattleText_ProtectedBy,
+ BattleText_PreventedBy,
+ BattleText_HPRestoredUsing,
+ BattleText_MadeType,
+ BattleText_PreventedPara,
+ BattleText_PreventedRomance,
+ BattleText_PreventedPoison,
+ BattleText_PreventedConfusion,
+ BattleText_RaisedFirePower,
+ BattleText_AnchorsItself,
+ BattleText_CutsAttack,
+ BattleText_PreventedStatLoss,
+ BattleText_HurtOther,
+ BattleText_Traced,
+ BattleText_Sharply,
+ BattleText_Rose,
+ BattleText_Harshly,
+ BattleText_Fell,
+ BattleText_UnknownString7,
+ BattleText_UnknownString3,
+ BattleText_UnknownString5,
+ BattleText_UnknownString6,
+ BattleText_Critical,
+ BattleText_GrandSlam,
+ BattleText_MoveForget123,
+ BattleText_MoveForgetAnd,
+ BattleText_NotEffective,
+ BattleText_SuperEffective,
+ BattleText_GotAwaySafely,
+ BattleText_FledWild,
+ BattleText_NoRunning,
+ BattleText_CantEscape2,
+ BattleText_BirchDontLeaveMe,
+ BattleText_Nothing,
+ BattleText_Failed,
+ BattleText_HurtItself,
+ BattleText_MirrorFail,
+ BattleText_RainStart,
+ BattleText_PourStart,
+ BattleText_RainCont1,
+ BattleText_PourCont,
+ BattleText_RainStop,
+ BattleText_SandBrewed,
+ BattleText_SandRages,
+ BattleText_SandSubsided,
+ BattleText_SunBright,
+ BattleText_SunStrong,
+ BattleText_SunFaded,
+ BattleText_HailStart,
+ BattleText_HailCont,
+ BattleText_HailStop,
+ BattleText_SpitUpFail,
+ BattleText_SwallowFail,
+ BattleText_WindHeatWave,
+ BattleText_StatElim,
+ BattleText_CoinScatter,
+ BattleText_SubWeak,
+ BattleText_PainSplit,
+ BattleText_BellChime,
+ BattleText_PerishSong,
+ BattleText_NoPP1,
+ BattleText_NoPP2,
+ BattleText_Used1,
+ BattleText_TutorialUsed,
+ BattleText_BlockBall,
+ BattleText_DontBeAThief,
+ BattleText_DodgeBall,
+ BattleText_MissPoke,
+ BattleText_BallBrokeOhNo,
+ BattleText_BallBrokeAppeared,
+ BattleText_BallBrokeAlmost,
+ BattleText_BallBrokeSoClose,
+ BattleText_BallCaught1,
+ BattleText_BallCaught2,
+ BattleText_GiveNickname,
+ BattleText_SentToPC,
+ BattleText_AddedToDex,
+ BattleText_Raining,
+ BattleText_Sandstorm,
+ BattleText_CantEscape,
+ BattleText_IgnoredOrdersSLP,
+ BattleText_IgnoredOrders,
+ BattleText_BeganNap,
+ BattleText_LoafingAround,
+ BattleText_WontObey,
+ BattleText_TurnedAway,
+ BattleText_NotNotice,
+ BattleText_WillSwitch,
+ BattleText_CreptCloser,
+ BattleText_CantGetCloser,
+ BattleText_WatchingCarefully,
+ BattleText_CuriousAbout,
+ BattleText_EnthralledBy,
+ BattleText_IgnoredThing,
+ BattleText_ThrewBlock,
+ BattleText_SafariOver,
+ BattleText_CuredParalysis,
+ BattleText_CuredPoison,
+ BattleText_CuredBurn,
+ BattleText_CuredFreeze,
+ BattleText_CuredSleep,
+ BattleText_CuredConfusion,
+ BattleText_CuredStatus,
+ BattleText_RestoredHealth,
+ BattleText_RestoredPP,
+ BattleText_RestoredStatus,
+ BattleText_RestoredHPLittle,
+ BattleText_ChoiceBand,
+ BattleText_FocusSash,
+ BattleText_Terminator2,
+ BattleText_PreventedBurn,
+ BattleText_BlocksOther,
+ BattleText_RestoredHPByItem,
+ BattleText_WhipSandstorm,
+ BattleText_PreventedLoss,
+ BattleText_InfatuatedPoke,
+ BattleText_MadeIneffective,
+ BattleText_CuredProblem,
+ BattleText_OozeSuckup,
+ BattleText_Transformed2,
+ BattleText_ElecWeakened,
+ BattleText_FireWeakened,
+ BattleText_HidUnderwater,
+ BattleText_SprangUp,
+ BattleText_CantForgetHM,
+ BattleText_FoundOne,
+ BattleText_PlayerDefeatedTrainer2,
+ BattleText_SoothingAroma,
+ BattleText_CantUseItems,
+ BattleText_UnknownString2,
+ BattleText_UnknownString4,
+ BattleText_HustleUse,
+ BattleText_MadeUseless,
+ BattleText_SandTombTrapped,
+ BattleText_Terminator,
+ BattleText_BoostedExp,
+ BattleText_SunIntensified,
+ BattleText_GroundMoveNegate,
+ BattleText_WallyBall,
+ BattleText_TookAttack2,
+ BattleText_ChoseDestiny,
+ BattleText_LostFocus,
+ BattleText_UseNext,
+ BattleText_FledUsingItem,
+ BattleText_FledUsingOther,
+ BattleText_DraggedOut,
+ BattleText_PreventedOther,
+ BattleText_NormalizedStatus,
+ BattleText_Used2,
+ BattleText_BoxFull,
+ BattleText_AvoidedAttack,
+ BattleText_MadeIneffective2,
+ BattleText_PreventedFlinching,
+ BattleText_AlreadyBurned,
+ BattleText_StatNoLower,
+ BattleText_BlocksOther2,
+ BattleText_WoreOff,
+ BattleText_RaisedDefenseLittle,
+ BattleText_RaisedSpDefLittle,
+ BattleText_BrokeWall,
+ BattleText_PreventedOther2,
+ BattleText_CuredOfProblem,
+ BattleText_AttackingCantEscape,
+ BattleText_Obtained1,
+ BattleText_Obtained2,
+ BattleText_Obtained3,
+ BattleText_NoEffect,
+ BattleText_NoEffectOn,
+};
+
+// below are lists of battle string enums and NOT pointers to the strings.
+const u16 gMissStrings[] =
+{
+ BATTLE_TEXT_AttackMissed,
+ BATTLE_TEXT_ProtectedItself,
+ BATTLE_TEXT_AvoidedAttack,
+ BATTLE_TEXT_AvoidedDamage,
+ BATTLE_TEXT_GroundMoveNegate,
+};
+
+const u16 BattleTextList_401512[] =
+{
+ BATTLE_TEXT_CantEscape2,
+ BATTLE_TEXT_BirchDontLeaveMe,
+ BATTLE_TEXT_PreventEscape,
+ BATTLE_TEXT_CantEscape,
+ BATTLE_TEXT_AttackingCantEscape,
+};
+
+const u16 BattleTextList_40151C[] =
+{
+ BATTLE_TEXT_RainStart,
+ BATTLE_TEXT_PourStart,
+ BATTLE_TEXT_Failed,
+ BATTLE_TEXT_SandBrewed,
+ BATTLE_TEXT_SunBright,
+ BATTLE_TEXT_HailStart,
+};
+
+const u16 BattleTextList_401528[] =
+{
+ BATTLE_TEXT_SandRages,
+ BATTLE_TEXT_HailCont,
+};
+
+const u16 BattleTextList_40152C[] =
+{
+ BATTLE_TEXT_SandBuffeted,
+ BATTLE_TEXT_HailStricken,
+};
+
+const u16 BattleTextList_401530[] =
+{
+ BATTLE_TEXT_SandSubsided,
+ BATTLE_TEXT_HailStop,
+};
+
+const u16 BattleTextList_401534[] =
+{
+ BATTLE_TEXT_RainCont1,
+ BATTLE_TEXT_PourCont,
+ BATTLE_TEXT_RainStop,
+};
+
+const u16 BattleTextList_40153A[] =
+{
+ BATTLE_TEXT_ProtectedItself2,
+ BATTLE_TEXT_BracedItself,
+ BATTLE_TEXT_Failed,
+};
+
+const u16 BattleTextList_401540[] =
+{
+ BATTLE_TEXT_Failed,
+ BATTLE_TEXT_RaisedDefense,
+ BATTLE_TEXT_RaisedDefenseLittle,
+ BATTLE_TEXT_RaisedSpDef,
+ BATTLE_TEXT_RaisedSpDefLittle,
+ BATTLE_TEXT_CoveredVeil,
+};
+
+const u16 BattleTextList_40154C[] =
+{
+ BATTLE_TEXT_WasSeeded,
+ BATTLE_TEXT_EvadedAttack,
+ BATTLE_TEXT_DoesntAffect,
+ BATTLE_TEXT_HealthSapped,
+ BATTLE_TEXT_OozeSuckup,
+};
+
+const u16 BattleTextList_401556[] =
+{
+ BATTLE_TEXT_WentToSleep,
+ BATTLE_TEXT_SpeltHealthy,
+};
+
+const u16 BattleTextList_40155A[] =
+{
+ BATTLE_TEXT_UproarMaking,
+ BATTLE_TEXT_CalmedDown,
+};
+
+const u16 BattleTextList_40155E[] =
+{
+ BATTLE_TEXT_Stockpiled,
+ BATTLE_TEXT_StockpiledCant,
+};
+
+const u16 BattleTextList_401562[] =
+{
+ BATTLE_TEXT_WokeUp,
+ BATTLE_TEXT_UproarWoke,
+};
+
+const u16 BattleTextList_401566[] =
+{
+ BATTLE_TEXT_SwallowFail,
+ BATTLE_TEXT_HPFull,
+};
+
+const u16 BattleTextList_40156A[] =
+{
+ BATTLE_TEXT_UproarCantSleep2,
+ BATTLE_TEXT_UproarKeptAwake,
+ BATTLE_TEXT_StayedAwake,
+};
+
+const u16 BattleTextList_401570[] =
+{
+ BATTLE_TEXT_UnknownString7,
+ BATTLE_TEXT_UnknownString3,
+ BATTLE_TEXT_AttackingStatNoHigher,
+ BATTLE_TEXT_Terminator2,
+ BATTLE_TEXT_UnknownString4,
+ BATTLE_TEXT_HustleUse,
+};
+
+const u16 BattleTextList_40157C[] =
+{
+ BATTLE_TEXT_UnknownString5,
+ BATTLE_TEXT_UnknownString6,
+ BATTLE_TEXT_DefendingStatNoHigher,
+ BATTLE_TEXT_Terminator2,
+};
+
+const u16 BattleTextList_401584[] =
+{
+ BATTLE_TEXT_WhipWhirlwind,
+ BATTLE_TEXT_TookSunlight,
+ BATTLE_TEXT_LoweredHead,
+ BATTLE_TEXT_IsGlowing,
+ BATTLE_TEXT_FlewHigh,
+ BATTLE_TEXT_DugHole,
+ BATTLE_TEXT_HidUnderwater,
+ BATTLE_TEXT_SprangUp,
+};
+
+const u16 BattleTextList_401594[] =
+{
+ BATTLE_TEXT_SqueezedBind,
+ BATTLE_TEXT_Wrapped,
+ BATTLE_TEXT_TrappedVortex,
+ BATTLE_TEXT_Clamped,
+ BATTLE_TEXT_TrappedVortex,
+ BATTLE_TEXT_SandTombTrapped,
+};
+
+const u16 BattleTextList_4015A0[] =
+{
+ BATTLE_TEXT_MistShroud,
+ BATTLE_TEXT_Failed,
+};
+
+const u16 BattleTextList_4015A4[] =
+{
+ BATTLE_TEXT_GetPumped,
+ BATTLE_TEXT_Failed,
+};
+
+const u16 BattleTextList_4015A8[] =
+{
+ BATTLE_TEXT_Transformed,
+ BATTLE_TEXT_Failed,
+};
+
+const u16 BattleTextList_4015AC[] =
+{
+ BATTLE_TEXT_SubMade,
+ BATTLE_TEXT_SubWeak,
+};
+
+const u16 BattleTextList_4015B0[] =
+{
+ BATTLE_TEXT_Poisoned,
+ BATTLE_TEXT_Poisoned2,
+};
+
+const u16 BattleTextList_4015B4[] =
+{
+ BATTLE_TEXT_Paralyzed,
+ BATTLE_TEXT_Paralyzed2,
+};
+
+const u16 BattleTextList_4015B8[] =
+{
+ BATTLE_TEXT_FellAsleep,
+ BATTLE_TEXT_MadeAsleep,
+};
+
+const u16 BattleTextList_4015BC[] =
+{
+ BATTLE_TEXT_Burned,
+ BATTLE_TEXT_Burned2,
+};
+
+const u16 BattleTextList_4015C0[] =
+{
+ BATTLE_TEXT_Frozen,
+ BATTLE_TEXT_Frozen2,
+};
+
+const u16 BattleTextList_4015C4[] =
+{
+ BATTLE_TEXT_AttackingDefrosted,
+ BATTLE_TEXT_Defrosted,
+};
+
+const u16 BattleTextList_4015C8[] =
+{
+ BATTLE_TEXT_AttackMissed,
+ BATTLE_TEXT_Unaffected,
+ BATTLE_TEXT_FellLove,
+ BATTLE_TEXT_InfatuatedPoke,
+};
+
+const u16 BattleTextList_4015D0[] =
+{
+ BATTLE_TEXT_EnergyDrained,
+ BATTLE_TEXT_OozeSuckup,
+};
+
+const u16 BattleTextList_4015D4[] =
+{
+ BATTLE_TEXT_ElecWeakened,
+ BATTLE_TEXT_FireWeakened,
+};
+
+const u16 BattleTextList_4015D8[] =
+{
+ BATTLE_TEXT_BellChime,
+ BATTLE_TEXT_BellChime,
+ BATTLE_TEXT_BellChime,
+ BATTLE_TEXT_BellChime,
+ BATTLE_TEXT_SoothingAroma,
+};
+
+const u16 BattleTextList_4015E2[] =
+{
+ BATTLE_TEXT_ForesawAttack,
+ BATTLE_TEXT_ChoseDestiny,
+};
+
+const u16 BattleTextList_4015E6[] =
+{
+ BATTLE_TEXT_BallBrokeOhNo,
+ BATTLE_TEXT_BallBrokeAppeared,
+ BATTLE_TEXT_BallBrokeAlmost,
+ BATTLE_TEXT_BallBrokeSoClose,
+};
+
+const u16 BattleTextList_4015EE[] =
+{
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Sandstorm,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_SunStrong,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Raining,
+ BATTLE_TEXT_Raining,
+};
+
+const u16 BattleTextList_40160E[] =
+{
+ BATTLE_TEXT_LoafingAround,
+ BATTLE_TEXT_WontObey,
+ BATTLE_TEXT_TurnedAway,
+ BATTLE_TEXT_NotNotice,
+};
+
+const u16 BattleTextList_401616[] =
+{
+ BATTLE_TEXT_CreptCloser,
+ BATTLE_TEXT_CantGetCloser,
+};
+
+const u16 BattleTextList_40161A[] =
+{
+ BATTLE_TEXT_CuriousAbout,
+ BATTLE_TEXT_EnthralledBy,
+ BATTLE_TEXT_IgnoredThing,
+};
+
+const u16 BattleTextList_401620[] =
+{
+ BATTLE_TEXT_CuredConfusion,
+ BATTLE_TEXT_CuredParalysis,
+ BATTLE_TEXT_CuredFreeze,
+ BATTLE_TEXT_CuredBurn,
+ BATTLE_TEXT_CuredPoison,
+ BATTLE_TEXT_CuredSleep,
+};
+
+const u16 BattleTextList_40162C[] =
+{
+ BATTLE_TEXT_CuredStatus,
+ BATTLE_TEXT_NormalizedStatus,
+};
+
+const u16 BattleTextList_401630[] =
+{
+ BATTLE_TEXT_PreventedBurn,
+ BATTLE_TEXT_PreventedOther2,
+ BATTLE_TEXT_NoEffectOn,
+};
+
+const u16 BattleTextList_401636[] =
+{
+ BATTLE_TEXT_PreventedPara,
+ BATTLE_TEXT_PreventedOther2,
+ BATTLE_TEXT_NoEffectOn,
+};
+
+const u16 BattleTextList_40163C[] =
+{
+ BATTLE_TEXT_PreventedPoison,
+ BATTLE_TEXT_PreventedOther2,
+ BATTLE_TEXT_NoEffectOn,
+};
+
+const u16 BattleTextList_401642[] =
+{
+ BATTLE_TEXT_Obtained1,
+ BATTLE_TEXT_Obtained2,
+ BATTLE_TEXT_Obtained3,
+};
+
+const u16 BattleTextList_401648[] =
+{
+ BATTLE_TEXT_RaisedFirePower,
+ BATTLE_TEXT_MadeIneffective,
+};
+
+const u16 gTrappingMoves[] =
+{
+ MOVE_BIND,
+ MOVE_WRAP,
+ MOVE_FIRE_SPIN,
+ MOVE_CLAMP,
+ MOVE_WHIRLPOOL,
+ MOVE_SAND_TOMB,
+ 0xFFFF,
+};
+
+const u8 *const gUnknown_0840165C[] =
+{
+ BattleText_HP,
+ BattleText_SpAtk,
+ BattleText_Attack,
+ BattleText_SpDef,
+ BattleText_Defense,
+ BattleStatText_Speed,
+};
+
+const u8 *const gUnknown_08401674[] =
+{
+ BattleText_Normal,
+ BattleText_Fighting,
+ BattleText_Flying,
+ BattleText_Poison,
+ BattleText_Ground,
+ BattleText_Rock,
+ BattleText_Bug,
+ BattleText_Ghost,
+ BattleText_Steel,
+ BattleText_Typeless,
+ BattleText_Fire,
+ BattleText_Water,
+ BattleText_Grass,
+ BattleText_Electric,
+ BattleText_Psychic,
+ BattleText_Ice,
+ BattleText_Dragon,
+ BattleText_Dark,
+};
diff --git a/src/debug/mori_debug_menu.c b/src/debug/mori_debug_menu.c
index e6ee243e8..2c937bb28 100644
--- a/src/debug/mori_debug_menu.c
+++ b/src/debug/mori_debug_menu.c
@@ -16,13 +16,50 @@ extern u8 (*gCallback_03004AE8)(void);
u8 gUnknown_03004DA0[0x20];
-extern u8 gUnknown_0839B22C[][3];
-extern u8 gUnknown_0839B24A[];
-extern u8 gUnknown_0839B24D[];
-extern u8 gUnknown_0839B255[];
-extern u8 gUnknown_0839B257[];
-
-extern const struct MenuAction gMoriDebugMenuActions[];
+const u8 gUnknown_0839B22C[][3] =
+{
+ _(" A"),
+ _(" B"),
+ _("SL"),
+ _("ST"),
+ _("RK"),
+ _("LK"),
+ _("UK"),
+ _("DK"),
+ _("RT"),
+ _("LT"),
+};
+
+const u8 gUnknown_0839B24A[] = _("ND");
+const u8 gUnknown_0839B24D[] = _("の こどもは\n"); // "'s child <topic-particle>"=
+const u8 gUnknown_0839B255[] = _(" ");
+const u8 gUnknown_0839B257[] = _("ながいなまえぽけもん"); // "long name pokemon" (used as test name)
+const u8 Text_39B262[] = _("Search a child");
+const u8 Text_39B271[] = _("Egg");
+const u8 Text_39B275[] = _("Egg (male)");
+const u8 Text_39B280[] = _("1000 steps");
+const u8 Text_39B28B[] = _("10000 steps");
+const u8 Text_39B297[] = _("MOVE TUTOR");
+const u8 Text_39B2A2[] = _("Breed an egg");
+const u8 Text_39B2AF[] = _("Long name");
+#ifdef GERMAN
+const u8 Text_39B2B9[] = _("Delete {POKEBLOCK}");
+#else
+const u8 Text_39B2B9[] = _("ポロックけす");
+#endif
+
+const struct MenuAction gMoriDebugMenuActions[] =
+{
+ {Text_39B262, (u8 (*) (void))MoriDebugMenu_SearchChild}, // ugly cast needed to stop complaints of u8 (*func)() not being compatible with this declaration (TODO: Make MenuAction a Callback union to allow a new definition.)
+ {Text_39B271, MoriDebugMenu_Egg},
+ {Text_39B275, MoriDebugMenu_MaleEgg},
+ {Text_39B280, MoriDebugMenu_1000Steps},
+ {Text_39B28B, MoriDebugMenu_10000Steps},
+ {Text_39B297, MoriDebugMenu_MoveTutor},
+ {Text_39B2A2, MoriDebugMenu_BreedEgg},
+ {Text_39B2AF, MoriDebugMenu_LongName},
+ {Text_39B2B9, MoriDebugMenu_PokeblockCase},
+};
void unref_sub_8083CF0(void)
{
@@ -65,7 +102,7 @@ u8 MoriDebugMenu_SearchChild(u8 a1, u8 a2, u8 *ptr)
return 0;
}
-s8 MoriDebugMenu_Egg(void)
+u8 MoriDebugMenu_Egg(void)
{
if (CountPokemonInDaycare(&gSaveBlock1.daycare) == 2 && GetDaycareCompatibilityScoreFromSave() )
TriggerPendingDaycareEgg();
@@ -74,7 +111,7 @@ s8 MoriDebugMenu_Egg(void)
return 1;
}
-s8 MoriDebugMenu_MaleEgg(void)
+u8 MoriDebugMenu_MaleEgg(void)
{
if (CountPokemonInDaycare(&gSaveBlock1.daycare) == 2 && GetDaycareCompatibilityScoreFromSave() )
TriggerPendingDaycareMaleEgg();
@@ -83,28 +120,28 @@ s8 MoriDebugMenu_MaleEgg(void)
return 1;
}
-s8 MoriDebugMenu_1000Steps(void)
+u8 MoriDebugMenu_1000Steps(void)
{
Debug_AddDaycareSteps(1000);
CloseMenu();
return 1;
}
-s8 MoriDebugMenu_10000Steps(void)
+u8 MoriDebugMenu_10000Steps(void)
{
Debug_AddDaycareSteps(10000);
CloseMenu();
return 1;
}
-s8 MoriDebugMenu_MoveTutor(void)
+u8 MoriDebugMenu_MoveTutor(void)
{
sub_8132670();
CloseMenu();
return 1;
}
-s8 MoriDebugMenu_BreedEgg(void)
+u8 MoriDebugMenu_BreedEgg(void)
{
u8 loopCounter;
@@ -122,14 +159,14 @@ s8 MoriDebugMenu_BreedEgg(void)
return 1;
}
-s8 MoriDebugMenu_LongName(void)
+u8 MoriDebugMenu_LongName(void)
{
SetMonData(gPlayerParty, MON_DATA_NICKNAME, gUnknown_0839B257);
CloseMenu();
return 1;
}
-s8 MoriDebugMenu_PokeblockCase(void)
+u8 MoriDebugMenu_PokeblockCase(void)
{
s32 loopCounter;
diff --git a/src/engine/cable_club.c b/src/engine/cable_club.c
index c61a1d01c..ec8acc65f 100644
--- a/src/engine/cable_club.c
+++ b/src/engine/cable_club.c
@@ -35,7 +35,6 @@ extern const u8 gUnknown_081A4932[];
extern const u8 gUnknown_081A4975[];
extern const u8 gUnknown_081A49B6[];
extern const u8 gUnknown_081A490C[];
-extern const u8* const gTrainerCardColorNames[];
extern struct
{
u8 field0;
@@ -76,6 +75,26 @@ extern void sub_8055574(void);
extern s32 sub_80554F8(void);
extern void sub_805465C(void);
+#ifdef GERMAN
+const u8 TrainerCardColorName_Bronze[] = _("BRONZE");
+const u8 TrainerCardColorName_Copper[] = _("KUPFER");
+const u8 TrainerCardColorName_Silver[] = _("SILBER");
+const u8 TrainerCardColorName_Gold[] = _("GOLD");
+#else
+const u8 TrainerCardColorName_Bronze[] = _("BRONZE");
+const u8 TrainerCardColorName_Copper[] = _("COPPER");
+const u8 TrainerCardColorName_Silver[] = _("SILVER");
+const u8 TrainerCardColorName_Gold[] = _("GOLD");
+#endif
+
+const u8 *const gTrainerCardColorNames[] =
+{
+ TrainerCardColorName_Bronze,
+ TrainerCardColorName_Copper,
+ TrainerCardColorName_Silver,
+ TrainerCardColorName_Gold,
+};
+
static void sub_8082CD4(u8 arg0, u8 arg1)
{
if (FindTaskIdByFunc(sub_8082F20) == 0xFF)
diff --git a/src/engine/main_menu.c b/src/engine/main_menu.c
index bfbf0dcd6..031dc49d1 100644
--- a/src/engine/main_menu.c
+++ b/src/engine/main_menu.c
@@ -30,8 +30,6 @@ extern struct PaletteFadeControl gPaletteFade;
extern u16 gSaveFileStatus;
-extern u16 gMainMenuPalette[];
-
extern const u8 gBirchSpeech_Welcome[];
extern const u8 gBirchSpeech_ThisIsPokemon[];
extern const u8 gBirchSpeech_WorldInhabitedByPokemon[];
@@ -43,15 +41,11 @@ extern u8 gBirchSpeech_AhOkayYouArePlayer[];
extern u8 gBirchSpeech_AreYouReady[];
extern struct SpriteTemplate gUnknown_02024E8C;
-extern u16 gUnknown_081E795C[];
extern const struct MenuAction gUnknown_081E79B0[];
extern const struct MenuAction gMalePresetNames[];
extern const struct MenuAction gFemalePresetNames[];
-extern const u8 gUnknown_081E764C[];
-extern const u8 gBirchIntroShadowGfx[];
extern const u8 gUnknown_081E7834[];
-extern const u8 gUnknown_081E796C[];
extern const union AffineAnimCmd *const gSpriteAffineAnimTable_81E79AC[];
@@ -136,6 +130,53 @@ static void CreateNameMenu(u8 left, u8 top);
static s8 NameMenuProcessInput(void);
static void SetPresetPlayerName(u8 index);
+static const u16 gUnknown_081E764C[][16] =
+{
+ INCBIN_U16("graphics/birch_speech/bg0.gbapal"),
+ INCBIN_U16("graphics/birch_speech/bg1.gbapal"),
+};
+
+static const u8 gBirchIntroShadowGfx[] = INCBIN_U8("graphics/birch_speech/shadow.4bpp.lz");
+static const u8 gUnknown_081E7834[] = INCBIN_U8("graphics/birch_speech/map.bin.lz");
+static const u16 gUnknown_081E795C[] = INCBIN_U16("graphics/birch_speech/bg2.gbapal");
+static const u16 gUnknown_081E796C[] = INCBIN_U16("graphics/birch_speech/blank_pal.gbapal");
+static const u16 gMainMenuPalette[] = INCBIN_U16("graphics/misc/main_menu.gbapal");
+
+static const union AffineAnimCmd gSpriteAffineAnim_81E799C[] =
+{
+ AFFINEANIMCMD_FRAME(0xFFFE, 0xFFFE, 0, 48),
+ AFFINEANIMCMD_END,
+};
+
+static const union AffineAnimCmd *const gSpriteAffineAnimTable_81E79AC[] =
+{
+ gSpriteAffineAnim_81E799C,
+};
+
+static const struct MenuAction gUnknown_081E79B0[] =
+{
+ {gBirchText_Boy, NULL},
+ {gBirchText_Girl, NULL},
+};
+
+static const struct MenuAction gMalePresetNames[] =
+{
+ {gBirchText_NewName, NULL},
+ {gDefaultBoyName1, NULL},
+ {gDefaultBoyName2, NULL},
+ {gDefaultBoyName3, NULL},
+ {gDefaultBoyName4, NULL},
+};
+
+static const struct MenuAction gFemalePresetNames[] =
+{
+ {gBirchText_NewName, NULL},
+ {gDefaultGirlName1, NULL},
+ {gDefaultGirlName2, NULL},
+ {gDefaultGirlName3, NULL},
+ {gDefaultGirlName4, NULL},
+};
+
static void CB2_MainMenu(void)
{
RunTasks();
diff --git a/src/field/battle_tower.c b/src/field/battle_tower.c
index 7a9c043b0..d6271643c 100644
--- a/src/field/battle_tower.c
+++ b/src/field/battle_tower.c
@@ -262,13 +262,13 @@ static void SetEReaderTrainerChecksum(struct BattleTowerEReaderTrainer *ereaderT
static void SetBattleTowerRecordChecksum(struct BattleTowerRecord *);
static void ClearBattleTowerRecord(struct BattleTowerRecord *);
-extern const u8 gUnknown_08400E23[];
-extern const u8 gUnknown_08400E29[];
-extern const u8 gUnknown_08400E2C[];
-extern const u8 gUnknown_08400E2E[];
-extern const u8 gUnknown_08400E30[];
-extern const u8 gUnknown_08400E32[];
-extern const u8 gUnknown_08400E36[];
+extern const u8 BattleText_Format3[];
+extern const u8 BattleText_Format4[];
+extern const u8 BattleText_Format5[];
+extern const u8 BattleText_Format6[];
+extern const u8 BattleText_Format7[];
+extern const u8 BattleText_Format8[];
+extern const u8 BattleText_Format9[];
extern u16 gSpecialVar_0x8004;
extern u8 gTrainerClassToPicIndex[];
extern u8 gTrainerClassToNameIndex[];
@@ -1409,24 +1409,24 @@ u8 AppendBattleTowerBannedSpeciesName(u16 species, u8 curIndexToAppend, s32 numT
case 10:
if (numToAppend == curIndexToAppend)
{
- StringAppend(gStringVar1, gUnknown_08400E23);
+ StringAppend(gStringVar1, BattleText_Format3);
}
else if (numToAppend > curIndexToAppend)
{
- StringAppend(gStringVar1, gUnknown_08400E29);
+ StringAppend(gStringVar1, BattleText_Format4);
}
break;
case 1:
if (curIndexToAppend == numToAppend)
{
- StringAppend(gStringVar1, gUnknown_08400E23);
+ StringAppend(gStringVar1, BattleText_Format3);
}
else
{
- StringAppend(gStringVar1, gUnknown_08400E29);
+ StringAppend(gStringVar1, BattleText_Format4);
}
- StringAppend(gStringVar1, gUnknown_08400E30);
+ StringAppend(gStringVar1, BattleText_Format7);
break;
case 3:
case 5:
@@ -1435,14 +1435,14 @@ u8 AppendBattleTowerBannedSpeciesName(u16 species, u8 curIndexToAppend, s32 numT
default:
if (curIndexToAppend == numToAppend)
{
- StringAppend(gStringVar1, gUnknown_08400E23);
+ StringAppend(gStringVar1, BattleText_Format3);
}
else
{
- StringAppend(gStringVar1, gUnknown_08400E29);
+ StringAppend(gStringVar1, BattleText_Format4);
}
- StringAppend(gStringVar1, gUnknown_08400E2E);
+ StringAppend(gStringVar1, BattleText_Format6);
break;
}
@@ -1533,17 +1533,17 @@ void CheckPartyBattleTowerBanlist(void)
if (counter == 0)
{
- StringAppend(gStringVar1, gUnknown_08400E2C);
- StringAppend(gStringVar1, gUnknown_08400E32);
+ StringAppend(gStringVar1, BattleText_Format5);
+ StringAppend(gStringVar1, BattleText_Format8);
return;
}
if (1 & counter)
- StringAppend(gStringVar1, gUnknown_08400E2E);
+ StringAppend(gStringVar1, BattleText_Format6);
else
- StringAppend(gStringVar1, gUnknown_08400E2C);
+ StringAppend(gStringVar1, BattleText_Format5);
- StringAppend(gStringVar1, gUnknown_08400E36);
+ StringAppend(gStringVar1, BattleText_Format9);
}
else
{
diff --git a/src/field/field_specials.c b/src/field/field_specials.c
index 46061febf..48e9b44aa 100644
--- a/src/field/field_specials.c
+++ b/src/field/field_specials.c
@@ -48,6 +48,8 @@ extern u16 gSpecialVar_0x8004;
extern u16 gSpecialVar_0x8005;
extern u16 gScriptResult;
+extern u8 *const gUnknown_083D1464[3];
+
EWRAM_DATA bool8 gBikeCyclingChallenge = FALSE;
EWRAM_DATA u8 gBikeCollisions = 0;
EWRAM_DATA u32 gBikeCyclingTimer = 0;
diff --git a/src/field/tv.c b/src/field/tv.c
index a0287e7df..29d012f28 100644
--- a/src/field/tv.c
+++ b/src/field/tv.c
@@ -39,6 +39,8 @@
#include "strings.h"
#include "text.h"
#include "ewram.h"
+#include "moves.h"
+#include "region_map_sections.h"
struct UnkTvStruct
{
@@ -66,27 +68,6 @@ extern struct TVSaleItem gUnknown_02038724[3];
struct UnkTvStruct gUnknown_03005D38;
-extern u8 *gTVBravoTrainerTextGroup[];
-extern u8 *gTVBravoTrainerBattleTowerTextGroup[];
-extern u8 *gTVSmartShopperTextGroup[];
-extern u8 *gTVNameRaterTextGroup[];
-extern u8 *gTVPokemonTodayTextGroup[];
-extern u8 *gTVPokemonTodayFailedCaptureTextGroup[];
-extern u8 *gTVFanClubTextGroup[];
-extern u8 *gTVRecentHappeningsTextGroup[];
-extern u8 *gTVFanClubOpinionsTextGroup[];
-extern u8 *gTVPokemonOutbreakTextGroup[];
-extern u8 *gTVGabbyAndTyTextGroup[];
-extern u8 *gTVFishingGuruAdviceTextGroup[];
-extern u8 *gTVWorldOfMastersTextGroup[];
-extern struct OutbreakPokemon gPokeOutbreakSpeciesList[5];
-
-
-
-extern const u8 *gTVNewsTextGroup1[];
-extern const u8 *gTVNewsTextGroup2[];
-extern const u8 *gTVNewsTextGroup3[];
-
extern u16 gScriptLastTalked;
extern u8 gScriptContestCategory;
@@ -105,6 +86,351 @@ static u8 gUnknown_03000720;
static u8 gUnknown_03000721;
static s8 gUnknown_03000722;
+const struct OutbreakPokemon gPokeOutbreakSpeciesList[5] =
+{
+ {
+ .species = SPECIES_SURSKIT,
+ .moves = {MOVE_BUBBLE, MOVE_QUICK_ATTACK, MOVE_NONE, MOVE_NONE},
+ .level = 3,
+ .location = MAPSEC_Route102,
+ },
+ {
+ .species = SPECIES_SURSKIT,
+ .moves = {MOVE_BUBBLE, MOVE_QUICK_ATTACK, MOVE_NONE, MOVE_NONE},
+ .level = 15,
+ .location = MAPSEC_Route114,
+ },
+ {
+ .species = SPECIES_SURSKIT,
+ .moves = {MOVE_BUBBLE, MOVE_QUICK_ATTACK, MOVE_NONE, MOVE_NONE},
+ .level = 15,
+ .location = MAPSEC_Route117,
+ },
+ {
+ .species = SPECIES_SURSKIT,
+ .moves = {MOVE_BUBBLE, MOVE_QUICK_ATTACK, MOVE_NONE, MOVE_NONE},
+ .level = 28,
+ .location = MAPSEC_Route120,
+ },
+ {
+ .species = SPECIES_SKITTY,
+ .moves = {MOVE_GROWL, MOVE_TACKLE, MOVE_NONE, MOVE_NONE},
+ .level = 15,
+ .location = MAPSEC_Route116,
+ },
+};
+
+extern const u8 gTVNewsText_EnergyGuru1[];
+extern const u8 gTVNewsText_GameCorner1[];
+extern const u8 gTVNewsText_LilycoveDepartment1[];
+extern const u8 gTVNewsText_EnergyGuru2[];
+extern const u8 gTVNewsText_GameCorner2[];
+extern const u8 gTVNewsText_LilycoveDepartment2[];
+extern const u8 gTVNewsText_EnergyGuru3[];
+extern const u8 gTVNewsText_GameCorner3[];
+extern const u8 gTVNewsText_LilycoveDepartment3[];
+extern const u8 gTVFanClubText1[];
+extern const u8 gTVFanClubText2[];
+extern const u8 gTVFanClubText3[];
+extern const u8 gTVFanClubText4[];
+extern const u8 gTVFanClubText5[];
+extern const u8 gTVFanClubText6[];
+extern const u8 gTVFanClubText7[];
+extern const u8 gTVFanClubText8[];
+extern const u8 gTVRecentHappeningsText1[];
+extern const u8 gTVRecentHappeningsText2[];
+extern const u8 gTVRecentHappeningsText3[];
+extern const u8 gTVRecentHappeningsText4[];
+extern const u8 gTVRecentHappeningsText5[];
+extern const u8 gTVRecentHappeningsText6[];
+extern const u8 gTVFanClubOpinionsText1[];
+extern const u8 gTVFanClubOpinionsText2[];
+extern const u8 gTVFanClubOpinionsText3[];
+extern const u8 gTVFanClubOpinionsText4[];
+extern const u8 gTVFanClubOpinionsText5[];
+extern const u8 gTVPokemonOutbreakText[];
+extern const u8 gTVPokemonTodayText1[];
+extern const u8 gTVPokemonTodayText2[];
+extern const u8 gTVPokemonTodayText3[];
+extern const u8 gTVPokemonTodayText4[];
+extern const u8 gTVPokemonTodayText5[];
+extern const u8 gTVPokemonTodayText6[];
+extern const u8 gTVPokemonTodayText7[];
+extern const u8 gTVPokemonTodayText8[];
+extern const u8 gTVPokemonTodayText9[];
+extern const u8 gTVPokemonTodayText10[];
+extern const u8 gTVPokemonTodayText11[];
+extern const u8 gTVPokemonTodayText12[];
+extern const u8 gTVSmartShopperText1[];
+extern const u8 gTVSmartShopperText2[];
+extern const u8 gTVSmartShopperText3[];
+extern const u8 gTVSmartShopperText4[];
+extern const u8 gTVSmartShopperText5[];
+extern const u8 gTVSmartShopperText6[];
+extern const u8 gTVSmartShopperText7[];
+extern const u8 gTVSmartShopperText8[];
+extern const u8 gTVSmartShopperText9[];
+extern const u8 gTVSmartShopperText10[];
+extern const u8 gTVSmartShopperText11[];
+extern const u8 gTVSmartShopperText12[];
+extern const u8 gTVSmartShopperText13[];
+extern const u8 gTVBravoTrainerText1[];
+extern const u8 gTVBravoTrainerText2[];
+extern const u8 gTVBravoTrainerText3[];
+extern const u8 gTVBravoTrainerText4[];
+extern const u8 gTVBravoTrainerText5[];
+extern const u8 gTVBravoTrainerText6[];
+extern const u8 gTVBravoTrainerText7[];
+extern const u8 gTVBravoTrainerText8[];
+extern const u8 gTVBravoTrainerText9[];
+extern const u8 gTVBravoTrainerBattleTowerText1[];
+extern const u8 gTVBravoTrainerBattleTowerText2[];
+extern const u8 gTVBravoTrainerBattleTowerText3[];
+extern const u8 gTVBravoTrainerBattleTowerText4[];
+extern const u8 gTVBravoTrainerBattleTowerText5[];
+extern const u8 gTVBravoTrainerBattleTowerText6[];
+extern const u8 gTVBravoTrainerBattleTowerText7[];
+extern const u8 gTVBravoTrainerBattleTowerText8[];
+extern const u8 gTVBravoTrainerBattleTowerText9[];
+extern const u8 gTVBravoTrainerBattleTowerText10[];
+extern const u8 gTVBravoTrainerBattleTowerText11[];
+extern const u8 gTVBravoTrainerBattleTowerText12[];
+extern const u8 gTVBravoTrainerBattleTowerText13[];
+extern const u8 gTVBravoTrainerBattleTowerText14[];
+extern const u8 gTVBravoTrainerBattleTowerText15[];
+extern const u8 gTVNameRaterText1[];
+extern const u8 gTVNameRaterText2[];
+extern const u8 gTVNameRaterText3[];
+extern const u8 gTVNameRaterText4[];
+extern const u8 gTVNameRaterText5[];
+extern const u8 gTVNameRaterText6[];
+extern const u8 gTVNameRaterText7[];
+extern const u8 gTVNameRaterText8[];
+extern const u8 gTVNameRaterText9[];
+extern const u8 gTVNameRaterText10[];
+extern const u8 gTVNameRaterText11[];
+extern const u8 gTVNameRaterText12[];
+extern const u8 gTVNameRaterText13[];
+extern const u8 gTVNameRaterText14[];
+extern const u8 gTVNameRaterText15[];
+extern const u8 gTVNameRaterText16[];
+extern const u8 gTVNameRaterText17[];
+extern const u8 gTVNameRaterText18[];
+extern const u8 gTVNameRaterText19[];
+extern const u8 gTVPokemonTodayFailedCaptureText1[];
+extern const u8 gTVPokemonTodayFailedCaptureText2[];
+extern const u8 gTVPokemonTodayFailedCaptureText3[];
+extern const u8 gTVPokemonTodayFailedCaptureText4[];
+extern const u8 gTVPokemonTodayFailedCaptureText5[];
+extern const u8 gTVPokemonTodayFailedCaptureText6[];
+extern const u8 gTVPokemonTodayFailedCaptureText7[];
+extern const u8 gTVFishingGuruAdviceText1[];
+extern const u8 gTVFishingGuruAdviceText2[];
+extern const u8 gTVWorldOfMastersText1[];
+extern const u8 gTVWorldOfMastersText2[];
+extern const u8 gTVWorldOfMastersText3[];
+extern const u8 gTVGabbyAndTyText1[];
+extern const u8 gTVGabbyAndTyText2[];
+extern const u8 gTVGabbyAndTyText3[];
+extern const u8 gTVGabbyAndTyText4[];
+extern const u8 gTVGabbyAndTyText5[];
+extern const u8 gTVGabbyAndTyText6[];
+extern const u8 gTVGabbyAndTyText7[];
+extern const u8 gTVGabbyAndTyText8[];
+extern const u8 gTVGabbyAndTyText9[];
+
+const u8 *const gTVNewsTextGroup1[] =
+{
+ NULL,
+ gTVNewsText_EnergyGuru1,
+ gTVNewsText_GameCorner1,
+ gTVNewsText_LilycoveDepartment1,
+};
+
+const u8 *const gTVNewsTextGroup2[] =
+{
+ NULL,
+ gTVNewsText_EnergyGuru2,
+ gTVNewsText_GameCorner2,
+ gTVNewsText_LilycoveDepartment2,
+};
+
+const u8 *const gTVNewsTextGroup3[] =
+{
+ NULL,
+ gTVNewsText_EnergyGuru3,
+ gTVNewsText_GameCorner3,
+ gTVNewsText_LilycoveDepartment3,
+};
+
+u8 *const gUnknown_083D1464[] =
+{
+ gStringVar1,
+ gStringVar2,
+ gStringVar3,
+};
+
+const u8 *const gTVFanClubTextGroup[] =
+{
+ gTVFanClubText1,
+ gTVFanClubText2,
+ gTVFanClubText3,
+ gTVFanClubText4,
+ gTVFanClubText5,
+ gTVFanClubText6,
+ gTVFanClubText7,
+ gTVFanClubText8,
+};
+
+const u8 *const gTVRecentHappeningsTextGroup[] =
+{
+ gTVRecentHappeningsText1,
+ gTVRecentHappeningsText2,
+ gTVRecentHappeningsText3,
+ gTVRecentHappeningsText4,
+ gTVRecentHappeningsText5,
+ gTVRecentHappeningsText6,
+};
+
+const u8 *const gTVFanClubOpinionsTextGroup[] =
+{
+ gTVFanClubOpinionsText1,
+ gTVFanClubOpinionsText2,
+ gTVFanClubOpinionsText3,
+ gTVFanClubOpinionsText4,
+ gTVFanClubOpinionsText5,
+};
+
+const u8 *const gTVPokemonOutbreakTextGroup[] =
+{
+ gTVPokemonOutbreakText,
+};
+
+const u8 *const gTVPokemonTodayTextGroup[] =
+{
+ gTVPokemonTodayText1,
+ gTVPokemonTodayText2,
+ gTVPokemonTodayText3,
+ gTVPokemonTodayText4,
+ gTVPokemonTodayText5,
+ gTVPokemonTodayText6,
+ gTVPokemonTodayText7,
+ gTVPokemonTodayText8,
+ gTVPokemonTodayText9,
+ gTVPokemonTodayText10,
+ gTVPokemonTodayText11,
+ gTVPokemonTodayText12,
+};
+
+const u8 *const gTVSmartShopperTextGroup[] =
+{
+ gTVSmartShopperText1,
+ gTVSmartShopperText2,
+ gTVSmartShopperText3,
+ gTVSmartShopperText4,
+ gTVSmartShopperText5,
+ gTVSmartShopperText6,
+ gTVSmartShopperText7,
+ gTVSmartShopperText8,
+ gTVSmartShopperText9,
+ gTVSmartShopperText10,
+ gTVSmartShopperText11,
+ gTVSmartShopperText12,
+ gTVSmartShopperText13,
+};
+
+const u8 *const gTVBravoTrainerTextGroup[] =
+{
+ gTVBravoTrainerText1,
+ gTVBravoTrainerText2,
+ gTVBravoTrainerText3,
+ gTVBravoTrainerText4,
+ gTVBravoTrainerText5,
+ gTVBravoTrainerText6,
+ gTVBravoTrainerText7,
+ gTVBravoTrainerText8,
+ gTVBravoTrainerText9,
+};
+
+const u8 *const gTVBravoTrainerBattleTowerTextGroup[] =
+{
+ gTVBravoTrainerBattleTowerText1,
+ gTVBravoTrainerBattleTowerText2,
+ gTVBravoTrainerBattleTowerText3,
+ gTVBravoTrainerBattleTowerText4,
+ gTVBravoTrainerBattleTowerText5,
+ gTVBravoTrainerBattleTowerText6,
+ gTVBravoTrainerBattleTowerText7,
+ gTVBravoTrainerBattleTowerText8,
+ gTVBravoTrainerBattleTowerText9,
+ gTVBravoTrainerBattleTowerText10,
+ gTVBravoTrainerBattleTowerText11,
+ gTVBravoTrainerBattleTowerText12,
+ gTVBravoTrainerBattleTowerText13,
+ gTVBravoTrainerBattleTowerText14,
+ gTVBravoTrainerBattleTowerText15,
+};
+
+const u8 *const gTVNameRaterTextGroup[] =
+{
+ gTVNameRaterText1,
+ gTVNameRaterText2,
+ gTVNameRaterText3,
+ gTVNameRaterText4,
+ gTVNameRaterText5,
+ gTVNameRaterText6,
+ gTVNameRaterText7,
+ gTVNameRaterText8,
+ gTVNameRaterText9,
+ gTVNameRaterText10,
+ gTVNameRaterText11,
+ gTVNameRaterText12,
+ gTVNameRaterText13,
+ gTVNameRaterText14,
+ gTVNameRaterText15,
+ gTVNameRaterText16,
+ gTVNameRaterText17,
+ gTVNameRaterText18,
+ gTVNameRaterText19,
+};
+
+const u8 *const gTVPokemonTodayFailedCaptureTextGroup[] =
+{
+ gTVPokemonTodayFailedCaptureText1,
+ gTVPokemonTodayFailedCaptureText2,
+ gTVPokemonTodayFailedCaptureText3,
+ gTVPokemonTodayFailedCaptureText4,
+ gTVPokemonTodayFailedCaptureText5,
+ gTVPokemonTodayFailedCaptureText6,
+ gTVPokemonTodayFailedCaptureText7,
+};
+
+const u8 *const gTVFishingGuruAdviceTextGroup[] =
+{
+ gTVFishingGuruAdviceText1,
+ gTVFishingGuruAdviceText2,
+};
+
+const u8 *const gTVWorldOfMastersTextGroup[] =
+{
+ gTVWorldOfMastersText1,
+ gTVWorldOfMastersText2,
+ gTVWorldOfMastersText3,
+};
+
+const u8 *const gTVGabbyAndTyTextGroup[] =
+{
+ gTVGabbyAndTyText1,
+ gTVGabbyAndTyText2,
+ gTVGabbyAndTyText3,
+ gTVGabbyAndTyText4,
+ gTVGabbyAndTyText5,
+ gTVGabbyAndTyText6,
+ gTVGabbyAndTyText7,
+ gTVGabbyAndTyText8,
+ gTVGabbyAndTyText9,
+};
+
void ClearTVShowData(void)
{
u8 showidx;
diff --git a/src/pokemon/pokemon_3.c b/src/pokemon/pokemon_3.c
index 19786e506..a8e824b33 100644
--- a/src/pokemon/pokemon_3.c
+++ b/src/pokemon/pokemon_3.c
@@ -56,10 +56,10 @@ extern u16 gBattlePartyID[];
extern u8 gJapaneseNidoranNames[][11];
extern u8 gUnknown_082082F8[];
-extern u8 gUnknown_083FFDB3[];
-extern u8 gUnknown_083FFDD3[];
-extern u8 gUnknown_083FEE5D[];
-extern u8 gUnknown_083FEE92[];
+extern u8 BattleText_Rose[];
+extern u8 BattleText_UnknownString3[];
+extern u8 BattleText_MistShroud[];
+extern u8 BattleText_GetPumped[];
extern u8 *gUnknown_08400F58[];
bool8 HealStatusConditions(struct Pokemon *mon, u32 unused, u32 healMask, u8 battleId)
@@ -197,8 +197,8 @@ void sub_803F324(int stat)
{
gBankTarget = gBankInMenu;
StringCopy(gBattleTextBuff1, gUnknown_08400F58[gUnknown_082082F8[stat]]);
- StringCopy(gBattleTextBuff2, gUnknown_083FFDB3);
- StrCpyDecodeToDisplayedStringBattle(gUnknown_083FFDD3);
+ StringCopy(gBattleTextBuff2, BattleText_Rose);
+ StrCpyDecodeToDisplayedStringBattle(BattleText_UnknownString3);
}
u8 *sub_803F378(u16 itemId)
@@ -237,7 +237,7 @@ u8 *sub_803F378(u16 itemId)
else
{
gBankAttacker = gBankInMenu;
- StrCpyDecodeToDisplayedStringBattle(gUnknown_083FEE92);
+ StrCpyDecodeToDisplayedStringBattle(BattleText_GetPumped);
}
}
}
@@ -245,7 +245,7 @@ u8 *sub_803F378(u16 itemId)
if (itemEffect[3] & 0x80)
{
gBankAttacker = gBankInMenu;
- StrCpyDecodeToDisplayedStringBattle(gUnknown_083FEE5D);
+ StrCpyDecodeToDisplayedStringBattle(BattleText_MistShroud);
}
return gDisplayedStringBattle;
diff --git a/src/scene/evolution_scene.c b/src/scene/evolution_scene.c
index 755176c81..4b73ab5b2 100644
--- a/src/scene/evolution_scene.c
+++ b/src/scene/evolution_scene.c
@@ -85,9 +85,9 @@ extern u8 gBattleCommunication[];
#define sEvoCursorPos gBattleCommunication[1] // when learning a new move
#define sEvoGraphicsTaskID gBattleCommunication[2]
-extern const u8 gUnknown_08400C4A[];
-extern const u8 gUnknown_08400C60[];
-extern const u8 gUnknown_08400C8D[];
+extern const u8 BattleText_StartEvo[];
+extern const u8 BattleText_FinishEvo[];
+extern const u8 BattleText_StopEvo[];
extern void * const gUnknown_081FAF4C[];
extern const u8* const gBattleStringsTable[];
@@ -557,7 +557,7 @@ static void Task_EvolutionScene(u8 taskID)
case 1: // print 'whoa, poke is evolving!!!' msg
if (!gPaletteFade.active)
{
- StringExpandPlaceholders(gStringVar4, gUnknown_08400C4A);
+ StringExpandPlaceholders(gStringVar4, BattleText_StartEvo);
sub_8002EB0(&gUnknown_03004210, gStringVar4, 144, 2, 15);
gTasks[taskID].tState++;
}
@@ -645,7 +645,7 @@ static void Task_EvolutionScene(u8 taskID)
case 13: // congratulations string and rename prompt
if (IsCryFinished() && !gPaletteFade.active)
{
- StringExpandPlaceholders(gStringVar4, gUnknown_08400C60);
+ StringExpandPlaceholders(gStringVar4, BattleText_FinishEvo);
sub_8002EB0(&gUnknown_03004210, gStringVar4, 144, 2, 15);
PlayBGM(BGM_FANFA5);
gTasks[taskID].tState++;
@@ -714,7 +714,7 @@ static void Task_EvolutionScene(u8 taskID)
case 18: // after the cry, print the string 'WHOA IT DID NOT EVOLVE!!!'
if (IsCryFinished())
{
- StringExpandPlaceholders(gStringVar4, gUnknown_08400C8D);
+ StringExpandPlaceholders(gStringVar4, BattleText_StopEvo);
sub_8002EB0(&gUnknown_03004210, gStringVar4, 144, 2, 15);
gTasks[taskID].tEvoWasStopped = TRUE;
gTasks[taskID].tState = 14;
@@ -899,7 +899,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
switch (gTasks[taskID].tState)
{
case 0:
- StringExpandPlaceholders(gStringVar4, gUnknown_08400C4A);
+ StringExpandPlaceholders(gStringVar4, BattleText_StartEvo);
sub_8002EB0(&gUnknown_03004828->window, gStringVar4, gUnknown_03004828->textWindowBaseTileNum, 2, 15);
gTasks[taskID].tState++;
break;
@@ -987,7 +987,7 @@ static void Task_TradeEvolutionScene(u8 taskID)
case 12:
if (IsCryFinished() && !gPaletteFade.active)
{
- StringExpandPlaceholders(gStringVar4, gUnknown_08400C60);
+ StringExpandPlaceholders(gStringVar4, BattleText_FinishEvo);
sub_8002EB0(&gUnknown_03004828->window, gStringVar4, gUnknown_03004828->textWindowBaseTileNum, 2, 15);
PlayFanfare(BGM_FANFA5);
gTasks[taskID].tState++;