summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2019-11-23 16:51:05 -0500
committerEvan <eroelke@gmail.com>2019-12-04 14:54:50 -0700
commitaa0d8cdaa0b57ed4b625dad321886d52d2b6dbb7 (patch)
treee15118f4cd260882564607fd9d4b726f74fc2776
parent1ffe7f78cb75b5e5f63bd803ad3fd47126a2e7c6 (diff)
battle_message 1
-rw-r--r--asm/battle_message.s2230
-rw-r--r--data/battle_message.s2923
-rw-r--r--include/battle.h3
-rw-r--r--include/battle_message.h10
-rw-r--r--include/battle_string_ids.h2
-rw-r--r--include/battle_tower.h5
-rw-r--r--include/constants/trainers.h149
-rw-r--r--include/data.h2
-rw-r--r--include/event_scripts.h6
-rw-r--r--include/strings.h2
-rw-r--r--include/trainer_tower.h2
-rw-r--r--ld_script.txt3
-rw-r--r--src/battle_message.c2184
-rw-r--r--sym_ewram.txt8
14 files changed, 2236 insertions, 5293 deletions
diff --git a/asm/battle_message.s b/asm/battle_message.s
index fc21f17ee..edea8e78b 100644
--- a/asm/battle_message.s
+++ b/asm/battle_message.s
@@ -5,2180 +5,6 @@
.text
- thumb_func_start BufferStringBattle
-BufferStringBattle: @ 80D7274
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r6, r0, 16
- movs r7, 0
- ldr r4, _080D7330 @ =gUnknown_2039A34
- ldr r0, _080D7334 @ =gActiveBattler
- mov r8, r0
- ldrb r1, [r0]
- lsls r1, 9
- ldr r0, _080D7338 @ =gBattleBufferA + 4
- adds r1, r0
- str r1, [r4]
- ldr r2, _080D733C @ =gLastUsedItem
- ldrh r0, [r1, 0x4]
- strh r0, [r2]
- ldr r2, _080D7340 @ =gLastUsedAbility
- ldrb r0, [r1, 0x6]
- strb r0, [r2]
- ldr r5, _080D7344 @ =gBattleScripting
- ldrb r0, [r1, 0x7]
- strb r0, [r5, 0x17]
- ldr r3, _080D7348 @ =gBattleStruct
- ldr r0, [r3]
- adds r0, 0x52
- ldrb r1, [r1, 0x8]
- strb r1, [r0]
- ldr r0, [r3]
- adds r0, 0xAD
- ldr r1, [r4]
- ldrb r1, [r1, 0x9]
- strb r1, [r0]
- ldr r1, _080D734C @ =gPotentialItemEffectBattler
- ldr r2, [r4]
- ldrb r0, [r2, 0xA]
- strb r0, [r1]
- ldr r0, [r3]
- adds r0, 0x8E
- ldrb r1, [r2, 0xB]
- strb r1, [r0]
- movs r2, 0
- mov r12, r8
- mov r10, r5
- ldr r1, _080D7350 @ =gBattleTextBuff1
- mov r9, r1
- ldr r3, _080D7354 @ =gUnknown_2039A30
-_080D72D6:
- adds r0, r2, r3
- ldr r1, [r4]
- adds r1, 0xC
- adds r1, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x3
- ble _080D72D6
- movs r2, 0
- ldr r0, _080D7350 @ =gBattleTextBuff1
- mov r8, r0
- ldr r3, _080D7330 @ =gUnknown_2039A34
- ldr r5, _080D7358 @ =gBattleTextBuff2
- ldr r4, _080D735C @ =gBattleTextBuff3
-_080D72F4:
- mov r0, r8
- adds r1, r2, r0
- ldr r0, [r3]
- adds r0, 0x10
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r1, r2, r5
- ldr r0, [r3]
- adds r0, 0x20
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r1, r2, r4
- ldr r0, [r3]
- adds r0, 0x30
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x1
- cmp r2, 0xF
- ble _080D72F4
- cmp r6, 0x5
- bls _080D7326
- b _080D77B8
-_080D7326:
- lsls r0, r6, 2
- ldr r1, _080D7360 @ =_080D7364
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080D7330: .4byte gUnknown_2039A34
-_080D7334: .4byte gActiveBattler
-_080D7338: .4byte gBattleBufferA + 4
-_080D733C: .4byte gLastUsedItem
-_080D7340: .4byte gLastUsedAbility
-_080D7344: .4byte gBattleScripting
-_080D7348: .4byte gBattleStruct
-_080D734C: .4byte gPotentialItemEffectBattler
-_080D7350: .4byte gBattleTextBuff1
-_080D7354: .4byte gUnknown_2039A30
-_080D7358: .4byte gBattleTextBuff2
-_080D735C: .4byte gBattleTextBuff3
-_080D7360: .4byte _080D7364
- .align 2, 0
-_080D7364:
- .4byte _080D737C
- .4byte _080D7428
- .4byte _080D74C8
- .4byte _080D7558
- .4byte _080D75F0
- .4byte _080D7654
-_080D737C:
- ldr r0, _080D739C @ =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080D73C4
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080D73B4
- movs r0, 0x40
- ands r1, r0
- cmp r1, 0
- beq _080D73A4
- ldr r7, _080D73A0 @ =gUnknown_83FD397
- b _080D77DC
- .align 2, 0
-_080D739C: .4byte gBattleTypeFlags
-_080D73A0: .4byte gUnknown_83FD397
-_080D73A4:
- ldr r0, _080D73B8 @ =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- movs r0, 0xC0
- lsls r0, 4
- ldr r7, _080D73BC @ =gUnknown_83FD383
- cmp r1, r0
- beq _080D73B4
- b _080D77DC
-_080D73B4:
- ldr r7, _080D73C0 @ =gUnknown_83FD366
- b _080D77DC
- .align 2, 0
-_080D73B8: .4byte gTrainerBattleOpponent_A
-_080D73BC: .4byte gUnknown_83FD383
-_080D73C0: .4byte gUnknown_83FD366
-_080D73C4:
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _080D73E8
- movs r0, 0x80
- lsls r0, 6
- ands r1, r0
- ldr r7, _080D73E0 @ =gUnknown_83FD2D9
- cmp r1, 0
- bne _080D73DC
- b _080D77DC
-_080D73DC:
- ldr r7, _080D73E4 @ =gUnknown_83FD30D
- b _080D77DC
- .align 2, 0
-_080D73E0: .4byte gUnknown_83FD2D9
-_080D73E4: .4byte gUnknown_83FD30D
-_080D73E8:
- movs r0, 0x80
- lsls r0, 6
- ands r0, r1
- cmp r0, 0
- beq _080D73FC
- ldr r7, _080D73F8 @ =gUnknown_83FD297
- b _080D77DC
- .align 2, 0
-_080D73F8: .4byte gUnknown_83FD297
-_080D73FC:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D740C
- ldr r7, _080D7408 @ =gUnknown_83FD2BF
- b _080D77DC
- .align 2, 0
-_080D7408: .4byte gUnknown_83FD2BF
-_080D740C:
- movs r0, 0x80
- lsls r0, 2
- ands r1, r0
- ldr r7, _080D7420 @ =gUnknown_83FD284
- cmp r1, 0
- bne _080D741A
- b _080D77DC
-_080D741A:
- ldr r7, _080D7424 @ =gUnknown_83FD2AA
- b _080D77DC
- .align 2, 0
-_080D7420: .4byte gUnknown_83FD284
-_080D7424: .4byte gUnknown_83FD2AA
-_080D7428:
- mov r1, r12
- ldrb r0, [r1]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080D7468
- ldr r0, _080D7454 @ =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D7460
- movs r0, 0x40
- ands r1, r0
- ldr r7, _080D7458 @ =gUnknown_83FD466
- cmp r1, 0
- bne _080D744E
- b _080D77DC
-_080D744E:
- ldr r7, _080D745C @ =gUnknown_83FD4B5
- b _080D77DC
- .align 2, 0
-_080D7454: .4byte gBattleTypeFlags
-_080D7458: .4byte gUnknown_83FD466
-_080D745C: .4byte gUnknown_83FD4B5
-_080D7460:
- ldr r7, _080D7464 @ =gUnknown_83FD45E
- b _080D77DC
- .align 2, 0
-_080D7464: .4byte gUnknown_83FD45E
-_080D7468:
- ldr r0, _080D7480 @ =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D74A0
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080D7488
- ldr r7, _080D7484 @ =gUnknown_83FD41E
- b _080D77DC
- .align 2, 0
-_080D7480: .4byte gBattleTypeFlags
-_080D7484: .4byte gUnknown_83FD41E
-_080D7488:
- movs r0, 0x2
- ands r1, r0
- ldr r7, _080D7498 @ =gUnknown_83FD3C7
- cmp r1, 0
- bne _080D7494
- b _080D77DC
-_080D7494:
- ldr r7, _080D749C @ =gUnknown_83FD407
- b _080D77DC
- .align 2, 0
-_080D7498: .4byte gUnknown_83FD3C7
-_080D749C: .4byte gUnknown_83FD407
-_080D74A0:
- movs r0, 0x2
- ands r1, r0
- cmp r1, 0
- beq _080D74B8
- ldr r0, _080D74BC @ =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- movs r0, 0xC0
- lsls r0, 4
- ldr r7, _080D74C0 @ =gUnknown_83FD3F7
- cmp r1, r0
- beq _080D74B8
- b _080D77DC
-_080D74B8:
- ldr r7, _080D74C4 @ =gUnknown_83FD3B1
- b _080D77DC
- .align 2, 0
-_080D74BC: .4byte gTrainerBattleOpponent_A
-_080D74C0: .4byte gUnknown_83FD3F7
-_080D74C4: .4byte gUnknown_83FD3B1
-_080D74C8:
- mov r1, r12
- ldrb r0, [r1]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080D7520
- ldr r0, _080D74E8 @ =gBattleStruct
- ldr r0, [r0]
- adds r0, 0xAD
- ldrb r2, [r0]
- cmp r2, 0
- bne _080D74F0
- ldr r7, _080D74EC @ =gUnknown_83FD4CD
- b _080D77DC
- .align 2, 0
-_080D74E8: .4byte gBattleStruct
-_080D74EC: .4byte gUnknown_83FD4CD
-_080D74F0:
- cmp r2, 0x1
- beq _080D7500
- ldr r0, _080D7504 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D750C
-_080D7500:
- ldr r7, _080D7508 @ =gUnknown_83FD4EB
- b _080D77DC
- .align 2, 0
-_080D7504: .4byte gBattleTypeFlags
-_080D7508: .4byte gUnknown_83FD4EB
-_080D750C:
- ldr r7, _080D7518 @ =gUnknown_83FD50D
- cmp r2, 0x2
- beq _080D7514
- b _080D77DC
-_080D7514:
- ldr r7, _080D751C @ =gUnknown_83FD4FA
- b _080D77DC
- .align 2, 0
-_080D7518: .4byte gUnknown_83FD50D
-_080D751C: .4byte gUnknown_83FD4FA
-_080D7520:
- ldr r0, _080D7540 @ =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 4
- cmp r1, r0
- bne _080D7550
- ldr r0, _080D7544 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- ldr r7, _080D7548 @ =gUnknown_83FD535
- cmp r0, 0
- bne _080D753C
- b _080D77DC
-_080D753C:
- ldr r7, _080D754C @ =gUnknown_83FD545
- b _080D77DC
- .align 2, 0
-_080D7540: .4byte gTrainerBattleOpponent_A
-_080D7544: .4byte gBattleTypeFlags
-_080D7548: .4byte gUnknown_83FD535
-_080D754C: .4byte gUnknown_83FD545
-_080D7550:
- ldr r7, _080D7554 @ =gUnknown_83FD522
- b _080D77DC
- .align 2, 0
-_080D7554: .4byte gUnknown_83FD522
-_080D7558:
- mov r1, r10
- ldrb r0, [r1, 0x17]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080D75B0
- ldr r0, _080D7584 @ =gBattleStruct
- ldr r0, [r0]
- adds r0, 0xAD
- ldrb r2, [r0]
- cmp r2, 0
- beq _080D757E
- ldr r0, _080D7588 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D7590
-_080D757E:
- ldr r7, _080D758C @ =gUnknown_83FD475
- b _080D77DC
- .align 2, 0
-_080D7584: .4byte gBattleStruct
-_080D7588: .4byte gBattleTypeFlags
-_080D758C: .4byte gUnknown_83FD475
-_080D7590:
- cmp r2, 0x1
- bne _080D759C
- ldr r7, _080D7598 @ =gUnknown_83FD47D
- b _080D77DC
- .align 2, 0
-_080D7598: .4byte gUnknown_83FD47D
-_080D759C:
- ldr r7, _080D75A8 @ =gUnknown_83FD497
- cmp r2, 0x2
- beq _080D75A4
- b _080D77DC
-_080D75A4:
- ldr r7, _080D75AC @ =gUnknown_83FD488
- b _080D77DC
- .align 2, 0
-_080D75A8: .4byte gUnknown_83FD497
-_080D75AC: .4byte gUnknown_83FD488
-_080D75B0:
- ldr r0, _080D75C8 @ =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080D75E0
- movs r0, 0x40
- ands r1, r0
- cmp r1, 0
- beq _080D75D0
- ldr r7, _080D75CC @ =gUnknown_83FD44E
- b _080D77DC
- .align 2, 0
-_080D75C8: .4byte gBattleTypeFlags
-_080D75CC: .4byte gUnknown_83FD44E
-_080D75D0:
- ldr r0, _080D75E4 @ =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- movs r0, 0xC0
- lsls r0, 4
- ldr r7, _080D75E8 @ =gUnknown_83FD43E
- cmp r1, r0
- beq _080D75E0
- b _080D77DC
-_080D75E0:
- ldr r7, _080D75EC @ =gUnknown_83FD3E4
- b _080D77DC
- .align 2, 0
-_080D75E4: .4byte gTrainerBattleOpponent_A
-_080D75E8: .4byte gUnknown_83FD43E
-_080D75EC: .4byte gUnknown_83FD3E4
-_080D75F0:
- mov r0, r9
- bl sub_80D86C8
- ldr r0, _080D761C @ =gUnknown_2039A34
- ldr r2, [r0]
- ldrh r1, [r2]
- movs r0, 0xB1
- lsls r0, 1
- cmp r1, r0
- bls _080D762C
- ldr r0, _080D7620 @ =gBattleTextBuff2
- ldr r2, _080D7624 @ =gUnknown_83FEA28
- ldr r1, _080D7628 @ =gBattleStruct
- ldr r1, [r1]
- adds r1, 0x8E
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- b _080D763C
- .align 2, 0
-_080D761C: .4byte gUnknown_2039A34
-_080D7620: .4byte gBattleTextBuff2
-_080D7624: .4byte gUnknown_83FEA28
-_080D7628: .4byte gBattleStruct
-_080D762C:
- ldr r0, _080D7648 @ =gBattleTextBuff2
- ldrh r2, [r2]
- movs r1, 0xD
- muls r1, r2
- ldr r2, _080D764C @ =gMoveNames
- adds r1, r2
- bl StringCopy
-_080D763C:
- ldr r0, _080D7648 @ =gBattleTextBuff2
- bl sub_80D8720
- ldr r7, _080D7650 @ =gUnknown_83FD57B
- b _080D77DC
- .align 2, 0
-_080D7648: .4byte gBattleTextBuff2
-_080D764C: .4byte gMoveNames
-_080D7650: .4byte gUnknown_83FD57B
-_080D7654:
- ldr r4, _080D7694 @ =gBattleTextBuff1
- ldrb r1, [r4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080D76D4
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r4]
- mov r1, r12
- ldrb r0, [r1]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D7682
- ldrb r1, [r4]
- cmp r1, 0x3
- beq _080D7682
- movs r0, 0x3
- eors r0, r1
- strb r0, [r4]
-_080D7682:
- ldr r0, _080D7694 @ =gBattleTextBuff1
- ldrb r0, [r0]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080D769C
- ldr r7, _080D7698 @ =gUnknown_83FCC8A
- b _080D77DC
- .align 2, 0
-_080D7694: .4byte gBattleTextBuff1
-_080D7698: .4byte gUnknown_83FCC8A
-_080D769C:
- ldr r0, _080D76AC @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080D76B4
- ldr r7, _080D76B0 @ =gUnknown_83FCD9F
- b _080D77DC
- .align 2, 0
-_080D76AC: .4byte gBattleTypeFlags
-_080D76B0: .4byte gUnknown_83FCD9F
-_080D76B4:
- ldr r0, _080D76C8 @ =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- movs r0, 0xC0
- lsls r0, 4
- ldr r7, _080D76CC @ =gUnknown_83FCD92
- cmp r1, r0
- beq _080D76C4
- b _080D77DC
-_080D76C4:
- ldr r7, _080D76D0 @ =gUnknown_83FE9D4
- b _080D77DC
- .align 2, 0
-_080D76C8: .4byte gTrainerBattleOpponent_A
-_080D76CC: .4byte gUnknown_83FCD92
-_080D76D0: .4byte gUnknown_83FE9D4
-_080D76D4:
- mov r1, r12
- ldrb r0, [r1]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D76F0
- ldrb r1, [r4]
- cmp r1, 0x3
- beq _080D76F0
- movs r0, 0x3
- eors r0, r1
- strb r0, [r4]
-_080D76F0:
- ldr r0, _080D7710 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080D7738
- ldr r0, _080D7714 @ =gBattleTextBuff1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080D7728
- cmp r0, 0x2
- bgt _080D7718
- cmp r0, 0x1
- beq _080D771E
- b _080D77DC
- .align 2, 0
-_080D7710: .4byte gBattleTypeFlags
-_080D7714: .4byte gBattleTextBuff1
-_080D7718:
- cmp r0, 0x3
- beq _080D7730
- b _080D77DC
-_080D771E:
- ldr r7, _080D7724 @ =gUnknown_83FCCF8
- b _080D77DC
- .align 2, 0
-_080D7724: .4byte gUnknown_83FCCF8
-_080D7728:
- ldr r7, _080D772C @ =gUnknown_83FCD27
- b _080D77DC
- .align 2, 0
-_080D772C: .4byte gUnknown_83FCD27
-_080D7730:
- ldr r7, _080D7734 @ =gUnknown_83FCD66
- b _080D77DC
- .align 2, 0
-_080D7734: .4byte gUnknown_83FCD66
-_080D7738:
- ldr r0, _080D7758 @ =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- movs r0, 0xC0
- lsls r0, 4
- cmp r1, r0
- bne _080D7780
- ldr r0, _080D775C @ =gBattleTextBuff1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080D7770
- cmp r0, 0x2
- bgt _080D7760
- cmp r0, 0x1
- beq _080D7766
- b _080D77DC
- .align 2, 0
-_080D7758: .4byte gTrainerBattleOpponent_A
-_080D775C: .4byte gBattleTextBuff1
-_080D7760:
- cmp r0, 0x3
- beq _080D7778
- b _080D77DC
-_080D7766:
- ldr r7, _080D776C @ =gUnknown_83FD1C7
- b _080D77DC
- .align 2, 0
-_080D776C: .4byte gUnknown_83FD1C7
-_080D7770:
- ldr r7, _080D7774 @ =gUnknown_83FE9E4
- b _080D77DC
- .align 2, 0
-_080D7774: .4byte gUnknown_83FE9E4
-_080D7778:
- ldr r7, _080D777C @ =gUnknown_83FE9FF
- b _080D77DC
- .align 2, 0
-_080D777C: .4byte gUnknown_83FE9FF
-_080D7780:
- ldr r0, _080D7794 @ =gBattleTextBuff1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080D77A8
- cmp r0, 0x2
- bgt _080D7798
- cmp r0, 0x1
- beq _080D779E
- b _080D77DC
- .align 2, 0
-_080D7794: .4byte gBattleTextBuff1
-_080D7798:
- cmp r0, 0x3
- beq _080D77B0
- b _080D77DC
-_080D779E:
- ldr r7, _080D77A4 @ =gUnknown_83FCCE4
- b _080D77DC
- .align 2, 0
-_080D77A4: .4byte gUnknown_83FCCE4
-_080D77A8:
- ldr r7, _080D77AC @ =gUnknown_83FCD0F
- b _080D77DC
- .align 2, 0
-_080D77AC: .4byte gUnknown_83FCD0F
-_080D77B0:
- ldr r7, _080D77B4 @ =gUnknown_83FCD41
- b _080D77DC
- .align 2, 0
-_080D77B4: .4byte gUnknown_83FCD41
-_080D77B8:
- ldr r0, _080D77C8 @ =0x00000181
- cmp r6, r0
- bls _080D77D0
- ldr r1, _080D77CC @ =gDisplayedStringBattle
- movs r0, 0xFF
- strb r0, [r1]
- b _080D77E2
- .align 2, 0
-_080D77C8: .4byte 0x00000181
-_080D77CC: .4byte gDisplayedStringBattle
-_080D77D0:
- ldr r1, _080D77F0 @ =gBattleStringsTable
- adds r0, r6, 0
- subs r0, 0xC
- lsls r0, 2
- adds r0, r1
- ldr r7, [r0]
-_080D77DC:
- adds r0, r7, 0
- bl BattleStringExpandPlaceholdersToDisplayedString
-_080D77E2:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D77F0: .4byte gBattleStringsTable
- thumb_func_end BufferStringBattle
-
- thumb_func_start BattleStringExpandPlaceholdersToDisplayedString
-BattleStringExpandPlaceholdersToDisplayedString: @ 80D77F4
- push {lr}
- ldr r1, _080D7800 @ =gDisplayedStringBattle
- bl BattleStringExpandPlaceholders
- pop {r1}
- bx r1
- .align 2, 0
-_080D7800: .4byte gDisplayedStringBattle
- thumb_func_end BattleStringExpandPlaceholdersToDisplayedString
-
- thumb_func_start TryGetStatusString
-TryGetStatusString: @ 80D7804
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, _080D781C @ =gUnknown_83FEB5C
- mov r0, sp
- movs r2, 0x8
- bl memcpy
- mov r2, sp
- movs r3, 0
- b _080D782C
- .align 2, 0
-_080D781C: .4byte gUnknown_83FEB5C
-_080D7820:
- strb r1, [r2]
- adds r4, 0x1
- adds r2, 0x1
- adds r3, 0x1
- cmp r3, 0x7
- bhi _080D7834
-_080D782C:
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _080D7820
-_080D7834:
- ldr r5, [sp]
- ldr r4, [sp, 0x4]
- movs r3, 0
- ldr r2, _080D7850 @ =gStatusConditionStringsTable
-_080D783C:
- ldr r1, [r2]
- ldr r0, [r1]
- cmp r5, r0
- bne _080D7854
- ldr r0, [r1, 0x4]
- cmp r4, r0
- bne _080D7854
- ldr r0, [r2, 0x4]
- b _080D785E
- .align 2, 0
-_080D7850: .4byte gStatusConditionStringsTable
-_080D7854:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x6
- bls _080D783C
- movs r0, 0
-_080D785E:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end TryGetStatusString
-
- thumb_func_start BattleStringExpandPlaceholders
-BattleStringExpandPlaceholders: @ 80D7868
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x20
- mov r9, r0
- mov r8, r1
- movs r6, 0
- movs r4, 0
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r7, r0, 24
- mov r0, r9
- ldrb r1, [r0]
- bl _080D83F0
-_080D788A:
- cmp r1, 0xFD
- beq _080D7892
- bl _080D83E0
-_080D7892:
- movs r1, 0x1
- add r9, r1
- mov r2, r9
- ldrb r0, [r2]
- cmp r0, 0x30
- bls _080D78A2
- bl _080D8382
-_080D78A2:
- lsls r0, 2
- ldr r1, _080D78AC @ =_080D78B0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080D78AC: .4byte _080D78B0
- .align 2, 0
-_080D78B0:
- .4byte _080D7974
- .4byte _080D79A2
- .4byte _080D79DE
- .4byte _080D79E8
- .4byte _080D79F4
- .4byte _080D7A00
- .4byte _080D7A24
- .4byte _080D7A48
- .4byte _080D7A6C
- .4byte _080D7A90
- .4byte _080D7ABC
- .4byte _080D7AEC
- .4byte _080D7B1C
- .4byte _080D7B4C
- .4byte _080D7BE0
- .4byte _080D7C4C
- .4byte _080D7CC0
- .4byte _080D7D34
- .4byte _080D7DA8
- .4byte _080D7E1C
- .4byte _080D7E90
- .4byte _080D7EA8
- .4byte _080D7EE4
- .4byte _080D7FB0
- .4byte _080D7FB8
- .4byte _080D7FC8
- .4byte _080D7FD8
- .4byte _080D7FE8
- .4byte _080D8008
- .4byte _080D80A4
- .4byte _080D8162
- .4byte _080D8174
- .4byte _080D8188
- .4byte _080D819C
- .4byte _080D81C0
- .4byte _080D81DC
- .4byte _080D81E8
- .4byte _080D8214
- .4byte _080D8260
- .4byte _080D82F8
- .4byte _080D8340
- .4byte _080D8348
- .4byte _080D8318
- .4byte _080D8320
- .4byte _080D8368
- .4byte _080D8370
- .4byte _080D8240
- .4byte _080D8250
- .4byte _080D79B8
-_080D7974:
- ldr r5, _080D7984 @ =gBattleTextBuff1
- ldrb r0, [r5]
- cmp r0, 0xFD
- bne _080D798C
- ldr r4, _080D7988 @ =gStringVar1
- adds r0, r5, 0
- b _080D79C4
- .align 2, 0
-_080D7984: .4byte gBattleTextBuff1
-_080D7988: .4byte gStringVar1
-_080D798C:
- adds r0, r5, 0
- bl TryGetStatusString
- adds r4, r0, 0
- cmp r4, 0
- beq _080D799C
- bl _080D8382
-_080D799C:
- adds r4, r5, 0
- bl _080D8382
-_080D79A2:
- ldr r1, _080D79B0 @ =gBattleTextBuff2
- ldrb r0, [r1]
- cmp r0, 0xFD
- bne _080D79D8
- ldr r4, _080D79B4 @ =gStringVar2
- b _080D79C2
- .align 2, 0
-_080D79B0: .4byte gBattleTextBuff2
-_080D79B4: .4byte gStringVar2
-_080D79B8:
- ldr r1, _080D79D0 @ =gBattleTextBuff3
- ldrb r0, [r1]
- cmp r0, 0xFD
- bne _080D79D8
- ldr r4, _080D79D4 @ =gStringVar3
-_080D79C2:
- adds r0, r1, 0
-_080D79C4:
- adds r1, r4, 0
- bl ExpandBattleTextBuffPlaceholders
- bl _080D8382
- .align 2, 0
-_080D79D0: .4byte gBattleTextBuff3
-_080D79D4: .4byte gStringVar3
-_080D79D8:
- adds r4, r1, 0
- bl _080D8382
-_080D79DE:
- ldr r4, _080D79E4 @ =gStringVar1
- bl _080D8382
- .align 2, 0
-_080D79E4: .4byte gStringVar1
-_080D79E8:
- ldr r4, _080D79F0 @ =gStringVar2
- bl _080D8382
- .align 2, 0
-_080D79F0: .4byte gStringVar2
-_080D79F4:
- ldr r4, _080D79FC @ =gStringVar3
- bl _080D8382
- .align 2, 0
-_080D79FC: .4byte gStringVar3
-_080D7A00:
- movs r0, 0
- bl GetBattlerAtPosition
- ldr r1, _080D7A1C @ =gBattlerPartyIndexes
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080D7A20 @ =gPlayerParty
- adds r0, r1
- bl _080D82AA
- .align 2, 0
-_080D7A1C: .4byte gBattlerPartyIndexes
-_080D7A20: .4byte gPlayerParty
-_080D7A24:
- movs r0, 0x1
- bl GetBattlerAtPosition
- ldr r1, _080D7A40 @ =gBattlerPartyIndexes
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080D7A44 @ =gEnemyParty
- adds r0, r1
- bl _080D82AA
- .align 2, 0
-_080D7A40: .4byte gBattlerPartyIndexes
-_080D7A44: .4byte gEnemyParty
-_080D7A48:
- movs r0, 0x2
- bl GetBattlerAtPosition
- ldr r1, _080D7A64 @ =gBattlerPartyIndexes
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080D7A68 @ =gPlayerParty
- adds r0, r1
- bl _080D82AA
- .align 2, 0
-_080D7A64: .4byte gBattlerPartyIndexes
-_080D7A68: .4byte gPlayerParty
-_080D7A6C:
- movs r0, 0x3
- bl GetBattlerAtPosition
- ldr r1, _080D7A88 @ =gBattlerPartyIndexes
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080D7A8C @ =gEnemyParty
- adds r0, r1
- bl _080D82AA
- .align 2, 0
-_080D7A88: .4byte gBattlerPartyIndexes
-_080D7A8C: .4byte gEnemyParty
-_080D7A90:
- ldr r2, _080D7AB0 @ =gBattlerPartyIndexes
- ldr r1, _080D7AB4 @ =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0, 0x18]
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080D7AB8 @ =gPlayerParty
- adds r0, r1
- bl _080D82AA
- .align 2, 0
-_080D7AB0: .4byte gBattlerPartyIndexes
-_080D7AB4: .4byte gLinkPlayers
-_080D7AB8: .4byte gPlayerParty
-_080D7ABC:
- ldr r2, _080D7AE0 @ =gBattlerPartyIndexes
- ldr r1, _080D7AE4 @ =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0x18]
- movs r0, 0x1
- eors r0, r1
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080D7AE8 @ =gEnemyParty
- adds r0, r1
- bl _080D82AA
- .align 2, 0
-_080D7AE0: .4byte gBattlerPartyIndexes
-_080D7AE4: .4byte gLinkPlayers
-_080D7AE8: .4byte gEnemyParty
-_080D7AEC:
- ldr r2, _080D7B10 @ =gBattlerPartyIndexes
- ldr r1, _080D7B14 @ =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0x18]
- movs r0, 0x2
- eors r0, r1
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080D7B18 @ =gPlayerParty
- adds r0, r1
- bl _080D82AA
- .align 2, 0
-_080D7B10: .4byte gBattlerPartyIndexes
-_080D7B14: .4byte gLinkPlayers
-_080D7B18: .4byte gPlayerParty
-_080D7B1C:
- ldr r2, _080D7B40 @ =gBattlerPartyIndexes
- ldr r1, _080D7B44 @ =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0x18]
- movs r0, 0x3
- eors r0, r1
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080D7B48 @ =gEnemyParty
- adds r0, r1
- b _080D82AA
- .align 2, 0
-_080D7B40: .4byte gBattlerPartyIndexes
-_080D7B44: .4byte gLinkPlayers
-_080D7B48: .4byte gEnemyParty
-_080D7B4C:
- ldr r4, _080D7B70 @ =gBattlerAttacker
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- adds r2, r4, 0
- cmp r0, 0
- beq _080D7BC0
- ldr r0, _080D7B74 @ =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x8
- ands r1, r0
- ldr r4, _080D7B78 @ =gUnknown_83FD555
- cmp r1, 0
- beq _080D7B8A
- ldr r4, _080D7B7C @ =gUnknown_83FD55B
- b _080D7B8A
- .align 2, 0
-_080D7B70: .4byte gBattlerAttacker
-_080D7B74: .4byte gBattleTypeFlags
-_080D7B78: .4byte gUnknown_83FD555
-_080D7B7C: .4byte gUnknown_83FD55B
-_080D7B80:
- mov r3, r8
- adds r0, r3, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
-_080D7B8A:
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _080D7B80
- ldrb r0, [r2]
- bl GetBattlerPosition
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- bl GetBattlerAtPosition
- ldr r1, _080D7BB8 @ =gBattlerPartyIndexes
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080D7BBC @ =gEnemyParty
- adds r0, r1
- b _080D82AA
- .align 2, 0
-_080D7BB8: .4byte gBattlerPartyIndexes
-_080D7BBC: .4byte gEnemyParty
-_080D7BC0:
- ldrb r0, [r2]
- bl GetBattlerPosition
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- bl GetBattlerAtPosition
- ldr r1, _080D7BDC @ =gBattlerPartyIndexes
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r1, [r0]
- b _080D82D4
- .align 2, 0
-_080D7BDC: .4byte gBattlerPartyIndexes
-_080D7BE0:
- ldr r4, _080D7C14 @ =gBattlerAttacker
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _080D7C20
- ldrb r0, [r4]
- bl GetBattlerPosition
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- bl GetBattlerAtPosition
- ldr r1, _080D7C18 @ =gBattlerPartyIndexes
- lsls r0, 24
- lsrs r0, 23
- adds r0, 0x4
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080D7C1C @ =gPlayerParty
- adds r0, r1
- b _080D82AA
- .align 2, 0
-_080D7C14: .4byte gBattlerAttacker
-_080D7C18: .4byte gBattlerPartyIndexes
-_080D7C1C: .4byte gPlayerParty
-_080D7C20:
- ldrb r0, [r4]
- bl GetBattlerPosition
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- bl GetBattlerAtPosition
- ldr r1, _080D7C44 @ =gBattlerPartyIndexes
- lsls r0, 24
- lsrs r0, 23
- adds r0, 0x4
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080D7C48 @ =gEnemyParty
- b _080D82DA
- .align 2, 0
-_080D7C44: .4byte gBattlerPartyIndexes
-_080D7C48: .4byte gEnemyParty
-_080D7C4C:
- ldr r5, _080D7C98 @ =gBattlerAttacker
- ldrb r0, [r5]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080D7CB0
- ldr r0, _080D7C9C @ =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x8
- ands r1, r0
- ldr r4, _080D7CA0 @ =gUnknown_83FD555
- cmp r1, 0
- beq _080D7C6A
- ldr r4, _080D7CA4 @ =gUnknown_83FD55B
-_080D7C6A:
- ldrb r1, [r4]
- adds r0, r1, 0
- ldr r3, _080D7CA8 @ =gBattlerPartyIndexes
- ldr r2, _080D7CAC @ =gEnemyParty
- mov r12, r2
- adds r2, r5, 0
- cmp r0, 0xFF
- beq _080D7C8C
-_080D7C7A:
- mov r5, r8
- adds r0, r5, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _080D7C7A
-_080D7C8C:
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r3
- ldrh r1, [r0]
- b _080D82A4
- .align 2, 0
-_080D7C98: .4byte gBattlerAttacker
-_080D7C9C: .4byte gBattleTypeFlags
-_080D7CA0: .4byte gUnknown_83FD555
-_080D7CA4: .4byte gUnknown_83FD55B
-_080D7CA8: .4byte gBattlerPartyIndexes
-_080D7CAC: .4byte gEnemyParty
-_080D7CB0:
- ldr r1, _080D7CBC @ =gBattlerPartyIndexes
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- b _080D82D4
- .align 2, 0
-_080D7CBC: .4byte gBattlerPartyIndexes
-_080D7CC0:
- ldr r5, _080D7D0C @ =gBattlerTarget
- ldrb r0, [r5]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080D7D24
- ldr r0, _080D7D10 @ =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x8
- ands r1, r0
- ldr r4, _080D7D14 @ =gUnknown_83FD555
- cmp r1, 0
- beq _080D7CDE
- ldr r4, _080D7D18 @ =gUnknown_83FD55B
-_080D7CDE:
- ldrb r1, [r4]
- adds r0, r1, 0
- ldr r3, _080D7D1C @ =gBattlerPartyIndexes
- ldr r2, _080D7D20 @ =gEnemyParty
- mov r12, r2
- adds r2, r5, 0
- cmp r0, 0xFF
- beq _080D7D00
-_080D7CEE:
- mov r5, r8
- adds r0, r5, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _080D7CEE
-_080D7D00:
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r3
- ldrh r1, [r0]
- b _080D82A4
- .align 2, 0
-_080D7D0C: .4byte gBattlerTarget
-_080D7D10: .4byte gBattleTypeFlags
-_080D7D14: .4byte gUnknown_83FD555
-_080D7D18: .4byte gUnknown_83FD55B
-_080D7D1C: .4byte gBattlerPartyIndexes
-_080D7D20: .4byte gEnemyParty
-_080D7D24:
- ldr r1, _080D7D30 @ =gBattlerPartyIndexes
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- b _080D82D4
- .align 2, 0
-_080D7D30: .4byte gBattlerPartyIndexes
-_080D7D34:
- ldr r5, _080D7D80 @ =gEffectBattler
- ldrb r0, [r5]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080D7D98
- ldr r0, _080D7D84 @ =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x8
- ands r1, r0
- ldr r4, _080D7D88 @ =gUnknown_83FD555
- cmp r1, 0
- beq _080D7D52
- ldr r4, _080D7D8C @ =gUnknown_83FD55B
-_080D7D52:
- ldrb r1, [r4]
- adds r0, r1, 0
- ldr r3, _080D7D90 @ =gBattlerPartyIndexes
- ldr r2, _080D7D94 @ =gEnemyParty
- mov r12, r2
- adds r2, r5, 0
- cmp r0, 0xFF
- beq _080D7D74
-_080D7D62:
- mov r5, r8
- adds r0, r5, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _080D7D62
-_080D7D74:
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r3
- ldrh r1, [r0]
- b _080D82A4
- .align 2, 0
-_080D7D80: .4byte gEffectBattler
-_080D7D84: .4byte gBattleTypeFlags
-_080D7D88: .4byte gUnknown_83FD555
-_080D7D8C: .4byte gUnknown_83FD55B
-_080D7D90: .4byte gBattlerPartyIndexes
-_080D7D94: .4byte gEnemyParty
-_080D7D98:
- ldr r1, _080D7DA4 @ =gBattlerPartyIndexes
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- b _080D82D4
- .align 2, 0
-_080D7DA4: .4byte gBattlerPartyIndexes
-_080D7DA8:
- ldr r5, _080D7DF4 @ =gActiveBattler
- ldrb r0, [r5]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080D7E0C
- ldr r0, _080D7DF8 @ =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x8
- ands r1, r0
- ldr r4, _080D7DFC @ =gUnknown_83FD555
- cmp r1, 0
- beq _080D7DC6
- ldr r4, _080D7E00 @ =gUnknown_83FD55B
-_080D7DC6:
- ldrb r1, [r4]
- adds r0, r1, 0
- ldr r3, _080D7E04 @ =gBattlerPartyIndexes
- ldr r2, _080D7E08 @ =gEnemyParty
- mov r12, r2
- adds r2, r5, 0
- cmp r0, 0xFF
- beq _080D7DE8
-_080D7DD6:
- mov r5, r8
- adds r0, r5, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _080D7DD6
-_080D7DE8:
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r3
- ldrh r1, [r0]
- b _080D82A4
- .align 2, 0
-_080D7DF4: .4byte gActiveBattler
-_080D7DF8: .4byte gBattleTypeFlags
-_080D7DFC: .4byte gUnknown_83FD555
-_080D7E00: .4byte gUnknown_83FD55B
-_080D7E04: .4byte gBattlerPartyIndexes
-_080D7E08: .4byte gEnemyParty
-_080D7E0C:
- ldr r1, _080D7E18 @ =gBattlerPartyIndexes
- ldrb r0, [r5]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- b _080D82D4
- .align 2, 0
-_080D7E18: .4byte gBattlerPartyIndexes
-_080D7E1C:
- ldr r5, _080D7E68 @ =gBattleScripting
- ldrb r0, [r5, 0x17]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080D7E80
- ldr r0, _080D7E6C @ =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x8
- ands r1, r0
- ldr r4, _080D7E70 @ =gUnknown_83FD555
- cmp r1, 0
- beq _080D7E3A
- ldr r4, _080D7E74 @ =gUnknown_83FD55B
-_080D7E3A:
- ldrb r1, [r4]
- adds r0, r1, 0
- ldr r3, _080D7E78 @ =gBattlerPartyIndexes
- ldr r2, _080D7E7C @ =gEnemyParty
- mov r12, r2
- adds r2, r5, 0
- cmp r0, 0xFF
- beq _080D7E5C
-_080D7E4A:
- mov r5, r8
- adds r0, r5, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _080D7E4A
-_080D7E5C:
- ldrb r0, [r2, 0x17]
- lsls r0, 1
- adds r0, r3
- ldrh r1, [r0]
- b _080D82A4
- .align 2, 0
-_080D7E68: .4byte gBattleScripting
-_080D7E6C: .4byte gBattleTypeFlags
-_080D7E70: .4byte gUnknown_83FD555
-_080D7E74: .4byte gUnknown_83FD55B
-_080D7E78: .4byte gBattlerPartyIndexes
-_080D7E7C: .4byte gEnemyParty
-_080D7E80:
- ldr r1, _080D7E8C @ =gBattlerPartyIndexes
- ldrb r0, [r5, 0x17]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- b _080D82D4
- .align 2, 0
-_080D7E8C: .4byte gBattlerPartyIndexes
-_080D7E90:
- ldr r0, _080D7EA4 @ =gUnknown_2039A34
- ldr r2, [r0]
- ldrh r1, [r2]
- movs r0, 0xB1
- lsls r0, 1
- cmp r1, r0
- bhi _080D7EB6
- ldrh r1, [r2]
- b _080D7ED6
- .align 2, 0
-_080D7EA4: .4byte gUnknown_2039A34
-_080D7EA8:
- ldr r0, _080D7EC8 @ =gUnknown_2039A34
- ldr r2, [r0]
- ldrh r1, [r2, 0x2]
- movs r0, 0xB1
- lsls r0, 1
- cmp r1, r0
- bls _080D7ED4
-_080D7EB6:
- ldr r0, _080D7ECC @ =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x8E
- ldrb r0, [r0]
- lsls r0, 2
- ldr r1, _080D7ED0 @ =gUnknown_83FEA28
- adds r4, r0, r1
- b _080D8382
- .align 2, 0
-_080D7EC8: .4byte gUnknown_2039A34
-_080D7ECC: .4byte gBattleStruct
-_080D7ED0: .4byte gUnknown_83FEA28
-_080D7ED4:
- ldrh r1, [r2, 0x2]
-_080D7ED6:
- movs r0, 0xD
- muls r1, r0
- ldr r0, _080D7EE0 @ =gMoveNames
- adds r4, r1, r0
- b _080D8382
- .align 2, 0
-_080D7EE0: .4byte gMoveNames
-_080D7EE4:
- ldr r0, _080D7F1C @ =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080D7F9C
- ldr r2, _080D7F20 @ =gLastUsedItem
- ldrh r0, [r2]
- cmp r0, 0xAF
- bne _080D7F98
- movs r0, 0x40
- ands r1, r0
- cmp r1, 0
- bne _080D7F44
- ldr r0, _080D7F24 @ =gBattleStruct
- ldr r0, [r0]
- adds r0, 0xB5
- ldrb r0, [r0]
- cmp r0, 0
- beq _080D7F2C
- ldr r2, _080D7F28 @ =gPotentialItemEffectBattler
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080D7F38
- b _080D7F90
- .align 2, 0
-_080D7F1C: .4byte gBattleTypeFlags
-_080D7F20: .4byte gLastUsedItem
-_080D7F24: .4byte gBattleStruct
-_080D7F28: .4byte gPotentialItemEffectBattler
-_080D7F2C:
- ldr r2, _080D7F40 @ =gPotentialItemEffectBattler
- ldrb r1, [r2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080D7F90
-_080D7F38:
- ldrb r0, [r2]
- lsls r1, r0, 3
- subs r1, r0
- b _080D7F64
- .align 2, 0
-_080D7F40: .4byte gPotentialItemEffectBattler
-_080D7F44:
- ldr r2, _080D7F7C @ =gLinkPlayers
- ldr r0, _080D7F80 @ =gBattleStruct
- ldr r0, [r0]
- adds r0, 0xB5
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, _080D7F84 @ =gPotentialItemEffectBattler
- ldrb r2, [r1]
- ldrh r0, [r0, 0x18]
- cmp r0, r2
- bne _080D7F90
- lsls r1, r2, 3
- subs r1, r2
-_080D7F64:
- lsls r1, 2
- ldr r0, _080D7F88 @ =gEnigmaBerries
- adds r1, r0
- mov r0, sp
- bl StringCopy
- ldr r1, _080D7F8C @ =gUnknown_83FD8AF
- mov r0, sp
- bl StringAppend
- mov r4, sp
- b _080D8382
- .align 2, 0
-_080D7F7C: .4byte gLinkPlayers
-_080D7F80: .4byte gBattleStruct
-_080D7F84: .4byte gPotentialItemEffectBattler
-_080D7F88: .4byte gEnigmaBerries
-_080D7F8C: .4byte gUnknown_83FD8AF
-_080D7F90:
- ldr r4, _080D7F94 @ =gUnknown_83FD8A2
- b _080D8382
- .align 2, 0
-_080D7F94: .4byte gUnknown_83FD8A2
-_080D7F98:
- ldrh r0, [r2]
- b _080D7FA0
-_080D7F9C:
- ldr r0, _080D7FAC @ =gLastUsedItem
- ldrh r0, [r0]
-_080D7FA0:
- mov r1, sp
- bl CopyItemName
- mov r4, sp
- b _080D8382
- .align 2, 0
-_080D7FAC: .4byte gLastUsedItem
-_080D7FB0:
- ldr r0, _080D7FB4 @ =gLastUsedAbility
- b _080D7FF0
- .align 2, 0
-_080D7FB4: .4byte gLastUsedAbility
-_080D7FB8:
- ldr r1, _080D7FC0 @ =gUnknown_2039A30
- ldr r0, _080D7FC4 @ =gBattlerAttacker
- b _080D7FEC
- .align 2, 0
-_080D7FC0: .4byte gUnknown_2039A30
-_080D7FC4: .4byte gBattlerAttacker
-_080D7FC8:
- ldr r1, _080D7FD0 @ =gUnknown_2039A30
- ldr r0, _080D7FD4 @ =gBattlerTarget
- b _080D7FEC
- .align 2, 0
-_080D7FD0: .4byte gUnknown_2039A30
-_080D7FD4: .4byte gBattlerTarget
-_080D7FD8:
- ldr r1, _080D7FE0 @ =gUnknown_2039A30
- ldr r0, _080D7FE4 @ =gBattleScripting
- ldrb r0, [r0, 0x17]
- b _080D7FEE
- .align 2, 0
-_080D7FE0: .4byte gUnknown_2039A30
-_080D7FE4: .4byte gBattleScripting
-_080D7FE8:
- ldr r1, _080D7FFC @ =gUnknown_2039A30
- ldr r0, _080D8000 @ =gEffectBattler
-_080D7FEC:
- ldrb r0, [r0]
-_080D7FEE:
- adds r0, r1
-_080D7FF0:
- ldrb r1, [r0]
- movs r0, 0xD
- muls r1, r0
- ldr r0, _080D8004 @ =gAbilityNames
- adds r4, r1, r0
- b _080D8382
- .align 2, 0
-_080D7FFC: .4byte gUnknown_2039A30
-_080D8000: .4byte gEffectBattler
-_080D8004: .4byte gAbilityNames
-_080D8008:
- ldr r3, _080D8020 @ =gTrainerBattleOpponent_A
- ldrh r1, [r3]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- bne _080D8024
- bl GetSecretBaseTrainerNameIndex
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xD
- b _080D8094
- .align 2, 0
-_080D8020: .4byte gTrainerBattleOpponent_A
-_080D8024:
- movs r0, 0xC0
- lsls r0, 4
- cmp r1, r0
- bne _080D8038
- bl sub_80447F0
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xD
- b _080D8094
-_080D8038:
- ldr r0, _080D8054 @ =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080D8058
- bl GetBattleTowerTrainerClassNameId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xD
- b _080D8094
- .align 2, 0
-_080D8054: .4byte gBattleTypeFlags
-_080D8058:
- movs r0, 0x80
- lsls r0, 12
- ands r0, r1
- cmp r0, 0
- beq _080D806E
- bl sub_815DA10
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xD
- b _080D8094
-_080D806E:
- movs r0, 0x80
- lsls r0, 4
- ands r1, r0
- cmp r1, 0
- beq _080D8084
- bl GetEreaderTrainerClassId
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xD
- b _080D8094
-_080D8084:
- ldr r2, _080D809C @ =gTrainers
- ldrh r1, [r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r1, [r0, 0x1]
- movs r0, 0xD
-_080D8094:
- muls r1, r0
- ldr r0, _080D80A0 @ =gTrainerClassNames
- adds r4, r1, r0
- b _080D8382
- .align 2, 0
-_080D809C: .4byte gTrainers
-_080D80A0: .4byte gTrainerClassNames
-_080D80A4:
- ldr r0, _080D80E8 @ =gTrainerBattleOpponent_A
- ldrh r2, [r0]
- movs r1, 0x80
- lsls r1, 3
- adds r5, r0, 0
- cmp r2, r1
- bne _080D80D6
- movs r2, 0
- ldr r0, _080D80EC @ =gBattleResources
- ldr r3, [r0]
-_080D80B8:
- mov r1, sp
- adds r0, r1, r2
- ldr r1, [r3]
- adds r1, 0x2
- adds r1, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x6
- ble _080D80B8
- mov r3, sp
- adds r1, r3, r2
- movs r0, 0xFF
- strb r0, [r1]
- mov r4, sp
-_080D80D6:
- ldrh r1, [r5]
- movs r0, 0xC0
- lsls r0, 4
- cmp r1, r0
- bne _080D80F0
- movs r1, 0x1
- adds r0, r7, 0
- eors r0, r1
- b _080D81C8
- .align 2, 0
-_080D80E8: .4byte gTrainerBattleOpponent_A
-_080D80EC: .4byte gBattleResources
-_080D80F0:
- ldr r0, _080D8108 @ =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080D810C
- mov r0, sp
- bl GetBattleTowerTrainerName
- b _080D8382
- .align 2, 0
-_080D8108: .4byte gBattleTypeFlags
-_080D810C:
- movs r0, 0x80
- lsls r0, 12
- ands r0, r1
- cmp r0, 0
- beq _080D8120
- mov r0, sp
- bl sub_815DA28
- mov r4, sp
- b _080D8382
-_080D8120:
- movs r0, 0x80
- lsls r0, 4
- ands r1, r0
- cmp r1, 0
- beq _080D8134
- mov r0, sp
- bl CopyEReaderTrainerName5
- mov r4, sp
- b _080D8382
-_080D8134:
- ldr r2, _080D8158 @ =gTrainers
- ldrh r0, [r5]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r0, r1, r2
- ldrb r0, [r0, 0x1]
- cmp r0, 0x51
- beq _080D814E
- cmp r0, 0x59
- beq _080D814E
- cmp r0, 0x5A
- bne _080D815C
-_080D814E:
- movs r0, 0x6
- bl GetExpandedPlaceholder
- adds r4, r0, 0
- b _080D8382
- .align 2, 0
-_080D8158: .4byte gTrainers
-_080D815C:
- adds r0, r2, 0x4
- adds r4, r1, r0
- b _080D8382
-_080D8162:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _080D8170 @ =gLinkPlayers + 8
- adds r4, r0, r1
- b _080D8382
- .align 2, 0
-_080D8170: .4byte gLinkPlayers + 8
-_080D8174:
- ldr r4, _080D8184 @ =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x18]
- movs r0, 0x2
- b _080D81AA
- .align 2, 0
-_080D8184: .4byte gLinkPlayers
-_080D8188:
- ldr r4, _080D8198 @ =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x18]
- movs r0, 0x1
- b _080D81AA
- .align 2, 0
-_080D8198: .4byte gLinkPlayers
-_080D819C:
- ldr r4, _080D81BC @ =gLinkPlayers
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x18]
- movs r0, 0x3
-_080D81AA:
- eors r0, r1
- bl GetBattlerMultiplayerId
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r4, 0x8
- adds r4, r1, r4
- b _080D8382
- .align 2, 0
-_080D81BC: .4byte gLinkPlayers
-_080D81C0:
- ldr r0, _080D81D4 @ =gBattleScripting
- ldrb r0, [r0, 0x17]
- bl GetBattlerMultiplayerId
-_080D81C8:
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, _080D81D8 @ =gLinkPlayers + 8
- adds r4, r1, r0
- b _080D8382
- .align 2, 0
-_080D81D4: .4byte gBattleScripting
-_080D81D8: .4byte gLinkPlayers + 8
-_080D81DC:
- ldr r0, _080D81E4 @ =gSaveBlock2Ptr
- ldr r4, [r0]
- b _080D8382
- .align 2, 0
-_080D81E4: .4byte gSaveBlock2Ptr
-_080D81E8:
- ldr r0, _080D8204 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 12
- ands r0, r1
- cmp r0, 0
- beq _080D820C
- ldr r4, _080D8208 @ =gStringVar4
- adds r0, r4, 0
- movs r1, 0
- bl sub_815DC40
- b _080D8382
- .align 2, 0
-_080D8204: .4byte gBattleTypeFlags
-_080D8208: .4byte gStringVar4
-_080D820C:
- bl GetTrainerALoseText
- adds r4, r0, 0
- b _080D8382
-_080D8214:
- ldr r0, _080D8230 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 12
- ands r0, r1
- cmp r0, 0
- beq _080D8238
- ldr r4, _080D8234 @ =gStringVar4
- adds r0, r4, 0
- movs r1, 0
- bl sub_815DBF4
- b _080D8382
- .align 2, 0
-_080D8230: .4byte gBattleTypeFlags
-_080D8234: .4byte gStringVar4
-_080D8238:
- bl GetTrainerWonSpeech
- adds r4, r0, 0
- b _080D8382
-_080D8240:
- ldr r4, _080D824C @ =gStringVar4
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_815DC40
- b _080D8382
- .align 2, 0
-_080D824C: .4byte gStringVar4
-_080D8250:
- ldr r4, _080D825C @ =gStringVar4
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_815DBF4
- b _080D8382
- .align 2, 0
-_080D825C: .4byte gStringVar4
-_080D8260:
- ldr r0, _080D82B4 @ =gBattleScripting
- ldrb r0, [r0, 0x17]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- beq _080D82CC
- ldr r0, _080D82B8 @ =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x8
- ands r1, r0
- ldr r4, _080D82BC @ =gUnknown_83FD555
- cmp r1, 0
- beq _080D827E
- ldr r4, _080D82C0 @ =gUnknown_83FD55B
-_080D827E:
- ldrb r1, [r4]
- adds r0, r1, 0
- ldr r5, _080D82C4 @ =gEnemyParty
- mov r12, r5
- ldr r2, _080D82C8 @ =gBattleStruct
- cmp r0, 0xFF
- beq _080D829E
-_080D828C:
- mov r3, r8
- adds r0, r3, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _080D828C
-_080D829E:
- ldr r0, [r2]
- adds r0, 0x52
- ldrb r1, [r0]
-_080D82A4:
- movs r0, 0x64
- muls r0, r1
- add r0, r12
-_080D82AA:
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- b _080D82E4
- .align 2, 0
-_080D82B4: .4byte gBattleScripting
-_080D82B8: .4byte gBattleTypeFlags
-_080D82BC: .4byte gUnknown_83FD555
-_080D82C0: .4byte gUnknown_83FD55B
-_080D82C4: .4byte gEnemyParty
-_080D82C8: .4byte gBattleStruct
-_080D82CC:
- ldr r0, _080D82F0 @ =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x52
- ldrb r1, [r0]
-_080D82D4:
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080D82F4 @ =gPlayerParty
-_080D82DA:
- adds r0, r1
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
-_080D82E4:
- mov r0, sp
- bl StringGetEnd10
- mov r4, sp
- b _080D8382
- .align 2, 0
-_080D82F0: .4byte gBattleStruct
-_080D82F4: .4byte gPlayerParty
-_080D82F8:
- ldr r0, _080D830C @ =0x00000834
- bl FlagGet
- lsls r0, 24
- ldr r4, _080D8310 @ =gUnknown_83FD81A
- cmp r0, 0
- beq _080D8382
- ldr r4, _080D8314 @ =gUnknown_83FD824
- b _080D8382
- .align 2, 0
-_080D830C: .4byte 0x00000834
-_080D8310: .4byte gUnknown_83FD81A
-_080D8314: .4byte gUnknown_83FD824
-_080D8318:
- ldr r0, _080D831C @ =gBattlerAttacker
- b _080D8322
- .align 2, 0
-_080D831C: .4byte gBattlerAttacker
-_080D8320:
- ldr r0, _080D8334 @ =gBattlerTarget
-_080D8322:
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- ldr r4, _080D8338 @ =gUnknown_83FD569
- cmp r0, 0
- bne _080D8382
- ldr r4, _080D833C @ =gUnknown_83FD56D
- b _080D8382
- .align 2, 0
-_080D8334: .4byte gBattlerTarget
-_080D8338: .4byte gUnknown_83FD569
-_080D833C: .4byte gUnknown_83FD56D
-_080D8340:
- ldr r0, _080D8344 @ =gBattlerAttacker
- b _080D834A
- .align 2, 0
-_080D8344: .4byte gBattlerAttacker
-_080D8348:
- ldr r0, _080D835C @ =gBattlerTarget
-_080D834A:
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- ldr r4, _080D8360 @ =gUnknown_83FD560
- cmp r0, 0
- bne _080D8382
- ldr r4, _080D8364 @ =gUnknown_83FD564
- b _080D8382
- .align 2, 0
-_080D835C: .4byte gBattlerTarget
-_080D8360: .4byte gUnknown_83FD560
-_080D8364: .4byte gUnknown_83FD564
-_080D8368:
- ldr r0, _080D836C @ =gBattlerAttacker
- b _080D8372
- .align 2, 0
-_080D836C: .4byte gBattlerAttacker
-_080D8370:
- ldr r0, _080D83D4 @ =gBattlerTarget
-_080D8372:
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- ldr r4, _080D83D8 @ =gUnknown_83FD572
- cmp r0, 0
- bne _080D8382
- ldr r4, _080D83DC @ =gUnknown_83FD576
-_080D8382:
- ldrb r1, [r4]
- adds r0, r1, 0
- mov r5, r9
- ldrb r2, [r5]
- mov r3, r9
- adds r3, 0x1
- cmp r0, 0xFF
- beq _080D83A4
-_080D8392:
- mov r5, r8
- adds r0, r5, r6
- strb r1, [r0]
- adds r6, 0x1
- adds r4, 0x1
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _080D8392
-_080D83A4:
- adds r0, r2, 0
- subs r0, 0x24
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080D83BC
- lsls r0, r2, 24
- lsrs r0, 24
- cmp r0, 0x2E
- beq _080D83BC
- cmp r0, 0x2F
- bne _080D83EC
-_080D83BC:
- mov r0, r8
- adds r1, r0, r6
- movs r0, 0xFC
- strb r0, [r1]
- adds r6, 0x1
- mov r2, r8
- adds r1, r2, r6
- movs r0, 0x9
- strb r0, [r1]
- adds r6, 0x1
- b _080D83EC
- .align 2, 0
-_080D83D4: .4byte gBattlerTarget
-_080D83D8: .4byte gUnknown_83FD572
-_080D83DC: .4byte gUnknown_83FD576
-_080D83E0:
- mov r3, r8
- adds r0, r3, r6
- strb r1, [r0]
- adds r6, 0x1
- mov r3, r9
- adds r3, 0x1
-_080D83EC:
- mov r9, r3
- ldrb r1, [r3]
-_080D83F0:
- adds r0, r1, 0
- cmp r0, 0xFF
- beq _080D83FA
- bl _080D788A
-_080D83FA:
- mov r5, r8
- adds r1, r5, r6
- mov r2, r9
- ldrb r0, [r2]
- strb r0, [r1]
- adds r6, 0x1
- adds r0, r6, 0
- add sp, 0x20
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end BattleStringExpandPlaceholders
-
thumb_func_start ExpandBattleTextBuffPlaceholders
ExpandBattleTextBuffPlaceholders: @ 80D8418
push {r4-r7,lr}
@@ -2332,15 +158,15 @@ _080D8538:
ands r0, r1
cmp r0, 0
beq _080D8558
- ldr r1, _080D8554 @ =gUnknown_83FD55B
+ ldr r1, _080D8554 @ =sText_FoePkmnPrefix
adds r0, r6, 0
bl StringAppend
b _080D8560
.align 2, 0
_080D8550: .4byte gBattleTypeFlags
-_080D8554: .4byte gUnknown_83FD55B
+_080D8554: .4byte sText_FoePkmnPrefix
_080D8558:
- ldr r1, _080D8584 @ =gUnknown_83FD555
+ ldr r1, _080D8584 @ =sText_WildPkmnPrefix
adds r0, r6, 0
bl StringAppend
_080D8560:
@@ -2361,7 +187,7 @@ _080D8574:
bl StringAppend
b _080D86AE
.align 2, 0
-_080D8584: .4byte gUnknown_83FD555
+_080D8584: .4byte sText_WildPkmnPrefix
_080D8588: .4byte gEnemyParty
_080D858C:
ldr r1, _080D859C @ =gUnknown_83FD5D0
@@ -2475,7 +301,7 @@ _080D8628:
adds r1, r0
adds r0, r6, 0
bl StringCopy
- ldr r1, _080D8688 @ =gUnknown_83FD8AF
+ ldr r1, _080D8688 @ =sText_BerrySuffix
b _080D868E
.align 2, 0
_080D8674: .4byte gBattleTypeFlags
@@ -2483,15 +309,15 @@ _080D8678: .4byte gLinkPlayers
_080D867C: .4byte gBattleStruct
_080D8680: .4byte gPotentialItemEffectBattler
_080D8684: .4byte gEnigmaBerries
-_080D8688: .4byte gUnknown_83FD8AF
+_080D8688: .4byte sText_BerrySuffix
_080D868C:
- ldr r1, _080D8698 @ =gUnknown_83FD8A2
+ ldr r1, _080D8698 @ =sText_EnigmaBerry
_080D868E:
adds r0, r6, 0
bl StringAppend
b _080D86AE
.align 2, 0
-_080D8698: .4byte gUnknown_83FD8A2
+_080D8698: .4byte sText_EnigmaBerry
_080D869C:
adds r0, r2, 0
adds r1, r6, 0
@@ -2518,12 +344,12 @@ _080D86BA:
bx r0
thumb_func_end ExpandBattleTextBuffPlaceholders
- thumb_func_start sub_80D86C8
-sub_80D86C8: @ 80D86C8
+ thumb_func_start ChooseMoveUsedParticle
+ChooseMoveUsedParticle: @ 80D86C8
push {r4,r5,lr}
adds r4, r0, 0
movs r2, 0
- ldr r5, _080D86FC @ =gUnknown_2039A34
+ ldr r5, _080D86FC @ =gBattleMsgDataPtr
ldr r3, _080D8700 @ =gUnknown_83FEA70
_080D86D2:
cmp r2, 0x4
@@ -2548,7 +374,7 @@ _080D86E8:
bl StringCopy
b _080D8714
.align 2, 0
-_080D86FC: .4byte gUnknown_2039A34
+_080D86FC: .4byte gBattleMsgDataPtr
_080D8700: .4byte gUnknown_83FEA70
_080D8704: .4byte gUnknown_83FE88B
_080D8708:
@@ -2563,10 +389,10 @@ _080D8714:
bx r0
.align 2, 0
_080D871C: .4byte gUnknown_83FE88F
- thumb_func_end sub_80D86C8
+ thumb_func_end ChooseMoveUsedParticle
- thumb_func_start sub_80D8720
-sub_80D8720: @ 80D8720
+ thumb_func_start ChooseTypeOfMoveUsedString
+ChooseTypeOfMoveUsedString: @ 80D8720
push {r4,r5,lr}
adds r3, r0, 0
movs r4, 0
@@ -2578,7 +404,7 @@ _080D872A:
cmp r0, 0xFF
bne _080D8728
ldr r1, _080D8760 @ =gUnknown_83FEA70
- ldr r5, _080D8764 @ =gUnknown_2039A34
+ ldr r5, _080D8764 @ =gBattleMsgDataPtr
movs r0, 0
lsls r0, 1
adds r2, r0, r1
@@ -2605,7 +431,7 @@ _080D8754:
mov pc, r0
.align 2, 0
_080D8760: .4byte gUnknown_83FEA70
-_080D8764: .4byte gUnknown_2039A34
+_080D8764: .4byte gBattleMsgDataPtr
_080D8768: .4byte _080D876C
.align 2, 0
_080D876C:
@@ -2615,30 +441,30 @@ _080D876C:
.4byte _080D8798
.4byte _080D87A8
_080D8780:
- ldr r1, _080D8784 @ =gUnknown_83FD586
+ ldr r1, _080D8784 @ =sText_ExclamationMark
b _080D879A
.align 2, 0
-_080D8784: .4byte gUnknown_83FD586
+_080D8784: .4byte sText_ExclamationMark
_080D8788:
- ldr r1, _080D878C @ =gUnknown_83FD588
+ ldr r1, _080D878C @ =sText_ExclamationMark2
b _080D879A
.align 2, 0
-_080D878C: .4byte gUnknown_83FD588
+_080D878C: .4byte sText_ExclamationMark2
_080D8790:
- ldr r1, _080D8794 @ =gUnknown_83FD58A
+ ldr r1, _080D8794 @ =sText_ExclamationMark3
b _080D879A
.align 2, 0
-_080D8794: .4byte gUnknown_83FD58A
+_080D8794: .4byte sText_ExclamationMark3
_080D8798:
- ldr r1, _080D87A4 @ =gUnknown_83FD58C
+ ldr r1, _080D87A4 @ =sText_ExclamationMark4
_080D879A:
adds r0, r3, 0
bl StringCopy
b _080D87B0
.align 2, 0
-_080D87A4: .4byte gUnknown_83FD58C
+_080D87A4: .4byte sText_ExclamationMark4
_080D87A8:
- ldr r1, _080D87B8 @ =gUnknown_83FD58E
+ ldr r1, _080D87B8 @ =sText_ExclamationMark5
adds r0, r3, 0
bl StringCopy
_080D87B0:
@@ -2646,8 +472,8 @@ _080D87B0:
pop {r0}
bx r0
.align 2, 0
-_080D87B8: .4byte gUnknown_83FD58E
- thumb_func_end sub_80D8720
+_080D87B8: .4byte sText_ExclamationMark5
+ thumb_func_end ChooseTypeOfMoveUsedString
thumb_func_start BattlePutTextOnWindow
BattlePutTextOnWindow: @ 80D87BC
diff --git a/data/battle_message.s b/data/battle_message.s
deleted file mode 100644
index 4f7576103..000000000
--- a/data/battle_message.s
+++ /dev/null
@@ -1,2923 +0,0 @@
-#include "constants/moves.h"
-#include "constants/battle.h"
-#include "battle_string_ids.h"
- .include "asm/macros.inc"
- .include "constants/constants.inc"
- .section .rodata
- .align 2, 0
-
-gUnknown_83FB218:: @ 83FB218
- .string "$"
-
-gUnknown_83FB219:: @ 83FB219
- .string "{B_TRAINER1_LOSE_TEXT}$"
-
-gUnknown_83FB21C:: @ 83FB21C
- .string "{B_TRAINER2_CLASS}$"
-
-gUnknown_83FB21F:: @ 83FB21F
- .string "{B_TRAINER1_NAME}: {B_OPPONENT_MON1_NAME}, come back!$"
-
-gUnknown_83FB232:: @ 83FB232
- .string "{B_TRAINER1_WIN_TEXT}$"
-
-gUnknown_83FB235:: @ 83FB235
- .string "{B_TRAINER1_NAME}: {B_OPPONENT_MON2_NAME}, come back!$"
-
-gUnknown_83FB248:: @ 83FB248
- .string "{B_TRAINER1_NAME}: {B_OPPONENT_MON1_NAME} and\n"
- .string "{B_OPPONENT_MON2_NAME}, come back!$"
-
-gUnknown_83FB262:: @ 83FB262
- .string "{B_TRAINER2_NAME}$"
-
-gUnknown_83FB265:: @ 83FB265
- .string "{B_BUFF1} gained{B_BUFF2}\n"
- .string "{B_TRAINER2_LOSE_TEXT} EXP. Points!\p"
- .string "$"
-
-gUnknown_83FB282:: @ 83FB282
- .string "$"
-
-gUnknown_83FB283:: @ 83FB283
- .string " a boosted$"
-
-gUnknown_83FB28E:: @ 83FB28E
- .string "{B_BUFF1} grew to\n"
- .string "LV. {B_BUFF2}!{WAIT_SE}\p"
- .string "$"
-
-gUnknown_83FB2A4:: @ 83FB2A4
- .string "{B_BUFF1} learned\n"
- .string "{B_BUFF2}!{WAIT_SE}\p"
- .string "$"
-
-gUnknown_83FB2B6:: @ 83FB2B6
- .string "{B_BUFF1} is trying to\n"
- .string "learn {B_BUFF2}.\p"
- .string "$"
-
-gUnknown_83FB2D1:: @ 83FB2D1
- .string "But, {B_BUFF1} can't learn\n"
- .string "more than four moves.\p"
- .string "$"
-
-gUnknown_83FB2FC:: @ 83FB2FC
- .string "Delete a move to make\n"
- .string "room for {B_BUFF2}?$"
-
-gUnknown_83FB31F:: @ 83FB31F
- .string "{B_BUFF1} forgot\n"
- .string "{B_BUFF2}.\p"
- .string "$"
-
-gUnknown_83FB32E:: @ 83FB32E
- .string "{PAUSE 32}Stop learning\n"
- .string "{B_BUFF2}?$"
-
-gUnknown_83FB343:: @ 83FB343
- .string "{B_BUFF1} did not learn\n"
- .string "{B_BUFF2}.\p"
- .string "$"
-
-gUnknown_83FB359:: @ 83FB359
- .string "Use next POKéMON?$"
-
-gUnknown_83FB36B:: @ 83FB36B
- .string "{B_ATK_NAME_WITH_PREFIX}'s\n"
- .string "attack missed!$"
-
-gUnknown_83FB37F:: @ 83FB37F
- .string "{B_DEF_NAME_WITH_PREFIX}\n"
- .string "protected itself!$"
-
-gUnknown_83FB394:: @ 83FB394
- .string "{B_DEF_NAME_WITH_PREFIX} avoided\n"
- .string "damage with {B_DEF_ABILITY}!$"
-
-gUnknown_83FB3AF:: @ 83FB3AF
- .string "{B_DEF_NAME_WITH_PREFIX} makes GROUND\n"
- .string "moves miss with {B_DEF_ABILITY}!$"
-
-gUnknown_83FB3D3:: @ 83FB3D3
- .string "{B_DEF_NAME_WITH_PREFIX} avoided\n"
- .string "the attack!$"
-
-gUnknown_83FB3EA:: @ 83FB3EA
- .string "It doesn't affect\n"
- .string "{B_DEF_NAME_WITH_PREFIX}…$"
-
-gUnknown_83FB400:: @ 83FB400
- .string "{B_ATK_NAME_WITH_PREFIX}\n"
- .string "fainted!\p"
- .string "$"
-
-gUnknown_83FB40D:: @ 83FB40D
- .string "{B_DEF_NAME_WITH_PREFIX}\n"
- .string "fainted!\p"
- .string "$"
-
-gUnknown_83FB41A:: @ 83FB41A
- .string "{B_PLAYER_NAME} got ¥{B_BUFF1}\n"
- .string "for winning!\p"
- .string "$"
-
-gUnknown_83FB433:: @ 83FB433
- .string "{B_PLAYER_NAME} is out of\n"
- .string "usable POKéMON!\p"
- .string "$"
-
-gUnknown_83FB451:: @ 83FB451
- .string "{B_PLAYER_NAME} panicked and lost ¥{B_BUFF1}…\p"
- .string "… … … …\p"
- .string "{B_PLAYER_NAME} whited out!{PAUSE_UNTIL_PRESS}$"
-
-gUnknown_83FB484:: @ 83FB484
- .string "{B_PLAYER_NAME} is out of\n"
- .string "usable POKéMON!\p"
- .string "Player lost against\n"
- .string "{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!{PAUSE_UNTIL_PRESS}$"
-
-gUnknown_83FB4BE:: @ 83FB4BE
- .string "{B_PLAYER_NAME} paid ¥{B_BUFF1} as the prize\n"
- .string "money…\p"
- .string "… … … …\p"
- .string "{B_PLAYER_NAME} whited out!{PAUSE_UNTIL_PRESS}$"
-
-gUnknown_83FB4F7:: @ 83FB4F7
- .string "{B_PLAYER_NAME} whited out!{PAUSE_UNTIL_PRESS}$"
-
-gUnknown_83FB508:: @ 83FB508
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX} prevents\n"
- .string "escape with {B_SCR_ACTIVE_ABILITY}!\p"
- .string "$"
-
-gUnknown_83FB525:: @ 83FB525
- .string "Can't escape!\p"
- .string "$"
-
-gUnknown_83FB534:: @ 83FB534
- .string "{B_ATK_NAME_WITH_PREFIX} can't escape!$"
-
-gUnknown_83FB545:: @ 83FB545
- .string "Hit {B_BUFF1} time(s)!$"
-
-gUnknown_83FB555:: @ 83FB555
- .string "{B_EFF_NAME_WITH_PREFIX}\n"
- .string "fell asleep!$"
-
-gUnknown_83FB565:: @ 83FB565
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\n"
- .string "made {B_EFF_NAME_WITH_PREFIX} sleep!$"
-
-gUnknown_83FB57C:: @ 83FB57C
- .string "{B_DEF_NAME_WITH_PREFIX} is\n"
- .string "already asleep!$"
-
-gUnknown_83FB592:: @ 83FB592
- .string "{B_ATK_NAME_WITH_PREFIX} is\n"
- .string "already asleep!$"
-
-gUnknown_83FB5A8:: @ 83FB5A8
- .string "{B_DEF_NAME_WITH_PREFIX}\n"
- .string "wasn't affected!$"
-
-gUnknown_83FB5BC:: @ 83FB5BC
- .string "{B_EFF_NAME_WITH_PREFIX}\n"
- .string "was poisoned!$"
-
-gUnknown_83FB5CD:: @ 83FB5CD
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\n"
- .string "poisoned {B_EFF_NAME_WITH_PREFIX}!$"
-
-gUnknown_83FB5E2:: @ 83FB5E2
- .string "{B_ATK_NAME_WITH_PREFIX} is hurt\n"
- .string "by poison!$"
-
-gUnknown_83FB5F8:: @ 83FB5F8
- .string "{B_DEF_NAME_WITH_PREFIX} is already\n"
- .string "poisoned.$"
-
-gUnknown_83FB610:: @ 83FB610
- .string "{B_EFF_NAME_WITH_PREFIX} is badly\n"
- .string "poisoned!$"
-
-gUnknown_83FB626:: @ 83FB626
- .string "{B_DEF_NAME_WITH_PREFIX} had its\n"
- .string "energy drained!$"
-
-gUnknown_83FB641:: @ 83FB641
- .string "{B_EFF_NAME_WITH_PREFIX} was burned!$"
-
-gUnknown_83FB650:: @ 83FB650
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\n"
- .string "burned {B_EFF_NAME_WITH_PREFIX}!$"
-
-gUnknown_83FB663:: @ 83FB663
- .string "{B_ATK_NAME_WITH_PREFIX} is hurt\n"
- .string "by its burn!$"
-
-gUnknown_83FB67B:: @ 83FB67B
- .string "{B_DEF_NAME_WITH_PREFIX} already\n"
- .string "has a burn.$"
-
-gUnknown_83FB692:: @ 83FB692
- .string "{B_EFF_NAME_WITH_PREFIX} was\n"
- .string "frozen solid!$"
-
-gUnknown_83FB6A7:: @ 83FB6A7
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\n"
- .string "froze {B_EFF_NAME_WITH_PREFIX} solid!$"
-
-gUnknown_83FB6BF:: @ 83FB6BF
- .string "{B_ATK_NAME_WITH_PREFIX} is\n"
- .string "frozen solid!$"
-
-gUnknown_83FB6D3:: @ 83FB6D3
- .string "{B_DEF_NAME_WITH_PREFIX} was\n"
- .string "defrosted!$"
-
-gUnknown_83FB6E5:: @ 83FB6E5
- .string "{B_ATK_NAME_WITH_PREFIX} was\n"
- .string "defrosted!$"
-
-gUnknown_83FB6F7:: @ 83FB6F7
- .string "{B_ATK_NAME_WITH_PREFIX} was\n"
- .string "defrosted by {B_CURRENT_MOVE}!$"
-
-gUnknown_83FB70F:: @ 83FB70F
- .string "{B_EFF_NAME_WITH_PREFIX} is paralyzed!\n"
- .string "It may be unable to move!$"
-
-gUnknown_83FB73A:: @ 83FB73A
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\n"
- .string "paralyzed {B_EFF_NAME_WITH_PREFIX}!\l"
- .string "It may be unable to move!$"
-
-gUnknown_83FB76A:: @ 83FB76A
- .string "{B_ATK_NAME_WITH_PREFIX} is paralyzed!\n"
- .string "It can't move!$"
-
-gUnknown_83FB78A:: @ 83FB78A
- .string "{B_DEF_NAME_WITH_PREFIX} is\n"
- .string "already paralyzed!$"
-
-gUnknown_83FB7A3:: @ 83FB7A3
- .string "{B_DEF_NAME_WITH_PREFIX} was\n"
- .string "healed of paralysis!$"
-
-gUnknown_83FB7BF:: @ 83FB7BF
- .string "{B_DEF_NAME_WITH_PREFIX}'s\n"
- .string "dream was eaten!$"
-
-gUnknown_83FB7D5:: @ 83FB7D5
- .string "{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\n"
- .string "won't go higher!$"
-
-gUnknown_83FB7EE:: @ 83FB7EE
- .string "{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\n"
- .string "won't go lower!$"
-
-gUnknown_83FB806:: @ 83FB806
- .string "Your team's {B_BUFF1}\n"
- .string "stopped working!$"
-
-gUnknown_83FB826:: @ 83FB826
- .string "The foe's {B_BUFF1}\n"
- .string "stopped working!$"
-
-gUnknown_83FB844:: @ 83FB844
- .string "{B_ATK_NAME_WITH_PREFIX} is\n"
- .string "confused!$"
-
-gUnknown_83FB854:: @ 83FB854
- .string "{B_ATK_NAME_WITH_PREFIX} snapped\n"
- .string "out of confusion!$"
-
-gUnknown_83FB871:: @ 83FB871
- .string "{B_EFF_NAME_WITH_PREFIX} became\n"
- .string "confused!$"
-
-gUnknown_83FB885:: @ 83FB885
- .string "{B_DEF_NAME_WITH_PREFIX} is\n"
- .string "already confused!$"
-
-gUnknown_83FB89D:: @ 83FB89D
- .string "{B_DEF_NAME_WITH_PREFIX}\n"
- .string "fell in love!$"
-
-gUnknown_83FB8AE:: @ 83FB8AE
- .string "{B_ATK_NAME_WITH_PREFIX} is in love\n"
- .string "with {B_SCR_ACTIVE_NAME_WITH_PREFIX}!$"
-
-gUnknown_83FB8C5:: @ 83FB8C5
- .string "{B_ATK_NAME_WITH_PREFIX} is\n"
- .string "immobilized by love!$"
-
-gUnknown_83FB8E0:: @ 83FB8E0
- .string "{B_DEF_NAME_WITH_PREFIX} was\n"
- .string "blown away!$"
-
-gUnknown_83FB8F3:: @ 83FB8F3
- .string "{B_ATK_NAME_WITH_PREFIX} transformed\n"
- .string "into the {B_BUFF1} type!$"
-
-gUnknown_83FB914:: @ 83FB914
- .string "{B_ATK_NAME_WITH_PREFIX} flinched!$"
-
-gUnknown_83FB921:: @ 83FB921
- .string "{B_DEF_NAME_WITH_PREFIX} regained\n"
- .string "health!$"
-
-gUnknown_83FB935:: @ 83FB935
- .string "{B_DEF_NAME_WITH_PREFIX}'s\n"
- .string "HP is full!$"
-
-gUnknown_83FB946:: @ 83FB946
- .string "{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\n"
- .string "raised SP. DEF!$"
-
-gUnknown_83FB95E:: @ 83FB95E
- .string "{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\n"
- .string "raised SP. DEF a little!$"
-
-gUnknown_83FB97F:: @ 83FB97F
- .string "{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\n"
- .string "raised DEFENSE!$"
-
-gUnknown_83FB997:: @ 83FB997
- .string "{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\n"
- .string "raised DEFENSE a little!$"
-
-gUnknown_83FB9B8:: @ 83FB9B8
- .string "{B_ATK_PREFIX2}'s party is covered\n"
- .string "by a veil!$"
-
-gUnknown_83FB9D9:: @ 83FB9D9
- .string "{B_DEF_NAME_WITH_PREFIX}'s party is protected\n"
- .string "by SAFEGUARD!$"
-
-gUnknown_83FB9FF:: @ 83FB9FF
- .string "{B_ATK_PREFIX3}'s party is no longer\n"
- .string "protected by SAFEGUARD!$"
-
-gUnknown_83FBA2F:: @ 83FBA2F
- .string "{B_ATK_NAME_WITH_PREFIX} went\n"
- .string "to sleep!$"
-
-gUnknown_83FBA41:: @ 83FBA41
- .string "{B_ATK_NAME_WITH_PREFIX} slept and\n"
- .string "became healthy!$"
-
-gUnknown_83FBA5E:: @ 83FBA5E
- .string "{B_ATK_NAME_WITH_PREFIX} whipped\n"
- .string "up a whirlwind!$"
-
-gUnknown_83FBA79:: @ 83FBA79
- .string "{B_ATK_NAME_WITH_PREFIX} took\n"
- .string "in sunlight!$"
-
-gUnknown_83FBA8E:: @ 83FBA8E
- .string "{B_ATK_NAME_WITH_PREFIX} lowered\n"
- .string "its head!$"
-
-gUnknown_83FBAA3:: @ 83FBAA3
- .string "{B_ATK_NAME_WITH_PREFIX} is glowing!$"
-
-gUnknown_83FBAB2:: @ 83FBAB2
- .string "{B_ATK_NAME_WITH_PREFIX} flew\n"
- .string "up high!$"
-
-gUnknown_83FBAC3:: @ 83FBAC3
- .string "{B_ATK_NAME_WITH_PREFIX} dug a hole!$"
-
-gUnknown_83FBAD2:: @ 83FBAD2
- .string "{B_ATK_NAME_WITH_PREFIX} hid\n"
- .string "underwater!$"
-
-gUnknown_83FBAE5:: @ 83FBAE5
- .string "{B_ATK_NAME_WITH_PREFIX} sprang up!$"
-
-gUnknown_83FBAF3:: @ 83FBAF3
- .string "{B_DEF_NAME_WITH_PREFIX} was squeezed by\n"
- .string "{B_ATK_NAME_WITH_PREFIX}'s BIND!$"
-
-gUnknown_83FBB11:: @ 83FBB11
- .string "{B_DEF_NAME_WITH_PREFIX} was trapped\n"
- .string "in the vortex!$"
-
-gUnknown_83FBB2F:: @ 83FBB2F
- .string "{B_DEF_NAME_WITH_PREFIX} was trapped\n"
- .string "by SAND TOMB!$"
-
-gUnknown_83FBB4C:: @ 83FBB4C
- .string "{B_DEF_NAME_WITH_PREFIX} was WRAPPED by\n"
- .string "{B_ATK_NAME_WITH_PREFIX}!$"
-
-gUnknown_83FBB62:: @ 83FBB62
- .string "{B_ATK_NAME_WITH_PREFIX} CLAMPED\n"
- .string "{B_DEF_NAME_WITH_PREFIX}!$"
-
-gUnknown_83FBB71:: @ 83FBB71
- .string "{B_ATK_NAME_WITH_PREFIX} is hurt\n"
- .string "by {B_BUFF1}!$"
-
-gUnknown_83FBB83:: @ 83FBB83
- .string "{B_ATK_NAME_WITH_PREFIX} was freed\n"
- .string "from {B_BUFF1}!$"
-
-gUnknown_83FBB99:: @ 83FBB99
- .string "{B_ATK_NAME_WITH_PREFIX} kept going\n"
- .string "and crashed!$"
-
-BattleText_MistShroud:: @ 83FBBB4
- .string "{B_ATK_PREFIX2} became\n"
- .string "shrouded in MIST!$"
-
-gUnknown_83FBBD0:: @ 83FBBD0
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX} is protected\n"
- .string "by MIST!$"
-
-BattleText_GetPumped:: @ 83FBBE9
- .string "{B_ATK_NAME_WITH_PREFIX} is getting\n"
- .string "pumped!$"
-
-gUnknown_83FBBFF:: @ 83FBBFF
- .string "{B_ATK_NAME_WITH_PREFIX} is hit\n"
- .string "with recoil!$"
-
-gUnknown_83FBC16:: @ 83FBC16
- .string "{B_ATK_NAME_WITH_PREFIX} protected\n"
- .string "itself!$"
-
-gUnknown_83FBC2B:: @ 83FBC2B
- .string "{B_ATK_NAME_WITH_PREFIX} is buffeted\n"
- .string "by the sandstorm!$"
-
-gUnknown_83FBC4C:: @ 83FBC4C
- .string "{B_ATK_NAME_WITH_PREFIX} is pelted\n"
- .string "by HAIL!$"
-
-gUnknown_83FBC62:: @ 83FBC62
- .string "{B_ATK_PREFIX1}'s {B_BUFF1}\n"
- .string "wore off!$"
-
-gUnknown_83FBC74:: @ 83FBC74
- .string "{B_DEF_NAME_WITH_PREFIX} was seeded!$"
-
-gUnknown_83FBC83:: @ 83FBC83
- .string "{B_DEF_NAME_WITH_PREFIX} evaded\n"
- .string "the attack!$"
-
-gUnknown_83FBC99:: @ 83FBC99
- .string "{B_ATK_NAME_WITH_PREFIX}'s health is\n"
- .string "sapped by LEECH SEED!$"
-
-gUnknown_83FBCBE:: @ 83FBCBE
- .string "{B_ATK_NAME_WITH_PREFIX} is fast\n"
- .string "asleep.$"
-
-gUnknown_83FBCD1:: @ 83FBCD1
- .string "{B_ATK_NAME_WITH_PREFIX} woke up!$"
-
-gUnknown_83FBCDD:: @ 83FBCDD
- .string "But {B_SCR_ACTIVE_NAME_WITH_PREFIX}'s UPROAR\n"
- .string "kept it awake!$"
-
-gUnknown_83FBCFC:: @ 83FBCFC
- .string "{B_ATK_NAME_WITH_PREFIX} woke up\n"
- .string "in the UPROAR!$"
-
-gUnknown_83FBD16:: @ 83FBD16
- .string "{B_ATK_NAME_WITH_PREFIX} caused\n"
- .string "an UPROAR!$"
-
-gUnknown_83FBD2B:: @ 83FBD2B
- .string "{B_ATK_NAME_WITH_PREFIX} is making\n"
- .string "an UPROAR!$"
-
-gUnknown_83FBD43:: @ 83FBD43
- .string "{B_ATK_NAME_WITH_PREFIX} calmed down.$"
-
-gUnknown_83FBD53:: @ 83FBD53
- .string "But {B_DEF_NAME_WITH_PREFIX} can't\n"
- .string "sleep in an UPROAR!$"
-
-gUnknown_83FBD74:: @ 83FBD74
- .string "{B_ATK_NAME_WITH_PREFIX} STOCKPILED\n"
- .string "{B_BUFF1}!$"
-
-gUnknown_83FBD86:: @ 83FBD86
- .string "{B_ATK_NAME_WITH_PREFIX} can't\n"
- .string "STOCKPILE any more!$"
-
-gUnknown_83FBDA3:: @ 83FBDA3
- .string "But {B_DEF_NAME_WITH_PREFIX} can't\n"
- .string "sleep in an UPROAR!$"
-
-gUnknown_83FBDC4:: @ 83FBDC4
- .string "But the UPROAR kept\n"
- .string "{B_DEF_NAME_WITH_PREFIX} awake!$"
-
-gUnknown_83FBDE2:: @ 83FBDE2
- .string "{B_DEF_NAME_WITH_PREFIX} stayed awake\n"
- .string "using its {B_DEF_ABILITY}!$"
-
-gUnknown_83FBE00:: @ 83FBE00
- .string "{B_ATK_NAME_WITH_PREFIX} is storing\n"
- .string "energy!$"
-
-gUnknown_83FBE16:: @ 83FBE16
- .string "{B_ATK_NAME_WITH_PREFIX} unleashed\n"
- .string "energy!$"
-
-gUnknown_83FBE2B:: @ 83FBE2B
- .string "{B_ATK_NAME_WITH_PREFIX} became\n"
- .string "confused due to fatigue!$"
-
-gUnknown_83FBE4E:: @ 83FBE4E
- .string "{B_PLAYER_NAME} picked up\n"
- .string "¥{B_BUFF1}!\p"
- .string "$"
-
-gUnknown_83FBE61:: @ 83FBE61
- .string "{B_DEF_NAME_WITH_PREFIX} is\n"
- .string "unaffected!$"
-
-gUnknown_83FBE73:: @ 83FBE73
- .string "{B_ATK_NAME_WITH_PREFIX} transformed\n"
- .string "into {B_BUFF1}!$"
-
-gUnknown_83FBE8B:: @ 83FBE8B
- .string "{B_ATK_NAME_WITH_PREFIX} made\n"
- .string "a SUBSTITUTE!$"
-
-gUnknown_83FBEA1:: @ 83FBEA1
- .string "{B_ATK_NAME_WITH_PREFIX} already\n"
- .string "has a SUBSTITUTE!$"
-
-gUnknown_83FBEBE:: @ 83FBEBE
- .string "The SUBSTITUTE took damage\n"
- .string "for {B_DEF_NAME_WITH_PREFIX}!\p"
- .string "$"
-
-gUnknown_83FBEE2:: @ 83FBEE2
- .string "{B_DEF_NAME_WITH_PREFIX}'s\n"
- .string "SUBSTITUTE faded!\p"
- .string "$"
-
-gUnknown_83FBEFA:: @ 83FBEFA
- .string "{B_ATK_NAME_WITH_PREFIX} must\n"
- .string "recharge!$"
-
-gUnknown_83FBF0C:: @ 83FBF0C
- .string "{B_DEF_NAME_WITH_PREFIX}'s RAGE\n"
- .string "is building!$"
-
-gUnknown_83FBF23:: @ 83FBF23
- .string "{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\n"
- .string "was disabled!$"
-
-gUnknown_83FBF39:: @ 83FBF39
- .string "{B_ATK_NAME_WITH_PREFIX} is disabled\n"
- .string "no more!$"
-
-gUnknown_83FBF51:: @ 83FBF51
- .string "{B_DEF_NAME_WITH_PREFIX} got\n"
- .string "an ENCORE!$"
-
-gUnknown_83FBF63:: @ 83FBF63
- .string "{B_ATK_NAME_WITH_PREFIX}'s ENCORE\n"
- .string "ended!$"
-
-gUnknown_83FBF76:: @ 83FBF76
- .string "{B_ATK_NAME_WITH_PREFIX} took aim\n"
- .string "at {B_DEF_NAME_WITH_PREFIX}!$"
-
-gUnknown_83FBF89:: @ 83FBF89
- .string "{B_ATK_NAME_WITH_PREFIX} SKETCHED\n"
- .string "{B_BUFF1}!$"
-
-gUnknown_83FBF99:: @ 83FBF99
- .string "{B_ATK_NAME_WITH_PREFIX} is trying\n"
- .string "to take its foe with it!$"
-
-gUnknown_83FBFBF:: @ 83FBFBF
- .string "{B_DEF_NAME_WITH_PREFIX} took\n"
- .string "{B_ATK_NAME_WITH_PREFIX} with it!$"
-
-gUnknown_83FBFD3:: @ 83FBFD3
- .string "Reduced {B_DEF_NAME_WITH_PREFIX}'s\n"
- .string "{B_BUFF1} by {B_BUFF2}!$"
-
-gUnknown_83FBFEA:: @ 83FBFEA
- .string "{B_ATK_NAME_WITH_PREFIX} stole\n"
- .string "{B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ITEM}!$"
-
-gUnknown_83FBFFC:: @ 83FBFFC
- .string "{B_DEF_NAME_WITH_PREFIX} can't\n"
- .string "escape now!$"
-
-gUnknown_83FC011:: @ 83FC011
- .string "{B_DEF_NAME_WITH_PREFIX} fell into\n"
- .string "a NIGHTMARE!$"
-
-gUnknown_83FC02B:: @ 83FC02B
- .string "{B_ATK_NAME_WITH_PREFIX} is locked\n"
- .string "in a NIGHTMARE!$"
-
-gUnknown_83FC048:: @ 83FC048
- .string "{B_ATK_NAME_WITH_PREFIX} cut its own HP and\n"
- .string "laid a CURSE on {B_DEF_NAME_WITH_PREFIX}!$"
-
-gUnknown_83FC072:: @ 83FC072
- .string "{B_ATK_NAME_WITH_PREFIX} is afflicted\n"
- .string "by the CURSE!$"
-
-gUnknown_83FC090:: @ 83FC090
- .string "SPIKES were scattered all around\n"
- .string "the opponent's side!$"
-
-gUnknown_83FC0C6:: @ 83FC0C6
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX} is hurt\n"
- .string "by SPIKES!$"
-
-gUnknown_83FC0DC:: @ 83FC0DC
- .string "{B_ATK_NAME_WITH_PREFIX} identified\n"
- .string "{B_DEF_NAME_WITH_PREFIX}!$"
-
-gUnknown_83FC0EE:: @ 83FC0EE
- .string "{B_ATK_NAME_WITH_PREFIX}'s PERISH count\n"
- .string "fell to {B_BUFF1}!$"
-
-gUnknown_83FC10C:: @ 83FC10C
- .string "{B_ATK_NAME_WITH_PREFIX} braced\n"
- .string "itself!$"
-
-gUnknown_83FC11E:: @ 83FC11E
- .string "{B_DEF_NAME_WITH_PREFIX} ENDURED\n"
- .string "the hit!$"
-
-gUnknown_83FC132:: @ 83FC132
- .string "MAGNITUDE {B_BUFF1}!$"
-
-gUnknown_83FC140:: @ 83FC140
- .string "{B_ATK_NAME_WITH_PREFIX} cut its own HP\n"
- .string "and maximized ATTACK!$"
-
-gUnknown_83FC168:: @ 83FC168
- .string "{B_ATK_NAME_WITH_PREFIX} copied\n"
- .string "{B_DEF_NAME_WITH_PREFIX}'s stat changes!$"
-
-gUnknown_83FC185:: @ 83FC185
- .string "{B_ATK_NAME_WITH_PREFIX} got free of\n"
- .string "{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}!$"
-
-gUnknown_83FC19D:: @ 83FC19D
- .string "{B_ATK_NAME_WITH_PREFIX} shed\n"
- .string "LEECH SEED!$"
-
-gUnknown_83FC1B1:: @ 83FC1B1
- .string "{B_ATK_NAME_WITH_PREFIX} blew away\n"
- .string "SPIKES!$"
-
-gUnknown_83FC1C6:: @ 83FC1C6
- .string "{B_ATK_NAME_WITH_PREFIX} fled from\n"
- .string "battle!$"
-
-gUnknown_83FC1DB:: @ 83FC1DB
- .string "{B_ATK_NAME_WITH_PREFIX} foresaw\n"
- .string "an attack!$"
-
-gUnknown_83FC1F1:: @ 83FC1F1
- .string "{B_DEF_NAME_WITH_PREFIX} took the\n"
- .string "{B_BUFF1} attack!$"
-
-gUnknown_83FC208:: @ 83FC208
- .string "{B_ATK_NAME_WITH_PREFIX} chose\n"
- .string "{B_CURRENT_MOVE} as its destiny!$"
-
-gUnknown_83FC224:: @ 83FC224
- .string "{B_BUFF1}'s attack!$"
-
-gUnknown_83FC231:: @ 83FC231
- .string "{B_ATK_NAME_WITH_PREFIX} became the\n"
- .string "center of attention!$"
-
-gUnknown_83FC254:: @ 83FC254
- .string "{B_ATK_NAME_WITH_PREFIX} began\n"
- .string "charging power!$"
-
-gUnknown_83FC26D:: @ 83FC26D
- .string "NATURE POWER turned into\n"
- .string "{B_CURRENT_MOVE}!$"
-
-gUnknown_83FC28A:: @ 83FC28A
- .string "{B_ATK_NAME_WITH_PREFIX}'s status\n"
- .string "returned to normal!$"
-
-gUnknown_83FC2AA:: @ 83FC2AA
- .string "{B_DEF_NAME_WITH_PREFIX} was subjected\n"
- .string "to TORMENT!$"
-
-gUnknown_83FC2C7:: @ 83FC2C7
- .string "{B_ATK_NAME_WITH_PREFIX} is tightening\n"
- .string "its focus!$"
-
-gUnknown_83FC2E3:: @ 83FC2E3
- .string "{B_DEF_NAME_WITH_PREFIX} fell for\n"
- .string "the TAUNT!$"
-
-gUnknown_83FC2FA:: @ 83FC2FA
- .string "{B_ATK_NAME_WITH_PREFIX} is ready to\n"
- .string "help {B_DEF_NAME_WITH_PREFIX}!$"
-
-gUnknown_83FC312:: @ 83FC312
- .string "{B_ATK_NAME_WITH_PREFIX} switched\n"
- .string "items with its opponent!$"
-
-gUnknown_83FC337:: @ 83FC337
- .string "{B_ATK_NAME_WITH_PREFIX} obtained\n"
- .string "{B_BUFF1}.$"
-
-gUnknown_83FC347:: @ 83FC347
- .string "{B_DEF_NAME_WITH_PREFIX} obtained\n"
- .string "{B_BUFF2}.$"
-
-gUnknown_83FC357:: @ 83FC357
- .string "{B_ATK_NAME_WITH_PREFIX} obtained\n"
- .string "{B_BUFF1}.\p"
- .string "{B_DEF_NAME_WITH_PREFIX} obtained\n"
- .string "{B_BUFF2}.$"
-
-gUnknown_83FC377:: @ 83FC377
- .string "{B_ATK_NAME_WITH_PREFIX} copied\n"
- .string "{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}!$"
-
-gUnknown_83FC38A:: @ 83FC38A
- .string "{B_ATK_NAME_WITH_PREFIX} made a WISH!$"
-
-gUnknown_83FC39A:: @ 83FC39A
- .string "{B_BUFF1}'s WISH\n"
- .string "came true!$"
-
-gUnknown_83FC3AF:: @ 83FC3AF
- .string "{B_ATK_NAME_WITH_PREFIX} planted its roots!$"
-
-gUnknown_83FC3C5:: @ 83FC3C5
- .string "{B_ATK_NAME_WITH_PREFIX} absorbed\n"
- .string "nutrients with its roots!$"
-
-gUnknown_83FC3EB:: @ 83FC3EB
- .string "{B_DEF_NAME_WITH_PREFIX} anchored\n"
- .string "itself with its roots!$"
-
-gUnknown_83FC40E:: @ 83FC40E
- .string "{B_ATK_NAME_WITH_PREFIX} made\n"
- .string "{B_DEF_NAME_WITH_PREFIX} drowsy!$"
-
-gUnknown_83FC421:: @ 83FC421
- .string "{B_ATK_NAME_WITH_PREFIX} knocked off\n"
- .string "{B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ITEM}!$"
-
-gUnknown_83FC439:: @ 83FC439
- .string "{B_ATK_NAME_WITH_PREFIX} swapped abilities\n"
- .string "with its opponent!$"
-
-gUnknown_83FC461:: @ 83FC461
- .string "{B_ATK_NAME_WITH_PREFIX} sealed the\n"
- .string "opponent's moveシsス!$"
-
-gUnknown_83FC483:: @ 83FC483
- .string "{B_ATK_NAME_WITH_PREFIX} wants the\n"
- .string "opponent to bear a GRUDGE!$"
-
-gUnknown_83FC4AB:: @ 83FC4AB
- .string "{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} lost\n"
- .string "all its PP due to the GRUDGE!$"
-
-gUnknown_83FC4D6:: @ 83FC4D6
- .string "{B_ATK_NAME_WITH_PREFIX} shrouded\n"
- .string "itself in {B_CURRENT_MOVE}!$"
-
-gUnknown_83FC4F0:: @ 83FC4F0
- .string "{B_ATK_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE}\n"
- .string "was bounced back by MAGIC COAT!$"
-
-gUnknown_83FC518:: @ 83FC518
- .string "{B_ATK_NAME_WITH_PREFIX} waits for its foe\n"
- .string "to make a move!$"
-
-gUnknown_83FC53D:: @ 83FC53D
- .string "{B_DEF_NAME_WITH_PREFIX} SNATCHED\n"
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s move!$"
-
-gUnknown_83FC554:: @ 83FC554
- .string "Electricity's power was\n"
- .string "weakened!$"
-
-gUnknown_83FC576:: @ 83FC576
- .string "Fire's power was\n"
- .string "weakened!$"
-
-gUnknown_83FC591:: @ 83FC591
- .string "{B_ATK_NAME_WITH_PREFIX} found\n"
- .string "one {B_LAST_ITEM}!$"
-
-gUnknown_83FC5A2:: @ 83FC5A2
- .string "A soothing aroma wafted\n"
- .string "through the area!$"
-
-gUnknown_83FC5CC:: @ 83FC5CC
- .string "Items can't be used now.{PAUSE 64}$"
-
-gUnknown_83FC5E8:: @ 83FC5E8
- .string "For {B_SCR_ACTIVE_NAME_WITH_PREFIX},\n"
- .string "{B_LAST_ITEM} {B_BUFF1}$"
-
-gUnknown_83FC5F6:: @ 83FC5F6
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX} used\n"
- .string "{B_LAST_ITEM} to hustle!$"
-
-gUnknown_83FC60C:: @ 83FC60C
- .string "{B_ATK_NAME_WITH_PREFIX} lost its\n"
- .string "focus and couldn't move!$"
-
-gUnknown_83FC631:: @ 83FC631
- .string "{B_DEF_NAME_WITH_PREFIX} was\n"
- .string "dragged out!\p"
- .string "$"
-
-gUnknown_83FC646:: @ 83FC646
- .string "The wall shattered!$"
-
-gUnknown_83FC65A:: @ 83FC65A
- .string "But it had no effect!$"
-
-gUnknown_83FC670:: @ 83FC670
- .string "{B_ACTIVE_NAME_WITH_PREFIX} has no\n"
- .string "moves left!\p"
- .string "$"
-
-gUnknown_83FC687:: @ 83FC687
- .string "{B_ACTIVE_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE}\n"
- .string "is disabled!\p"
- .string "$"
-
-gUnknown_83FC69D:: @ 83FC69D
- .string "{B_ACTIVE_NAME_WITH_PREFIX} can't use the same\n"
- .string "move in a row due to the TORMENT!\p"
- .string "$"
-
-gUnknown_83FC6D6:: @ 83FC6D6
- .string "{B_ACTIVE_NAME_WITH_PREFIX} can't use\n"
- .string "{B_CURRENT_MOVE} after the TAUNT!\p"
- .string "$"
-
-gUnknown_83FC6F8:: @ 83FC6F8
- .string "{B_ACTIVE_NAME_WITH_PREFIX} can't use the\n"
- .string "sealed {B_CURRENT_MOVE}!\p"
- .string "$"
-
-gUnknown_83FC715:: @ 83FC715
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\n"
- .string "made it rain!$"
-
-gUnknown_83FC72B:: @ 83FC72B
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\n"
- .string "raised its SPEED!$"
-
-gUnknown_83FC745:: @ 83FC745
- .string "{B_DEF_NAME_WITH_PREFIX} was protected\n"
- .string "by {B_DEF_ABILITY}!$"
-
-gUnknown_83FC75D:: @ 83FC75D
- .string "{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\n"
- .string "prevents {B_ATK_NAME_WITH_PREFIX}\l"
- .string "from using {B_CURRENT_MOVE}!$"
-
-gUnknown_83FC780:: @ 83FC780
- .string "{B_DEF_NAME_WITH_PREFIX} restored HP\n"
- .string "using its {B_DEF_ABILITY}!$"
-
-gUnknown_83FC79D:: @ 83FC79D
- .string "{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\n"
- .string "made {B_CURRENT_MOVE} useless!$"
-
-gUnknown_83FC7B6:: @ 83FC7B6
- .string "{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\n"
- .string "made it the {B_BUFF1} type!$"
-
-gUnknown_83FC7D3:: @ 83FC7D3
- .string "{B_EFF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\n"
- .string "prevents paralysis!$"
-
-gUnknown_83FC7EF:: @ 83FC7EF
- .string "{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\n"
- .string "prevents romance!$"
-
-gUnknown_83FC809:: @ 83FC809
- .string "{B_EFF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\n"
- .string "prevents poisoning!$"
-
-gUnknown_83FC825:: @ 83FC825
- .string "{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\n"
- .string "prevents confusion!$"
-
-gUnknown_83FC841:: @ 83FC841
- .string "{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\n"
- .string "raised its FIRE power!$"
-
-gUnknown_83FC860:: @ 83FC860
- .string "{B_DEF_NAME_WITH_PREFIX} anchors\n"
- .string "itself with {B_DEF_ABILITY}!$"
-
-gUnknown_83FC87B:: @ 83FC87B
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\n"
- .string "cuts {B_DEF_NAME_WITH_PREFIX}'s ATTACK!$"
-
-gUnknown_83FC895:: @ 83FC895
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\n"
- .string "prevents stat loss!$"
-
-gUnknown_83FC8B1:: @ 83FC8B1
- .string "{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\n"
- .string "hurt {B_ATK_NAME_WITH_PREFIX}!$"
-
-gUnknown_83FC8C2:: @ 83FC8C2
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX} TRACED\n"
- .string "{B_BUFF1}'s {B_BUFF2}!$"
-
-gUnknown_83FC8D5:: @ 83FC8D5
- .string "{B_EFF_NAME_WITH_PREFIX}'s {B_EFF_ABILITY}\n"
- .string "prevents burns!$"
-
-gUnknown_83FC8ED:: @ 83FC8ED
- .string "{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\n"
- .string "blocks {B_CURRENT_MOVE}!$"
-
-gUnknown_83FC900:: @ 83FC900
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\n"
- .string "blocks {B_CURRENT_MOVE}!$"
-
-gUnknown_83FC913:: @ 83FC913
- .string "{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}\n"
- .string "restored its HP a little!$"
-
-gUnknown_83FC935:: @ 83FC935
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\n"
- .string "whipped up a sandstorm!$"
-
-gUnknown_83FC955:: @ 83FC955
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\n"
- .string "intensified the sun's rays!$"
-
-gUnknown_83FC979:: @ 83FC979
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\n"
- .string "prevents {B_BUFF1} loss!$"
-
-gUnknown_83FC993:: @ 83FC993
- .string "{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\n"
- .string "infatuated {B_ATK_NAME_WITH_PREFIX}!$"
-
-gUnknown_83FC9AA:: @ 83FC9AA
- .string "{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\n"
- .string "made {B_CURRENT_MOVE} ineffective!$"
-
-gUnknown_83FC9C7:: @ 83FC9C7
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\n"
- .string "cured its {B_BUFF1} problem!$"
-
-gUnknown_83FC9E5:: @ 83FC9E5
- .string "It sucked up the\n"
- .string "LIQUID OOZE!$"
-
-gUnknown_83FCA03:: @ 83FCA03
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX} transformed!$"
-
-gUnknown_83FCA13:: @ 83FCA13
- .string "{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\n"
- .string "took the attack!$"
-
-gText_PkmnsXPreventsSwitching:: @ 83FCA2C
- .string "{B_BUFF1}'s {B_LAST_ABILITY}\n"
- .string "prevents switching!\p"
- .string "$"
-
-gUnknown_83FCA49:: @ 83FCA49
- .string "{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\n"
- .string "prevented {B_SCR_ACTIVE_NAME_WITH_PREFIX}'s\l"
- .string "{B_BUFF1} from working!$"
-
-gUnknown_83FCA71:: @ 83FCA71
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\n"
- .string "made it ineffective!$"
-
-gUnknown_83FCA8E:: @ 83FCA8E
- .string "{B_EFF_NAME_WITH_PREFIX}'s {B_EFF_ABILITY}\n"
- .string "prevents flinching!$"
-
-gUnknown_83FCAAA:: @ 83FCAAA
- .string "{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}\n"
- .string "prevents {B_DEF_NAME_WITH_PREFIX}'s\l"
- .string "{B_DEF_ABILITY} from working!$"
-
-gUnknown_83FCAD1:: @ 83FCAD1
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\n"
- .string "cured its {B_BUFF1} problem!$"
-
-gUnknown_83FCAEF:: @ 83FCAEF
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\n"
- .string "had no effect on {B_EFF_NAME_WITH_PREFIX}!$"
-
-gUnknown_83FCB0C:: @ 83FCB0C
- .string "{B_ATK_NAME_WITH_PREFIX} is too scared to move!$"
-
-gUnknown_83FCB26:: @ 83FCB26
- .string "GHOST: Get out…… Get out……$"
-
-gUnknown_83FCB41:: @ 83FCB41
- .string "sharply $"
-
-BattleText_Rose:: @ 83FCB4A
- .string "rose!$"
-
-gUnknown_83FCB50:: @ 83FCB50
- .string "harshly $"
-
-gUnknown_83FCB59:: @ 83FCB59
- .string "fell!$"
-
-gUnknown_83FCB5F:: @ 83FCB5F
- .string "{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\n"
- .string "{B_BUFF2}$"
-
-BattleText_UnknownString3:: @ 83FCB6A
- .string "{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\n"
- .string "{B_BUFF2}$"
-
-gUnknown_83FCB75:: @ 83FCB75
- .string "Using {B_LAST_ITEM}, the {B_BUFF1}\n"
- .string "of {B_SCR_ACTIVE_NAME_WITH_PREFIX} {B_BUFF2}$"
-
-gUnknown_83FCB8F:: @ 83FCB8F
- .string "{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\n"
- .string "{B_BUFF2}$"
-
-gUnknown_83FCB9A:: @ 83FCB9A
- .string "{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\n"
- .string "{B_BUFF2}$"
-
-gUnknown_83FCBA5:: @ 83FCBA5
- .string "{B_ATK_NAME_WITH_PREFIX}'s stats won't\n"
- .string "go any higher!$"
-
-gUnknown_83FCBC5:: @ 83FCBC5
- .string "{B_DEF_NAME_WITH_PREFIX}'s stats won't\n"
- .string "go any lower!$"
-
-gUnknown_83FCBE4:: @ 83FCBE4
- .string "A critical hit!$"
-
-gUnknown_83FCBF4:: @ 83FCBF4
- .string "It's a one-hit KO!$"
-
-gUnknown_83FCC07:: @ 83FCC07
- .string "{PAUSE 32}1, {PAUSE 15}2, and{PAUSE 15}… {PAUSE 15}… {PAUSE 15}… {PAUSE 15}{PLAY_SE SE_KON}Poof!\p"
- .string "$"
-
-gUnknown_83FCC33:: @ 83FCC33
- .string "And…\p"
- .string "$"
-
-gUnknown_83FCC39:: @ 83FCC39
- .string "HM moves can't be\n"
- .string "forgotten now.\p"
- .string "$"
-
-gUnknown_83FCC5B:: @ 83FCC5B
- .string "It's not very effective…$"
-
-gUnknown_83FCC74:: @ 83FCC74
- .string "It's super effective!$"
-
-gUnknown_83FCC8A:: @ 83FCC8A
- .string "{PLAY_SE SE_NIGERU}Got away safely!\p"
- .string "$"
-
-gUnknown_83FCCA0:: @ 83FCCA0
- .string "{PLAY_SE SE_NIGERU}{B_ATK_NAME_WITH_PREFIX} fled\n"
- .string "using its {B_LAST_ITEM}!\p"
- .string "$"
-
-gUnknown_83FCCBB:: @ 83FCCBB
- .string "{PLAY_SE SE_NIGERU}{B_ATK_NAME_WITH_PREFIX} fled\n"
- .string "using {B_ATK_ABILITY}!\p"
- .string "$"
-
-gUnknown_83FCCD2:: @ 83FCCD2
- .string "{PLAY_SE SE_NIGERU}Wild {B_BUFF1} fled!$"
-
-gUnknown_83FCCE4:: @ 83FCCE4
- .string "Player defeated\n"
- .string "{B_LINK_OPPONENT1_NAME}!$"
-
-gUnknown_83FCCF8:: @ 83FCCF8
- .string "Player beat {B_LINK_OPPONENT1_NAME}\n"
- .string "and {B_LINK_OPPONENT2_NAME}!$"
-
-gUnknown_83FCD0F:: @ 83FCD0F
- .string "Player lost against\n"
- .string "{B_LINK_OPPONENT1_NAME}!$"
-
-gUnknown_83FCD27:: @ 83FCD27
- .string "Player lost to {B_LINK_OPPONENT1_NAME}\n"
- .string "and {B_LINK_OPPONENT2_NAME}!$"
-
-gUnknown_83FCD41:: @ 83FCD41
- .string "Player battled to a draw against\n"
- .string "{B_LINK_OPPONENT1_NAME}!$"
-
-gUnknown_83FCD66:: @ 83FCD66
- .string "Player battled to a draw against\n"
- .string "{B_LINK_OPPONENT1_NAME} and {B_LINK_OPPONENT2_NAME}!$"
-
-gUnknown_83FCD92:: @ 83FCD92
- .string "{PLAY_SE SE_NIGERU}{B_LINK_OPPONENT1_NAME} fled!$"
-
-gUnknown_83FCD9F:: @ 83FCD9F
- .string "{PLAY_SE SE_NIGERU}{B_LINK_OPPONENT1_NAME} and\n"
- .string "{B_LINK_OPPONENT2_NAME} fled!$"
-
-gUnknown_83FCDB3:: @ 83FCDB3
- .string "No! There's no running\n"
- .string "from a TRAINER battle!\p"
- .string "$"
-
-gUnknown_83FCDE2:: @ 83FCDE2
- .string "Can't escape!\p"
- .string "$"
-
-gUnknown_83FCDF1:: @ 83FCDF1
- .string "$"
-
-gUnknown_83FCDF2:: @ 83FCDF2
- .string "But nothing happened!$"
-
-gUnknown_83FCE08:: @ 83FCE08
- .string "But it failed!$"
-
-gUnknown_83FCE17:: @ 83FCE17
- .string "It hurt itself in its\n"
- .string "confusion!$"
-
-gUnknown_83FCE38:: @ 83FCE38
- .string "The MIRROR MOVE failed!$"
-
-gUnknown_83FCE50:: @ 83FCE50
- .string "It started to rain!$"
-
-gUnknown_83FCE64:: @ 83FCE64
- .string "A downpour started!$"
-
-gUnknown_83FCE78:: @ 83FCE78
- .string "Rain continues to fall.$"
-
-gUnknown_83FCE90:: @ 83FCE90
- .string "The downpour continues.$"
-
-gUnknown_83FCEA8:: @ 83FCEA8
- .string "The rain stopped.$"
-
-gUnknown_83FCEBA:: @ 83FCEBA
- .string "A sandstorm brewed!$"
-
-gUnknown_83FCECE:: @ 83FCECE
- .string "The sandstorm rages.$"
-
-gUnknown_83FCEE3:: @ 83FCEE3
- .string "The sandstorm subsided.$"
-
-gUnknown_83FCEFB:: @ 83FCEFB
- .string "The sunlight got bright!$"
-
-gUnknown_83FCF14:: @ 83FCF14
- .string "The sunlight is strong.$"
-
-gUnknown_83FCF2C:: @ 83FCF2C
- .string "The sunlight faded.$"
-
-gUnknown_83FCF40:: @ 83FCF40
- .string "It started to hail!$"
-
-gUnknown_83FCF54:: @ 83FCF54
- .string "Hail continues to fall.$"
-
-gUnknown_83FCF6C:: @ 83FCF6C
- .string "The hail stopped.$"
-
-gUnknown_83FCF7E:: @ 83FCF7E
- .string "But it failed to SPIT UP\n"
- .string "a thing!$"
-
-gUnknown_83FCFA0:: @ 83FCFA0
- .string "But it failed to SWALLOW\n"
- .string "a thing!$"
-
-gUnknown_83FCFC2:: @ 83FCFC2
- .string "The wind turned into a\n"
- .string "HEAT WAVE!$"
-
-gUnknown_83FCFE4:: @ 83FCFE4
- .string "All stat changes were\n"
- .string "eliminated!$"
-
-gUnknown_83FD006:: @ 83FD006
- .string "Coins scattered everywhere!$"
-
-gUnknown_83FD022:: @ 83FD022
- .string "It was too weak to make\n"
- .string "a SUBSTITUTE!$"
-
-gUnknown_83FD048:: @ 83FD048
- .string "The battlers shared\n"
- .string "their pain!$"
-
-gUnknown_83FD068:: @ 83FD068
- .string "A bell chimed!$"
-
-gUnknown_83FD077:: @ 83FD077
- .string "All affected POKéMON will\n"
- .string "faint in three turns!$"
-
-gUnknown_83FD0A7:: @ 83FD0A7
- .string "There's no PP left for\n"
- .string "this move!\p"
- .string "$"
-
-gUnknown_83FD0CA:: @ 83FD0CA
- .string "But there was no PP left\n"
- .string "for the move!$"
-
-gUnknown_83FD0F1:: @ 83FD0F1
- .string "{B_ATK_NAME_WITH_PREFIX} ignored\n"
- .string "orders while asleep!$"
-
-gUnknown_83FD111:: @ 83FD111
- .string "{B_ATK_NAME_WITH_PREFIX} ignored\n"
- .string "orders!$"
-
-gUnknown_83FD124:: @ 83FD124
- .string "{B_ATK_NAME_WITH_PREFIX} began to nap!$"
-
-gUnknown_83FD135:: @ 83FD135
- .string "{B_ATK_NAME_WITH_PREFIX} is\n"
- .string "loafing around!$"
-
-gUnknown_83FD14B:: @ 83FD14B
- .string "{B_ATK_NAME_WITH_PREFIX} won't\n"
- .string "obey!$"
-
-gUnknown_83FD15A:: @ 83FD15A
- .string "{B_ATK_NAME_WITH_PREFIX} turned away!$"
-
-gUnknown_83FD16A:: @ 83FD16A
- .string "{B_ATK_NAME_WITH_PREFIX} pretended\n"
- .string "not to notice!$"
-
-gUnknown_83FD186:: @ 83FD186
- .string "{B_TRAINER1_CLASS} {B_TRAINER1_NAME} is\n"
- .string "about to use {B_BUFF2}.\p"
- .string "Will {B_PLAYER_NAME} change\n"
- .string "POKéMON?$"
-
-gUnknown_83FD1B8:: @ 83FD1B8
- .string "{B_ATK_NAME_WITH_PREFIX} learned\n"
- .string "{B_BUFF1}!$"
-
-gUnknown_83FD1C7:: @ 83FD1C7
- .string "Player defeated\n"
- .string "{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!\p"
- .string "$"
-
-gUnknown_83FD1DF:: @ 83FD1DF
- .string "{B_PLAYER_NAME} threw a ROCK\n"
- .string "at the {B_OPPONENT_MON1_NAME}!$"
-
-gUnknown_83FD1FA:: @ 83FD1FA
- .string "{B_PLAYER_NAME} threw some BAIT\n"
- .string "at the {B_OPPONENT_MON1_NAME}!$"
-
-gUnknown_83FD218:: @ 83FD218
- .string "{B_OPPONENT_MON1_NAME} is watching\n"
- .string "carefully!$"
-
-gUnknown_83FD232:: @ 83FD232
- .string "{B_OPPONENT_MON1_NAME} is angry!$"
-
-gUnknown_83FD23F:: @ 83FD23F
- .string "{B_OPPONENT_MON1_NAME} is eating!$"
-
-gUnknown_83FD24D:: @ 83FD24D
- .string "{PLAY_SE SE_PINPON}ANNOUNCER: You're out of\n"
- .string "SAFARI BALLS! Game over!\p"
- .string "$"
-
-gUnknown_83FD284:: @ 83FD284
- .string "Wild {B_OPPONENT_MON1_NAME} appeared!\p"
- .string "$"
-
-gUnknown_83FD297:: @ 83FD297
- .string "Wild {B_OPPONENT_MON1_NAME} appeared!\p"
- .string "$"
-
-gUnknown_83FD2AA:: @ 83FD2AA
- .string "Wild {B_OPPONENT_MON1_NAME} appeared!{PAUSE 127}$"
-
-gUnknown_83FD2BF:: @ 83FD2BF
- .string "Wild {B_OPPONENT_MON1_NAME} and\n"
- .string "{B_OPPONENT_MON2_NAME} appeared!\p"
- .string "$"
-
-gUnknown_83FD2D9:: @ 83FD2D9
- .string "The GHOST appeared!\p"
- .string "Darn!\n"
- .string "The GHOST can't be ID'd!\p"
- .string "$"
-
-gUnknown_83FD30D:: @ 83FD30D
- .string "The GHOST appeared!\p"
- .string "$"
-
-gUnknown_83FD322:: @ 83FD322
- .string "SILPH SCOPE unveiled the GHOST's\n"
- .string "identity!$"
-
-gUnknown_83FD34D:: @ 83FD34D
- .string "The GHOST was MAROWAK!\p"
- .string "\n"
- .string "$"
-
-gUnknown_83FD366:: @ 83FD366
- .string "{B_TRAINER1_CLASS} {B_TRAINER1_NAME}\n"
- .string "would like to battle!\p"
- .string "$"
-
-gUnknown_83FD383:: @ 83FD383
- .string "{B_LINK_OPPONENT1_NAME}\n"
- .string "wants to battle!$"
-
-gUnknown_83FD397:: @ 83FD397
- .string "{B_LINK_OPPONENT1_NAME} and {B_LINK_OPPONENT2_NAME}\n"
- .string "want to battle!$"
-
-gUnknown_83FD3B1:: @ 83FD3B1
- .string "{B_TRAINER1_CLASS} {B_TRAINER1_NAME} sent\n"
- .string "out {B_OPPONENT_MON1_NAME}!{PAUSE 60}$"
-
-gUnknown_83FD3C7:: @ 83FD3C7
- .string "{B_TRAINER1_CLASS} {B_TRAINER1_NAME} sent\n"
- .string "out {B_OPPONENT_MON1_NAME} and {B_OPPONENT_MON2_NAME}!{PAUSE 60}$"
-
-gUnknown_83FD3E4:: @ 83FD3E4
- .string "{B_TRAINER1_CLASS} {B_TRAINER1_NAME} sent\n"
- .string "out {B_BUFF1}!$"
-
-gUnknown_83FD3F7:: @ 83FD3F7
- .string "{B_LINK_OPPONENT1_NAME} sent out\n"
- .string "{B_OPPONENT_MON1_NAME}!$"
-
-gUnknown_83FD407:: @ 83FD407
- .string "{B_LINK_OPPONENT1_NAME} sent out\n"
- .string "{B_OPPONENT_MON1_NAME} and {B_OPPONENT_MON2_NAME}!$"
-
-gUnknown_83FD41E:: @ 83FD41E
- .string "{B_LINK_OPPONENT1_NAME} sent out {B_LINK_OPPONENT_MON1_NAME}!\n"
- .string "{B_LINK_OPPONENT2_NAME} sent out {B_LINK_OPPONENT_MON2_NAME}!$"
-
-gUnknown_83FD43E:: @ 83FD43E
- .string "{B_LINK_OPPONENT1_NAME} sent out\n"
- .string "{B_BUFF1}!$"
-
-gUnknown_83FD44E:: @ 83FD44E
- .string "{B_LINK_SCR_TRAINER_NAME} sent out\n"
- .string "{B_BUFF1}!$"
-
-gUnknown_83FD45E:: @ 83FD45E
- .string "Go! {B_PLAYER_MON1_NAME}!$"
-
-gUnknown_83FD466:: @ 83FD466
- .string "Go! {B_PLAYER_MON1_NAME} and\n"
- .string "{B_PLAYER_MON2_NAME}!$"
-
-gUnknown_83FD475:: @ 83FD475
- .string "Go! {B_BUFF1}!$"
-
-gUnknown_83FD47D:: @ 83FD47D
- .string "Do it! {B_BUFF1}!$"
-
-gUnknown_83FD488:: @ 83FD488
- .string "Go for it, {B_BUFF1}!$"
-
-gUnknown_83FD497:: @ 83FD497
- .string "Your foe's weak!\n"
- .string "Get 'em, {B_BUFF1}!$"
-
-gUnknown_83FD4B5:: @ 83FD4B5
- .string "{B_LINK_PARTNER_NAME} sent out {B_LINK_PLAYER_MON2_NAME}!\n"
- .string "Go! {GOOD_TEAM}!$"
-
-gUnknown_83FD4CD:: @ 83FD4CD
- .string "{B_BUFF1}, that's enough!\n"
- .string "Come back!$"
-
-gUnknown_83FD4EB:: @ 83FD4EB
- .string "{B_BUFF1}, come back!$"
-
-gUnknown_83FD4FA:: @ 83FD4FA
- .string "{B_BUFF1}, OK!\n"
- .string "Come back!$"
-
-gUnknown_83FD50D:: @ 83FD50D
- .string "{B_BUFF1}, good!\n"
- .string "Come back!$"
-
-gUnknown_83FD522:: @ 83FD522
- .string "{B_TRAINER1_CLASS} {B_TRAINER1_NAME}\n"
- .string "withdrew {B_BUFF1}!$"
-
-gUnknown_83FD535:: @ 83FD535
- .string "{B_LINK_OPPONENT1_NAME} withdrew\n"
- .string "{B_BUFF1}!$"
-
-gUnknown_83FD545:: @ 83FD545
- .string "{B_LINK_SCR_TRAINER_NAME} withdrew\n"
- .string "{B_BUFF1}!$"
-
-gUnknown_83FD555:: @ 83FD555
- .string "Wild $"
-
-gUnknown_83FD55B:: @ 83FD55B
- .string "Foe $"
-
-gUnknown_83FD560:: @ 83FD560
- .string "Foe$"
-
-gUnknown_83FD564:: @ 83FD564
- .string "Ally$"
-
-gUnknown_83FD569:: @ 83FD569
- .string "Foe$"
-
-gUnknown_83FD56D:: @ 83FD56D
- .string "Ally$"
-
-gUnknown_83FD572:: @ 83FD572
- .string "Foe$"
-
-gUnknown_83FD576:: @ 83FD576
- .string "Ally$"
-
-gUnknown_83FD57B:: @ 83FD57B
- .string "{B_ATK_NAME_WITH_PREFIX} used\n"
- .string "{B_BUFF2}$"
-
-gUnknown_83FD586:: @ 83FD586
- .string "!$"
-
-gUnknown_83FD588:: @ 83FD588
- .string "!$"
-
-gUnknown_83FD58A:: @ 83FD58A
- .string "!$"
-
-gUnknown_83FD58C:: @ 83FD58C
- .string "!$"
-
-gUnknown_83FD58E:: @ 83FD58E
- .string "!$"
-
-gUnknown_83FD590:: @ 83FD590
- .string "HP$"
-
-gUnknown_83FD593:: @ 83FD593
- .string "ATTACK$"
-
-gUnknown_83FD59A:: @ 83FD59A
- .string "DEFENSE$"
-
-gUnknown_83FD5A2:: @ 83FD5A2
- .string "SPEED$"
-
-gUnknown_83FD5A8:: @ 83FD5A8
- .string "SP. ATK$"
-
-gUnknown_83FD5B0:: @ 83FD5B0
- .string "SP. DEF$"
-
-gUnknown_83FD5B8:: @ 83FD5B8
- .string "accuracy$"
-
-gUnknown_83FD5C1:: @ 83FD5C1
- .string "evasiveness$"
-
- .align 2
-gUnknown_83FD5D0:: @ 83FD5D0
- .4byte gUnknown_83FD590
- .4byte gUnknown_83FD593
- .4byte gUnknown_83FD59A
- .4byte gUnknown_83FD5A2
- .4byte gUnknown_83FD5A8
- .4byte gUnknown_83FD5B0
- .4byte gUnknown_83FD5B8
- .4byte gUnknown_83FD5C1
-
-gUnknown_83FD5F0::
- .string "was too spicy!$"
-
-gUnknown_83FD5FF:: @ 83FD5FF
- .string "was too dry!$"
-
-gUnknown_83FD60C:: @ 83FD60C
- .string "was too sweet!$"
-
-gUnknown_83FD61B:: @ 83FD61B
- .string "was too bitter!$"
-
-gUnknown_83FD62B:: @ 83FD62B
- .string "was too sour!$"
-
- .align 2
-gUnknown_83FD63C:: @ 83FD63C
- .4byte gUnknown_83FD5F0
- .4byte gUnknown_83FD5FF
- .4byte gUnknown_83FD60C
- .4byte gUnknown_83FD61B
- .4byte gUnknown_83FD62B
-
-gUnknown_83FD650:: @ 83FD650
- .string "{B_PLAYER_NAME} used\n"
- .string "{B_LAST_ITEM}!$"
-
-gUnknown_83FD65C:: @ 83FD65C
- .string "The old man used\n"
- .string "{B_LAST_ITEM}!$"
-
-gUnknown_83FD671:: @ 83FD671
- .string "The POKé DUDE used\n"
- .string "{B_LAST_ITEM}!$"
-
-gUnknown_83FD688:: @ 83FD688
- .string "{B_TRAINER1_CLASS} {B_TRAINER1_NAME}\n"
- .string "used {B_LAST_ITEM}!$"
-
-gUnknown_83FD697:: @ 83FD697
- .string "The TRAINER blocked the BALL!$"
-
-gUnknown_83FD6B5:: @ 83FD6B5
- .string "Don't be a thief!$"
-
-gUnknown_83FD6C7:: @ 83FD6C7
- .string "It dodged the thrown BALL!\n"
- .string "This POKéMON can't be caught!$"
-
-gUnknown_83FD700:: @ 83FD700
- .string "You missed the POKéMON!$"
-
-gUnknown_83FD718:: @ 83FD718
- .string "Oh, no!\n"
- .string "The POKéMON broke free!$"
-
-gUnknown_83FD738:: @ 83FD738
- .string "Aww!\n"
- .string "It appeared to be caught!$"
-
-gUnknown_83FD757:: @ 83FD757
- .string "Aargh!\n"
- .string "Almost had it!$"
-
-gUnknown_83FD76D:: @ 83FD76D
- .string "Shoot!\n"
- .string "It was so close, too!$"
-
-gUnknown_83FD78A:: @ 83FD78A
- .string "よけられた!\n"
- .string "こいつは つかまりそうにないぞ!$"
-
-gUnknown_83FD7A2:: @ 83FD7A2
- .string "Gotcha!\n"
- .string "{B_OPPONENT_MON1_NAME} was caught!{WAIT_SE}{PLAY_BGM MUS_GET_YASEI}\p"
- .string "$"
-
-gUnknown_83FD7C0:: @ 83FD7C0
- .string "Gotcha!\n"
- .string "{B_OPPONENT_MON1_NAME} was caught!{WAIT_SE}{PLAY_BGM MUS_GET_YASEI}{PAUSE 127}$"
-
-gUnknown_83FD7E0:: @ 83FD7E0
- .string "Give a nickname to the\n"
- .string "captured {B_OPPONENT_MON1_NAME}?$"
-
-gUnknown_83FD804:: @ 83FD804
- .string "{B_OPPONENT_MON1_NAME} was sent to\n"
- .string "{B_PC_CREATOR_NAME} PC.$"
-
-gUnknown_83FD81A:: @ 83FD81A
- .string "someone's$"
-
-gUnknown_83FD824:: @ 83FD824
- .string "BILL's$"
-
-gUnknown_83FD82B:: @ 83FD82B
- .string "{B_OPPONENT_MON1_NAME}'s data was\n"
- .string "added to the POKéDEX.\p"
- .string "$"
-
-gUnknown_83FD850:: @ 83FD850
- .string "It is raining.$"
-
-gUnknown_83FD85F:: @ 83FD85F
- .string "A sandstorm is raging.$"
-
-gUnknown_83FD876:: @ 83FD876
- .string "The BOX is full!\n"
- .string "You can't catch any more!\p"
- .string "$"
-
-gUnknown_83FD8A2:: @ 83FD8A2
- .string "ENIGMA BERRY$"
-
-gUnknown_83FD8AF:: @ 83FD8AF
- .string " BERRY$"
-
-gUnknown_83FD8B6:: @ 83FD8B6
- .string "ナゾ$"
-
-gUnknown_83FD8B9:: @ 83FD8B9
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\n"
- .string "cured paralysis!$"
-
-gUnknown_83FD8D2:: @ 83FD8D2
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\n"
- .string "cured poison!$"
-
-gUnknown_83FD8E8:: @ 83FD8E8
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\n"
- .string "healed its burn!$"
-
-gUnknown_83FD901:: @ 83FD901
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\n"
- .string "defrosted it!$"
-
-gUnknown_83FD917:: @ 83FD917
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\n"
- .string "woke it from its sleep!$"
-
-gUnknown_83FD937:: @ 83FD937
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\n"
- .string "snapped it out of confusion!$"
-
-gUnknown_83FD95C:: @ 83FD95C
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\n"
- .string "cured its {B_BUFF1} problem!$"
-
-gUnknown_83FD97A:: @ 83FD97A
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\n"
- .string "normalized its status!$"
-
-gUnknown_83FD999:: @ 83FD999
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\n"
- .string "restored health!$"
-
-gUnknown_83FD9B2:: @ 83FD9B2
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\n"
- .string "restored {B_BUFF1}'s PP!$"
-
-gUnknown_83FD9CC:: @ 83FD9CC
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\n"
- .string "restored its status!$"
-
-gUnknown_83FD9E9:: @ 83FD9E9
- .string "{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\n"
- .string "restored its HP a little!$"
-
-gUnknown_83FDA0B:: @ 83FDA0B
- .string "{B_LAST_ITEM}'s effect allows only\n"
- .string "{B_CURRENT_MOVE} to be used!\p"
- .string "$"
-
-gUnknown_83FDA33:: @ 83FDA33
- .string "{B_DEF_NAME_WITH_PREFIX} hung on\n"
- .string "using its {B_LAST_ITEM}!$"
-
-gUnknown_83FDA4C:: @ 83FDA4C
- .string "$"
-
-gUnknown_83FDA4D:: @ 83FDA4D
- .string "{B_PLAYER_NAME} played the {B_LAST_ITEM}.\p"
- .string "Now, that's a catchy tune!$"
-
-gUnknown_83FDA7A:: @ 83FDA7A
- .string "{B_PLAYER_NAME} played the\n"
- .string "{B_LAST_ITEM}.$"
-
-gUnknown_83FDA8C:: @ 83FDA8C
- .string "The POKéMON hearing the FLUTE\n"
- .string "awoke!$"
-
-gUnknown_83FDAB1:: @ 83FDAB1
- .string "You throw a BALL now, right?\n"
- .string "I… I'll do my best!$"
-
-gUnknown_83FDAE2:: @ 83FDAE2
- .string "OAK: Oh, for Pete's sake…\n"
- .string "So pushy, as always.\p"
- .string "{B_PLAYER_NAME}.\p"
- .string "You've never had a POKéMON battle\n"
- .string "before, have you?\p"
- .string "A POKéMON battle is when TRAINERS\n"
- .string "pit their POKéMON against each\l"
- .string "other.\p"
- .string "$"
-
-gUnknown_83FDB92:: @ 83FDB92
- .string "The TRAINER that makes the other\n"
- .string "TRAINER's POKéMON faint by lowering\l"
- .string "their HP to “0,” wins.\p"
- .string "$"
-
-gUnknown_83FDBEF:: @ 83FDBEF
- .string "But rather than talking about it,\n"
- .string "you'll learn more from experience.\p"
- .string "Try battling and see for yourself.\p"
- .string "$"
-
-gUnknown_83FDC58:: @ 83FDC58
- .string "OAK: Inflicting damage on the foe\n"
- .string "is the key to any battle.\p"
- .string "$"
-
-gUnknown_83FDC95:: @ 83FDC95
- .string "OAK: Lowering the foe's stats\n"
- .string "will put you at an advantage.\p"
- .string "$"
-
-gUnknown_83FDCD2:: @ 83FDCD2
- .string "OAK: Keep your eyes on your\n"
- .string "POKéMON's HP.\p"
- .string "It will faint if the HP drops to\n"
- .string "“0.”\p"
- .string "$"
-
-gUnknown_83FDD23:: @ 83FDD23
- .string "OAK: No! There's no running away\n"
- .string "from a TRAINER POKéMON battle!\p"
- .string "$"
-
-gUnknown_83FDD64:: @ 83FDD64
- .string "OAK: Hm! Excellent!\p"
- .string "If you win, you earn prize money,\n"
- .string "and your POKéMON will grow!\p"
- .string "Battle other TRAINERS and make\n"
- .string "your POKéMON strong!\p"
- .string "$"
-
-gUnknown_83FDDEB:: @ 83FDDEB
- .string "OAK: Hm…\n"
- .string "How disappointing…\p"
- .string "If you win, you earn prize money,\n"
- .string "and your POKéMON grow.\p"
- .string "But if you lose, {B_PLAYER_NAME}, you end\n"
- .string "up paying prize money…\p"
- .string "However, since you had no warning\n"
- .string "this time, I'll pay for you.\p"
- .string "But things won't be this way once\n"
- .string "you step outside these doors.\p"
- .string "That's why you must strengthen your\n"
- .string "POKéMON by battling wild POKéMON.\p"
- .string "$"
-
- .align 2
-gBattleStringsTable:: @ 83FDF3C
- .4byte gUnknown_83FB219
- .4byte gUnknown_83FB265
- .4byte gUnknown_83FB28E
- .4byte gUnknown_83FB2A4
- .4byte gUnknown_83FB2B6
- .4byte gUnknown_83FB2D1
- .4byte gUnknown_83FB2FC
- .4byte gUnknown_83FB31F
- .4byte gUnknown_83FB32E
- .4byte gUnknown_83FB343
- .4byte gUnknown_83FD1B8
- .4byte gUnknown_83FB36B
- .4byte gUnknown_83FB37F
- .4byte gUnknown_83FCBA5
- .4byte gUnknown_83FB394
- .4byte gUnknown_83FB3EA
- .4byte gUnknown_83FB400
- .4byte gUnknown_83FB40D
- .4byte gUnknown_83FB41A
- .4byte gUnknown_83FB433
- .4byte gUnknown_83FB451
- .4byte gUnknown_83FB508
- .4byte gUnknown_83FB545
- .4byte gUnknown_83FB555
- .4byte gUnknown_83FB565
- .4byte gUnknown_83FB57C
- .4byte gUnknown_83FB592
- .4byte gUnknown_83FB5A8
- .4byte gUnknown_83FB5BC
- .4byte gUnknown_83FB5CD
- .4byte gUnknown_83FB5E2
- .4byte gUnknown_83FB5F8
- .4byte gUnknown_83FB610
- .4byte gUnknown_83FB626
- .4byte gUnknown_83FB641
- .4byte gUnknown_83FB650
- .4byte gUnknown_83FB663
- .4byte gUnknown_83FB692
- .4byte gUnknown_83FB6A7
- .4byte gUnknown_83FB6BF
- .4byte gUnknown_83FB6D3
- .4byte gUnknown_83FB6E5
- .4byte gUnknown_83FB6F7
- .4byte gUnknown_83FB70F
- .4byte gUnknown_83FB73A
- .4byte gUnknown_83FB76A
- .4byte gUnknown_83FB78A
- .4byte gUnknown_83FB7A3
- .4byte gUnknown_83FB7BF
- .4byte gUnknown_83FB7D5
- .4byte gUnknown_83FB7EE
- .4byte gUnknown_83FB806
- .4byte gUnknown_83FB826
- .4byte gUnknown_83FB844
- .4byte gUnknown_83FB854
- .4byte gUnknown_83FB871
- .4byte gUnknown_83FB885
- .4byte gUnknown_83FB89D
- .4byte gUnknown_83FB8AE
- .4byte gUnknown_83FB8C5
- .4byte gUnknown_83FB8E0
- .4byte gUnknown_83FB8F3
- .4byte gUnknown_83FB914
- .4byte gUnknown_83FB921
- .4byte gUnknown_83FB935
- .4byte gUnknown_83FB946
- .4byte gUnknown_83FB97F
- .4byte gUnknown_83FB9B8
- .4byte gUnknown_83FB9D9
- .4byte gUnknown_83FB9FF
- .4byte gUnknown_83FBA2F
- .4byte gUnknown_83FBA41
- .4byte gUnknown_83FBA5E
- .4byte gUnknown_83FBA79
- .4byte gUnknown_83FBA8E
- .4byte gUnknown_83FBAA3
- .4byte gUnknown_83FBAB2
- .4byte gUnknown_83FBAC3
- .4byte gUnknown_83FBAF3
- .4byte gUnknown_83FBB11
- .4byte gUnknown_83FBB4C
- .4byte gUnknown_83FBB62
- .4byte gUnknown_83FBB71
- .4byte gUnknown_83FBB83
- .4byte gUnknown_83FBB99
- .4byte BattleText_MistShroud
- .4byte gUnknown_83FBBD0
- .4byte BattleText_GetPumped
- .4byte gUnknown_83FBBFF
- .4byte gUnknown_83FBC16
- .4byte gUnknown_83FBC2B
- .4byte gUnknown_83FBC4C
- .4byte gUnknown_83FBC74
- .4byte gUnknown_83FBC83
- .4byte gUnknown_83FBC99
- .4byte gUnknown_83FBCBE
- .4byte gUnknown_83FBCD1
- .4byte gUnknown_83FBCDD
- .4byte gUnknown_83FBCFC
- .4byte gUnknown_83FBD16
- .4byte gUnknown_83FBD2B
- .4byte gUnknown_83FBD43
- .4byte gUnknown_83FBD53
- .4byte gUnknown_83FBD74
- .4byte gUnknown_83FBD86
- .4byte gUnknown_83FBDA3
- .4byte gUnknown_83FBDC4
- .4byte gUnknown_83FBDE2
- .4byte gUnknown_83FBE00
- .4byte gUnknown_83FBE16
- .4byte gUnknown_83FBE2B
- .4byte gUnknown_83FBE4E
- .4byte gUnknown_83FBE61
- .4byte gUnknown_83FBE73
- .4byte gUnknown_83FBE8B
- .4byte gUnknown_83FBEA1
- .4byte gUnknown_83FBEBE
- .4byte gUnknown_83FBEE2
- .4byte gUnknown_83FBEFA
- .4byte gUnknown_83FBF0C
- .4byte gUnknown_83FBF23
- .4byte gUnknown_83FC687
- .4byte gUnknown_83FBF39
- .4byte gUnknown_83FBF51
- .4byte gUnknown_83FBF63
- .4byte gUnknown_83FBF76
- .4byte gUnknown_83FBF89
- .4byte gUnknown_83FBF99
- .4byte gUnknown_83FBFBF
- .4byte gUnknown_83FBFD3
- .4byte gUnknown_83FBFEA
- .4byte gUnknown_83FBFFC
- .4byte gUnknown_83FC011
- .4byte gUnknown_83FC02B
- .4byte gUnknown_83FC048
- .4byte gUnknown_83FC072
- .4byte gUnknown_83FC090
- .4byte gUnknown_83FC0C6
- .4byte gUnknown_83FC0DC
- .4byte gUnknown_83FC0EE
- .4byte gUnknown_83FC10C
- .4byte gUnknown_83FC11E
- .4byte gUnknown_83FC132
- .4byte gUnknown_83FC140
- .4byte gUnknown_83FC168
- .4byte gUnknown_83FC185
- .4byte gUnknown_83FC19D
- .4byte gUnknown_83FC1B1
- .4byte gUnknown_83FC1C6
- .4byte gUnknown_83FC1DB
- .4byte gUnknown_83FC1F1
- .4byte gUnknown_83FC224
- .4byte gUnknown_83FC231
- .4byte gUnknown_83FC254
- .4byte gUnknown_83FC26D
- .4byte gUnknown_83FC28A
- .4byte gUnknown_83FC670
- .4byte gUnknown_83FC2AA
- .4byte gUnknown_83FC69D
- .4byte gUnknown_83FC2C7
- .4byte gUnknown_83FC2E3
- .4byte gUnknown_83FC6D6
- .4byte gUnknown_83FC2FA
- .4byte gUnknown_83FC312
- .4byte gUnknown_83FC377
- .4byte gUnknown_83FC38A
- .4byte gUnknown_83FC39A
- .4byte gUnknown_83FC3AF
- .4byte gUnknown_83FC3C5
- .4byte gUnknown_83FC3EB
- .4byte gUnknown_83FC40E
- .4byte gUnknown_83FC421
- .4byte gUnknown_83FC439
- .4byte gUnknown_83FC461
- .4byte gUnknown_83FC6F8
- .4byte gUnknown_83FC483
- .4byte gUnknown_83FC4AB
- .4byte gUnknown_83FC4D6
- .4byte gUnknown_83FC4F0
- .4byte gUnknown_83FC518
- .4byte gUnknown_83FC53D
- .4byte gUnknown_83FC715
- .4byte gUnknown_83FC72B
- .4byte gUnknown_83FC745
- .4byte gUnknown_83FC75D
- .4byte gUnknown_83FC780
- .4byte gUnknown_83FC7B6
- .4byte gUnknown_83FC7D3
- .4byte gUnknown_83FC7EF
- .4byte gUnknown_83FC809
- .4byte gUnknown_83FC825
- .4byte gUnknown_83FC841
- .4byte gUnknown_83FC860
- .4byte gUnknown_83FC87B
- .4byte gUnknown_83FC895
- .4byte gUnknown_83FC8B1
- .4byte gUnknown_83FC8C2
- .4byte gUnknown_83FCB41
- .4byte BattleText_Rose
- .4byte gUnknown_83FCB50
- .4byte gUnknown_83FCB59
- .4byte gUnknown_83FCB5F
- .4byte BattleText_UnknownString3
- .4byte gUnknown_83FCB8F
- .4byte gUnknown_83FCB9A
- .4byte gUnknown_83FCBE4
- .4byte gUnknown_83FCBF4
- .4byte gUnknown_83FCC07
- .4byte gUnknown_83FCC33
- .4byte gUnknown_83FCC5B
- .4byte gUnknown_83FCC74
- .4byte gUnknown_83FCC8A
- .4byte gUnknown_83FCCD2
- .4byte gUnknown_83FCDB3
- .4byte gUnknown_83FCDE2
- .4byte gUnknown_83FCDF1
- .4byte gUnknown_83FCDF2
- .4byte gUnknown_83FCE08
- .4byte gUnknown_83FCE17
- .4byte gUnknown_83FCE38
- .4byte gUnknown_83FCE50
- .4byte gUnknown_83FCE64
- .4byte gUnknown_83FCE78
- .4byte gUnknown_83FCE90
- .4byte gUnknown_83FCEA8
- .4byte gUnknown_83FCEBA
- .4byte gUnknown_83FCECE
- .4byte gUnknown_83FCEE3
- .4byte gUnknown_83FCEFB
- .4byte gUnknown_83FCF14
- .4byte gUnknown_83FCF2C
- .4byte gUnknown_83FCF40
- .4byte gUnknown_83FCF54
- .4byte gUnknown_83FCF6C
- .4byte gUnknown_83FCF7E
- .4byte gUnknown_83FCFA0
- .4byte gUnknown_83FCFC2
- .4byte gUnknown_83FCFE4
- .4byte gUnknown_83FD006
- .4byte gUnknown_83FD022
- .4byte gUnknown_83FD048
- .4byte gUnknown_83FD068
- .4byte gUnknown_83FD077
- .4byte gUnknown_83FD0A7
- .4byte gUnknown_83FD0CA
- .4byte gUnknown_83FD650
- .4byte gUnknown_83FD65C
- .4byte gUnknown_83FD697
- .4byte gUnknown_83FD6B5
- .4byte gUnknown_83FD6C7
- .4byte gUnknown_83FD700
- .4byte gUnknown_83FD718
- .4byte gUnknown_83FD738
- .4byte gUnknown_83FD757
- .4byte gUnknown_83FD76D
- .4byte gUnknown_83FD7A2
- .4byte gUnknown_83FD7C0
- .4byte gUnknown_83FD7E0
- .4byte gUnknown_83FD804
- .4byte gUnknown_83FD82B
- .4byte gUnknown_83FD850
- .4byte gUnknown_83FD85F
- .4byte gUnknown_83FB525
- .4byte gUnknown_83FD0F1
- .4byte gUnknown_83FD111
- .4byte gUnknown_83FD124
- .4byte gUnknown_83FD135
- .4byte gUnknown_83FD14B
- .4byte gUnknown_83FD15A
- .4byte gUnknown_83FD16A
- .4byte gUnknown_83FD186
- .4byte gUnknown_83FD1DF
- .4byte gUnknown_83FD1FA
- .4byte gUnknown_83FD218
- .4byte gUnknown_83FD232
- .4byte gUnknown_83FD23F
- .4byte gUnknown_83FB218
- .4byte gUnknown_83FB218
- .4byte gUnknown_83FD24D
- .4byte gUnknown_83FD8B9
- .4byte gUnknown_83FD8D2
- .4byte gUnknown_83FD8E8
- .4byte gUnknown_83FD901
- .4byte gUnknown_83FD917
- .4byte gUnknown_83FD937
- .4byte gUnknown_83FD95C
- .4byte gUnknown_83FD999
- .4byte gUnknown_83FD9B2
- .4byte gUnknown_83FD9CC
- .4byte gUnknown_83FD9E9
- .4byte gUnknown_83FDA0B
- .4byte gUnknown_83FDA33
- .4byte gUnknown_83FDA4C
- .4byte gUnknown_83FC8D5
- .4byte gUnknown_83FC8ED
- .4byte gUnknown_83FC913
- .4byte gUnknown_83FC935
- .4byte gUnknown_83FC979
- .4byte gUnknown_83FC993
- .4byte gUnknown_83FC9AA
- .4byte gUnknown_83FC9C7
- .4byte gUnknown_83FC9E5
- .4byte gUnknown_83FCA03
- .4byte gUnknown_83FC554
- .4byte gUnknown_83FC576
- .4byte gUnknown_83FBAD2
- .4byte gUnknown_83FBAE5
- .4byte gUnknown_83FCC39
- .4byte gUnknown_83FC591
- .4byte gUnknown_83FD1C7
- .4byte gUnknown_83FC5A2
- .4byte gUnknown_83FC5CC
- .4byte gUnknown_83FC5E8
- .4byte gUnknown_83FCB75
- .4byte gUnknown_83FC5F6
- .4byte gUnknown_83FC79D
- .4byte gUnknown_83FBB2F
- .4byte gUnknown_83FB282
- .4byte gUnknown_83FB283
- .4byte gUnknown_83FC955
- .4byte gUnknown_83FB3AF
- .4byte gUnknown_83FDAB1
- .4byte gUnknown_83FCA13
- .4byte gUnknown_83FC208
- .4byte gUnknown_83FC60C
- .4byte gUnknown_83FB359
- .4byte gUnknown_83FCCA0
- .4byte gUnknown_83FCCBB
- .4byte gUnknown_83FC631
- .4byte gUnknown_83FCA49
- .4byte gUnknown_83FD97A
- .4byte gUnknown_83FD688
- .4byte gUnknown_83FD876
- .4byte gUnknown_83FB3D3
- .4byte gUnknown_83FCA71
- .4byte gUnknown_83FCA8E
- .4byte gUnknown_83FB67B
- .4byte gUnknown_83FCBC5
- .4byte gUnknown_83FC900
- .4byte gUnknown_83FBC62
- .4byte gUnknown_83FB997
- .4byte gUnknown_83FB95E
- .4byte gUnknown_83FC646
- .4byte gUnknown_83FCAAA
- .4byte gUnknown_83FCAD1
- .4byte gUnknown_83FB534
- .4byte gUnknown_83FC337
- .4byte gUnknown_83FC347
- .4byte gUnknown_83FC357
- .4byte gUnknown_83FC65A
- .4byte gUnknown_83FCAEF
- .4byte gUnknown_83FDD64
- .4byte gUnknown_83FDDEB
- .4byte gUnknown_83FB484
- .4byte gUnknown_83FB4BE
- .4byte Text_1A5CF1
- .4byte Text_1A5D31
- .4byte Text_1A5D6E
- .4byte Text_1A5DB1
- .4byte gUnknown_83FD671
- .4byte gUnknown_83FDA4D
- .4byte gUnknown_83FDA7A
- .4byte gUnknown_83FDA8C
- .4byte gUnknown_83FB21C
- .4byte gUnknown_83FB262
- .4byte gUnknown_83FB4F7
- .4byte gUnknown_83FCB0C
- .4byte gUnknown_83FCB26
- .4byte gUnknown_83FD322
- .4byte gUnknown_83FD34D
- .4byte gUnknown_83FB21F
- .4byte gUnknown_83FB232
- .4byte gUnknown_83FB235
- .4byte gUnknown_83FB248
-
-gMissStringIds:: @ 83FE514
- .2byte STRINGID_ATTACKMISSED
- .2byte STRINGID_PKMNPROTECTEDITSELF
- .2byte STRINGID_PKMNAVOIDEDATTACK
- .2byte STRINGID_AVOIDEDDAMAGE
- .2byte STRINGID_PKMNMAKESGROUNDMISS
-
-gNoEscapeStringIds::
- .2byte STRINGID_CANTESCAPE
- .2byte STRINGID_DONTLEAVEBIRCH
- .2byte STRINGID_PREVENTSESCAPE
- .2byte STRINGID_CANTESCAPE2
- .2byte STRINGID_ATTACKERCANTESCAPE
-
-gMoveWeatherChangeStringIds::
- .2byte STRINGID_STARTEDTORAIN
- .2byte STRINGID_DOWNPOURSTARTED
- .2byte STRINGID_BUTITFAILED
- .2byte STRINGID_SANDSTORMBREWED
- .2byte STRINGID_SUNLIGHTGOTBRIGHT
- .2byte STRINGID_STARTEDHAIL
-
-gSandStormHailContinuesStringIds::
- .2byte STRINGID_SANDSTORMRAGES
- .2byte STRINGID_HAILCONTINUES
-
-gSandStormHailDmgStringIds::
- .2byte STRINGID_PKMNBUFFETEDBYSANDSTORM
- .2byte STRINGID_PKMNPELTEDBYHAIL
-
-gSandStormHailEndStringIds::
- .2byte STRINGID_SANDSTORMSUBSIDED
- .2byte STRINGID_HAILSTOPPED
-
-gRainContinuesStringIds::
- .2byte STRINGID_RAINCONTINUES
- .2byte STRINGID_DOWNPOURCONTINUES
- .2byte STRINGID_RAINSTOPPED
-
-gProtectLikeUsedStringIds::
- .2byte STRINGID_PKMNPROTECTEDITSELF2
- .2byte STRINGID_PKMNBRACEDITSELF
- .2byte STRINGID_BUTITFAILED
-
-gReflectLightScreenSafeguardStringIds::
- .2byte STRINGID_BUTITFAILED
- .2byte STRINGID_PKMNRAISEDDEF
- .2byte STRINGID_PKMNRAISEDDEFALITTLE
- .2byte STRINGID_PKMNRAISEDSPDEF
- .2byte STRINGID_PKMNRAISEDSPDEFALITTLE
- .2byte STRINGID_PKMNCOVEREDBYVEIL
-
-gLeechSeedStringIds::
- .2byte STRINGID_PKMNSEEDED
- .2byte STRINGID_PKMNEVADEDATTACK
- .2byte STRINGID_ITDOESNTAFFECT
- .2byte STRINGID_PKMNSAPPEDBYLEECHSEED
- .2byte STRINGID_ITSUCKEDLIQUIDOOZE
-
-gRestUsedStringIds::
- .2byte STRINGID_PKMNWENTTOSLEEP
- .2byte STRINGID_PKMNSLEPTHEALTHY
-
-gUproarOverTurnStringIds::
- .2byte STRINGID_PKMNMAKINGUPROAR
- .2byte STRINGID_PKMNCALMEDDOWN
-
-gStockpileUsedStringIds::
- .2byte STRINGID_PKMNSTOCKPILED
- .2byte STRINGID_PKMNCANTSTOCKPILE
-
-gWokeUpStringIds::
- .2byte STRINGID_PKMNWOKEUP
- .2byte STRINGID_PKMNWOKEUPINUPROAR
-
-gSwallowFailStringIds::
- .2byte STRINGID_FAILEDTOSWALLOW
- .2byte STRINGID_PKMNHPFULL
-
-gUproarAwakeStringIds::
- .2byte STRINGID_PKMNCANTSLEEPINUPROAR2
- .2byte STRINGID_UPROARKEPTPKMNAWAKE
- .2byte STRINGID_PKMNSTAYEDAWAKEUSING
-
-gStatUpStringIds::
- .2byte STRINGID_PKMNSSTATCHANGED
- .2byte STRINGID_PKMNSSTATCHANGED2
- .2byte STRINGID_STATSWONTINCREASE
- .2byte STRINGID_EMPTYSTRING3
- .2byte STRINGID_USINGXTHEYOFZN
- .2byte STRINGID_PKMNUSEDXTOGETPUMPED
-
-gStatDownStringIds::
- .2byte STRINGID_PKMNSSTATCHANGED3
- .2byte STRINGID_PKMNSSTATCHANGED4
- .2byte STRINGID_STATSWONTDECREASE
- .2byte STRINGID_EMPTYSTRING3
-
-gFirstTurnOfTwoStringIds::
- .2byte STRINGID_PKMNWHIPPEDWHIRLWIND
- .2byte STRINGID_PKMNTOOKSUNLIGHT
- .2byte STRINGID_PKMNLOWEREDHEAD
- .2byte STRINGID_PKMNISGLOWING
- .2byte STRINGID_PKMNFLEWHIGH
- .2byte STRINGID_PKMNDUGHOLE
- .2byte STRINGID_PKMNHIDUNDERWATER
- .2byte STRINGID_PKMNSPRANGUP
-
-gWrappedStringIds::
- .2byte STRINGID_PKMNSQUEEZEDBYBIND
- .2byte STRINGID_PKMNWRAPPEDBY
- .2byte STRINGID_PKMNTRAPPEDINVORTEX
- .2byte STRINGID_PKMNCLAMPED
- .2byte STRINGID_PKMNTRAPPEDINVORTEX
- .2byte STRINGID_PKMNTRAPPEDBYSANDTOMB
-
-gMistUsedStringIds::
- .2byte STRINGID_PKMNSHROUDEDINMIST
- .2byte STRINGID_BUTITFAILED
-
-gFocusEnergyUsedStringIds::
- .2byte STRINGID_PKMNGETTINGPUMPED
- .2byte STRINGID_BUTITFAILED
-
-gTransformUsedStringIds::
- .2byte STRINGID_PKMNTRANSFORMEDINTO
- .2byte STRINGID_BUTITFAILED
-
-gSubsituteUsedStringIds::
- .2byte STRINGID_PKMNMADESUBSTITUTE
- .2byte STRINGID_TOOWEAKFORSUBSTITUTE
-
-gGotPoisonedStringIds::
- .2byte STRINGID_PKMNWASPOISONED
- .2byte STRINGID_PKMNPOISONEDBY
-
-gGotParalyzedStringIds::
- .2byte STRINGID_PKMNWASPARALYZED
- .2byte STRINGID_PKMNWASPARALYZEDBY
-
-gFellAsleepStringIds::
- .2byte STRINGID_PKMNFELLASLEEP
- .2byte STRINGID_PKMNMADESLEEP
-
-gGotBurnedStringIds::
- .2byte STRINGID_PKMNWASBURNED
- .2byte STRINGID_PKMNBURNEDBY
-
-gGotFrozenStringIds::
- .2byte STRINGID_PKMNWASFROZEN
- .2byte STRINGID_PKMNFROZENBY
-
-gGotDefrostedStringIds::
- .2byte STRINGID_PKMNWASDEFROSTED2
- .2byte STRINGID_PKMNWASDEFROSTEDBY
-
-gKOFailedStringIds::
- .2byte STRINGID_ATTACKMISSED
- .2byte STRINGID_PKMNUNAFFECTED
-
-gAttractUsedStringIds::
- .2byte STRINGID_PKMNFELLINLOVE
- .2byte STRINGID_PKMNSXINFATUATEDY
-
-gLeechSeedDrainStringIds::
- .2byte STRINGID_PKMNENERGYDRAINED
- .2byte STRINGID_ITSUCKEDLIQUIDOOZE
-
-gSportsUsedStringIds::
- .2byte STRINGID_ELECTRICITYWEAKENED
- .2byte STRINGID_FIREWEAKENED
-
-gPartyStatusHealStringIds::
- .2byte STRINGID_BELLCHIMED
- .2byte STRINGID_BELLCHIMED
- .2byte STRINGID_BELLCHIMED
- .2byte STRINGID_BELLCHIMED
- .2byte STRINGID_SOOTHINGAROMA
-
-gFutureMoveUsedStringIds::
- .2byte STRINGID_PKMNFORESAWATTACK
- .2byte STRINGID_PKMNCHOSEXASDESTINY
-
-gBallEscapeStringIds::
- .2byte STRINGID_PKMNBROKEFREE
- .2byte STRINGID_ITAPPEAREDCAUGHT
- .2byte STRINGID_AARGHALMOSTHADIT
- .2byte STRINGID_SHOOTSOCLOSE
-
-gWeatherContinuesStringIds::
- .2byte STRINGID_ITISRAINING
- .2byte STRINGID_ITISRAINING
- .2byte STRINGID_ITISRAINING
- .2byte STRINGID_ITISRAINING
- .2byte STRINGID_ITISRAINING
- .2byte STRINGID_ITISRAINING
- .2byte STRINGID_ITISRAINING
- .2byte STRINGID_ITISRAINING
- .2byte STRINGID_SANDSTORMISRAGING
- .2byte STRINGID_ITISRAINING
- .2byte STRINGID_ITISRAINING
- .2byte STRINGID_ITISRAINING
- .2byte STRINGID_SUNLIGHTSTRONG
- .2byte STRINGID_ITISRAINING
- .2byte STRINGID_ITISRAINING
- .2byte STRINGID_ITISRAINING
-
-gInobedientStringIds::
- .2byte STRINGID_PKMNLOAFING
- .2byte STRINGID_PKMNWONTOBEY
- .2byte STRINGID_PKMNTURNEDAWAY
- .2byte STRINGID_PKMNPRETENDNOTNOTICE
-
-gSafariPokeblockResultStringIds::
- .2byte STRINGID_PKMNWATCHINGCAREFULLY
- .2byte STRINGID_PKMNANGRY
- .2byte STRINGID_PKMNEATING
-
-gTrainerItemCuredStatusStringIds::
- .2byte STRINGID_PKMNSITEMSNAPPEDOUT
- .2byte STRINGID_PKMNSITEMCUREDPARALYSIS
- .2byte STRINGID_PKMNSITEMDEFROSTEDIT
- .2byte STRINGID_PKMNSITEMHEALEDBURN
- .2byte STRINGID_PKMNSITEMCUREDPOISON
- .2byte STRINGID_PKMNSITEMWOKEIT
-
-gBerryEffectStringIds::
- .2byte STRINGID_PKMNSITEMCUREDPROBLEM
- .2byte STRINGID_PKMNSITEMNORMALIZEDSTATUS
-
-gBRNPreventionStringIds::
- .2byte STRINGID_PKMNSXPREVENTSBURNS
- .2byte STRINGID_PKMNSXPREVENTSYSZ
- .2byte STRINGID_PKMNSXHADNOEFFECTONY
-
-gPRLZPreventionStringIds::
- .2byte STRINGID_PKMNPREVENTSPARALYSISWITH
- .2byte STRINGID_PKMNSXPREVENTSYSZ
- .2byte STRINGID_PKMNSXHADNOEFFECTONY
-
-gPSNPreventionStringIds::
- .2byte STRINGID_PKMNPREVENTSPOISONINGWITH
- .2byte STRINGID_PKMNSXPREVENTSYSZ
- .2byte STRINGID_PKMNSXHADNOEFFECTONY
-
-gItemSwapStringIds::
- .2byte STRINGID_PKMNOBTAINEDX
- .2byte STRINGID_PKMNOBTAINEDX2
- .2byte STRINGID_PKMNOBTAINEDXYOBTAINEDZ
-
-gFlashFireStringIds::
- .2byte STRINGID_PKMNRAISEDFIREPOWERWITH
- .2byte STRINGID_PKMNSXMADEYINEFFECTIVE
-
-gCaughtMonStringIds::
- .2byte STRINGID_PKMNTRANSFERREDSOMEONESPC
- .2byte STRINGID_PKMNTRANSFERREDBILLSPC
- .2byte STRINGID_PKMNBOXSOMEONESPCFULL
- .2byte STRINGID_PKMNBOXBILLSPCFULL
-
-gDoubleBattleRecallStrings::
- .2byte STRINGID_TRAINER1MON1COMEBACK
- .2byte STRINGID_TRAINER1MON1COMEBACK
- .2byte STRINGID_TRAINER1MON2COMEBACK
- .2byte STRINGID_TRAINER1MON1AND2COMEBACK
-
-gTrappingMoves:: @ 83FE664
- .2byte MOVE_BIND
- .2byte MOVE_WRAP
- .2byte MOVE_FIRE_SPIN
- .2byte MOVE_CLAMP
- .2byte MOVE_WHIRLPOOL
- .2byte MOVE_SAND_TOMB
- .2byte 0xFFFF
-
-gText_PkmnIsEvolving:: @ 83FE672
- .string "What?\n"
- .string "{STR_VAR_1} is evolving!$"
-
-gText_CongratsPkmnEvolved:: @ 83FE688
- .string "Congratulations! Your {STR_VAR_1}\n"
- .string "evolved into {STR_VAR_2}!{WAIT_SE}\p"
- .string "$"
-
-gText_PkmnStoppedEvolving:: @ 83FE6B5
- .string "Huh? {STR_VAR_1}\n"
- .string "stopped evolving!\p"
- .string "$"
-
-gText_EllipsisQuestionMark:: @ 83FE6D0
- .string "……?\p"
- .string "$"
-
-gText_WhatWillPkmnDo:: @ 83FE6D5
- .string "What will\n"
- .string "{B_ACTIVE_NAME_WITH_PREFIX} do?$"
-
-gUnknown_83FE6E6:: @ 83FE6E6
- .string "What will {B_PLAYER_NAME}\n"
- .string "throw?$"
-
-gUnknown_83FE6FA:: @ 83FE6FA
- .string "What will the\n"
- .string "old man do?$"
-
-gText_LinkStandby:: @ 83FE714
- .string "{PAUSE 16}Link standby…$"
-
-gUnknown_83FE725:: @ 83FE725
- .string "{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW 13 14 15}FIGHT{CLEAR_TO 56}BAG\n"
- .string "POKéMON{CLEAR_TO 56}RUN$"
-
-gUnknown_83FE747:: @ 83FE747
- .string "{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW 13 14 15}BALL{CLEAR_TO 56}BAIT\n"
- .string "ROCK{CLEAR_TO 56}RUN$"
-
-gText_MoveInterfacePP:: @ 83FE766
- .string "PP $"
-
-gText_MoveInterfaceType:: @ 83FE76A
- .string "TYPE/$"
-
-gUnknown_83FE770:: @ 83FE770
- .string "{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW 13 14 15}$"
-
-gUnknown_83FE779:: @ 83FE779
- .string "{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW 13 14 15}どの わざを\n"
- .string "わすれさせたい?$"
-
-gText_BattleYesNoChoice:: @ 83FE791
- .string "{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW 13 14 15}Yes\n"
- .string "No$"
-
-gText_BattleSwitchWhich:: @ 83FE7A0
- .string "{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW 13 14 15}Switch\n"
- .string "which?$"
-
-gUnknown_83FE7B6:: @ 83FE7B6
- .string "{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW 13 14 15}$"
-
-gUnknown_83FE7BF:: @ 83FE7BF
- .string "{RIGHT_ARROW_2}$"
-
-gUnknown_83FE7C2:: @ 83FE7C2
- .string "{PLUS}$"
-
-gUnknown_83FE7C5:: @ 83FE7C5
- .string "-$"
-
-gUnknown_83FE7C7:: @ 83FE7C7
- .string "{SIZE 0}Max{SIZE 2} HP$"
-
-gUnknown_83FE7D4:: @ 83FE7D4
- .string "ATTACK $"
-
-gUnknown_83FE7DC:: @ 83FE7DC
- .string "DEFENSE$"
-
-gUnknown_83FE7E4:: @ 83FE7E4
- .string "SP. ATK$"
-
-gUnknown_83FE7EC:: @ 83FE7EC
- .string "SP. DEF$"
-
-gUnknown_83FE7F4:: @ 83FE7F4
- .4byte gUnknown_83FE7C7
- .4byte gUnknown_83FE7E4
- .4byte gUnknown_83FE7D4
- .4byte gUnknown_83FE7EC
- .4byte gUnknown_83FE7DC
- .4byte gUnknown_83FD5A2
-
-gUnknown_83FE80C::
- .string "{HIGHLIGHT 2}SAFARI BALLS$"
-
-gText_HighlightRed_Left:: @ 83FE81C
- .string "{HIGHLIGHT 2}Left: $"
-
-gText_HighlightRed:: @ 83FE826
- .string "{HIGHLIGHT 2}$"
-
-gText_Sleep:: @ 83FE82A
- .string "sleep$"
-
-gText_Poison:: @ 83FE830
- .string "poison$"
-
-gText_Burn:: @ 83FE837
- .string "burn$"
-
-gText_Paralysis:: @ 83FE83C
- .string "paralysis$"
-
-gText_Ice:: @ 83FE846
- .string "ice$"
-
-gText_Confusion:: @ 83FE84A
- .string "confusion$"
-
-gText_Love:: @ 83FE854
- .string "love$"
-
-gUnknown_83FE859:: @ 83FE859
- .string " $"
-
-gUnknown_83FE85C:: @ 83FE85C
- .string "\n"
- .string "$"
-
-gUnknown_83FE85E:: @ 83FE85E
- .string "\n"
- .string "$"
-
-gUnknown_83FE860:: @ 83FE860
- .string " is$"
-
-gUnknown_83FE864:: @ 83FE864
- .string " is$"
-
-gText_BadEgg:: @ 83FE868
- .string "Bad EGG$"
-
-gUnknown_83FE870:: @ 83FE870
- .string "ミツル$"
-
-gUnknown_83FE874:: @ 83FE874
- .string "{HIGHLIGHT 0}Win$"
-
-gUnknown_83FE87B:: @ 83FE87B
- .string "{HIGHLIGHT 0}Loss$"
-
-gUnknown_83FE883:: @ 83FE883
- .string "{HIGHLIGHT 0}Draw$"
-
-gUnknown_83FE88B:: @ 83FE88B
- .string " is$"
-
-gUnknown_83FE88F:: @ 83FE88F
- .string "'s$"
-
-gUnknown_83FE892:: @ 83FE892
- .string "a NORMAL move$"
-
-gUnknown_83FE8A0:: @ 83FE8A0
- .string "a FIGHTING move$"
-
-gUnknown_83FE8B0:: @ 83FE8B0
- .string "a FLYING move$"
-
-gUnknown_83FE8BE:: @ 83FE8BE
- .string "a POISON move$"
-
-gUnknown_83FE8CC:: @ 83FE8CC
- .string "a GROUND move$"
-
-gUnknown_83FE8DA:: @ 83FE8DA
- .string "a ROCK move$"
-
-gUnknown_83FE8E6:: @ 83FE8E6
- .string "a BUG move$"
-
-gUnknown_83FE8F1:: @ 83FE8F1
- .string "a GHOST move$"
-
-gUnknown_83FE8FE:: @ 83FE8FE
- .string "a STEEL move$"
-
-gUnknown_83FE90B:: @ 83FE90B
- .string "a ??? move$"
-
-gUnknown_83FE916:: @ 83FE916
- .string "a FIRE move$"
-
-gUnknown_83FE922:: @ 83FE922
- .string "a WATER move$"
-
-gUnknown_83FE92F:: @ 83FE92F
- .string "a GRASS move$"
-
-gUnknown_83FE93C:: @ 83FE93C
- .string "an ELECTRIC move$"
-
-gUnknown_83FE94D:: @ 83FE94D
- .string "a PSYCHIC move$"
-
-gUnknown_83FE95C:: @ 83FE95C
- .string "an ICE move$"
-
-gUnknown_83FE968:: @ 83FE968
- .string "a DRAGON move$"
-
-gUnknown_83FE976:: @ 83FE976
- .string "a DARK move$"
-
-gUnknown_83FE982:: @ 83FE982
- .string "TIME BOARD$"
-
-gUnknown_83FE98D:: @ 83FE98D
- .string "CLEAR TIME$"
-
-gUnknown_83FE998:: @ 83FE998
- .string "{STR_VAR_1}MIN. {STR_VAR_2}.{STR_VAR_3}SEC.$"
-
-gUnknown_83FE9A9:: @ 83FE9A9
- .string "1F$"
-
-gUnknown_83FE9AC:: @ 83FE9AC
- .string "2F$"
-
-gUnknown_83FE9AF:: @ 83FE9AF
- .string "3F$"
-
-gUnknown_83FE9B2:: @ 83FE9B2
- .string "4F$"
-
-gUnknown_83FE9B5:: @ 83FE9B5
- .string "5F$"
-
-gUnknown_83FE9B8:: @ 83FE9B8
- .string "6F$"
-
-gUnknown_83FE9BB:: @ 83FE9BB
- .string "7F$"
-
-gUnknown_83FE9BE:: @ 83FE9BE
- .string "8F$"
-
- .align 2
-gUnknown_83FE9C4:: @ 83FE9C4
- .4byte gOtherText_Single
- .4byte gOtherText_Double
- .4byte gOtherText_Knockout
- .4byte gOtherText_Mixed
-
-gUnknown_83FE9D4::
- .string "{PLAY_SE SE_NIGERU}{B_TRAINER1_CLASS} {B_TRAINER1_NAME} fled!$"
-
-gUnknown_83FE9E4:: @ 83FE9E4
- .string "Player lost against\n"
- .string "{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!$"
-
-gUnknown_83FE9FF:: @ 83FE9FF
- .string "Player battled to a draw against\n"
- .string "{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!$"
-
- .align 2
-gUnknown_83FEA28:: @ 83FEA28
- .4byte gUnknown_83FE892
- .4byte gUnknown_83FE8A0
- .4byte gUnknown_83FE8B0
- .4byte gUnknown_83FE8BE
- .4byte gUnknown_83FE8CC
- .4byte gUnknown_83FE8DA
- .4byte gUnknown_83FE8E6
- .4byte gUnknown_83FE8F1
- .4byte gUnknown_83FE8FE
- .4byte gUnknown_83FE90B
- .4byte gUnknown_83FE916
- .4byte gUnknown_83FE922
- .4byte gUnknown_83FE92F
- .4byte gUnknown_83FE93C
- .4byte gUnknown_83FE94D
- .4byte gUnknown_83FE95C
- .4byte gUnknown_83FE968
- .4byte gUnknown_83FE976
-
- .align 1
-gUnknown_83FEA70:: @ 83FEA70
- .2byte MOVE_SWORDS_DANCE
- .2byte MOVE_STRENGTH
- .2byte MOVE_GROWTH
- .2byte MOVE_HARDEN
- .2byte MOVE_MINIMIZE
- .2byte MOVE_SMOKESCREEN
- .2byte MOVE_WITHDRAW
- .2byte MOVE_DEFENSE_CURL
- .2byte MOVE_EGG_BOMB
- .2byte MOVE_SMOG
- .2byte MOVE_BONE_CLUB
- .2byte MOVE_FLASH
- .2byte MOVE_SPLASH
- .2byte MOVE_ACID_ARMOR
- .2byte MOVE_BONEMERANG
- .2byte MOVE_REST
- .2byte MOVE_SHARPEN
- .2byte MOVE_SUBSTITUTE
- .2byte MOVE_MIND_READER
- .2byte MOVE_SNORE
- .2byte MOVE_PROTECT
- .2byte MOVE_SPIKES
- .2byte MOVE_ENDURE
- .2byte MOVE_ROLLOUT
- .2byte MOVE_SWAGGER
- .2byte MOVE_SLEEP_TALK
- .2byte MOVE_HIDDEN_POWER
- .2byte MOVE_PSYCH_UP
- .2byte MOVE_EXTREME_SPEED
- .2byte MOVE_FOLLOW_ME
- .2byte MOVE_TRICK
- .2byte MOVE_ASSIST
- .2byte MOVE_INGRAIN
- .2byte MOVE_KNOCK_OFF
- .2byte MOVE_CAMOUFLAGE
- .2byte MOVE_ASTONISH
- .2byte MOVE_ODOR_SLEUTH
- .2byte MOVE_GRASS_WHISTLE
- .2byte MOVE_SHEER_COLD
- .2byte MOVE_MUDDY_WATER
- .2byte MOVE_IRON_DEFENSE
- .2byte MOVE_BOUNCE
- .2byte MOVE_NONE
-
- .2byte MOVE_TELEPORT
- .2byte MOVE_RECOVER
- .2byte MOVE_BIDE
- .2byte MOVE_AMNESIA
- .2byte MOVE_FLAIL
- .2byte MOVE_TAUNT
- .2byte MOVE_BULK_UP
- .2byte MOVE_NONE
-
- .2byte MOVE_MEDITATE
- .2byte MOVE_AGILITY
- .2byte MOVE_MIMIC
- .2byte MOVE_DOUBLE_TEAM
- .2byte MOVE_BARRAGE
- .2byte MOVE_TRANSFORM
- .2byte MOVE_STRUGGLE
- .2byte MOVE_SCARY_FACE
- .2byte MOVE_CHARGE
- .2byte MOVE_WISH
- .2byte MOVE_BRICK_BREAK
- .2byte MOVE_YAWN
- .2byte MOVE_FEATHER_DANCE
- .2byte MOVE_TEETER_DANCE
- .2byte MOVE_MUD_SPORT
- .2byte MOVE_FAKE_TEARS
- .2byte MOVE_WATER_SPORT
- .2byte MOVE_CALM_MIND
- .2byte MOVE_NONE
-
- .2byte MOVE_POUND
- .2byte MOVE_SCRATCH
- .2byte MOVE_VICE_GRIP
- .2byte MOVE_WING_ATTACK
- .2byte MOVE_FLY
- .2byte MOVE_BIND
- .2byte MOVE_SLAM
- .2byte MOVE_HORN_ATTACK
- .2byte MOVE_WRAP
- .2byte MOVE_THRASH
- .2byte MOVE_TAIL_WHIP
- .2byte MOVE_LEER
- .2byte MOVE_BITE
- .2byte MOVE_GROWL
- .2byte MOVE_ROAR
- .2byte MOVE_SING
- .2byte MOVE_PECK
- .2byte MOVE_ABSORB
- .2byte MOVE_STRING_SHOT
- .2byte MOVE_EARTHQUAKE
- .2byte MOVE_FISSURE
- .2byte MOVE_DIG
- .2byte MOVE_TOXIC
- .2byte MOVE_SCREECH
- .2byte MOVE_METRONOME
- .2byte MOVE_LICK
- .2byte MOVE_CLAMP
- .2byte MOVE_CONSTRICT
- .2byte MOVE_POISON_GAS
- .2byte MOVE_BUBBLE
- .2byte MOVE_SLASH
- .2byte MOVE_SPIDER_WEB
- .2byte MOVE_NIGHTMARE
- .2byte MOVE_CURSE
- .2byte MOVE_FORESIGHT
- .2byte MOVE_CHARM
- .2byte MOVE_ATTRACT
- .2byte MOVE_ROCK_SMASH
- .2byte MOVE_UPROAR
- .2byte MOVE_SPIT_UP
- .2byte MOVE_SWALLOW
- .2byte MOVE_TORMENT
- .2byte MOVE_FLATTER
- .2byte MOVE_ROLE_PLAY
- .2byte MOVE_ENDEAVOR
- .2byte MOVE_TICKLE
- .2byte MOVE_COVET
- .2byte MOVE_NONE
-
-gUnknown_83FEB5C:: @ 83FEB5C
- .byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
-
- .align 2
-gUnknown_83FEB64:: @ 83FEB64
- .byte 0xff, 0x02, 0x02, 0x02, 0x00, 0x02, 0x01, 0x01, 0x0f, 0x06
- .align 2
- .byte 0xff, 0x02, 0x02, 0x02, 0x00, 0x02, 0x00, 0x01, 0x0f, 0x06
- .align 2
- .byte 0xee, 0x01, 0x00, 0x02, 0x00, 0x02, 0x00, 0x0d, 0x0e, 0x0f
- .align 2
- .byte 0xee, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0d, 0x0e, 0x0f
- .align 2
- .byte 0xee, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0d, 0x0e, 0x0f
- .align 2
- .byte 0xee, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0d, 0x0e, 0x0f
- .align 2
- .byte 0xee, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0d, 0x0e, 0x0f
- .align 2
- .byte 0xee, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0c, 0x0e, 0x0b
- .align 2
- .byte 0xee, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0d, 0x0e, 0x0f
- .align 2
- .byte 0xee, 0x01, 0x0a, 0x02, 0x00, 0x02, 0x00, 0x0c, 0x0e, 0x0b
- .align 2
- .byte 0xee, 0x01, 0x00, 0x02, 0x00, 0x02, 0x00, 0x0d, 0x0e, 0x0f
- .align 2
- .byte 0xee, 0x01, 0x00, 0x02, 0x00, 0x02, 0x00, 0x0d, 0x0e, 0x0f
- .align 2
- .byte 0xee, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x0e, 0x0f
- .align 2
- .byte 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02
- .align 2
- .byte 0xee, 0x02, 0x00, 0x02, 0x01, 0x02, 0x00, 0x0d, 0x0e, 0x0f
- .align 2
- .byte 0xee, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0d, 0x0e, 0x0f
- .align 2
- .byte 0xee, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0d, 0x0e, 0x0f
- .align 2
- .byte 0xee, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0d, 0x0e, 0x0f
- .align 2
- .byte 0xee, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0d, 0x0e, 0x0f
- .align 2
- .byte 0xee, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0d, 0x0e, 0x0f
- .align 2
- .byte 0xee, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0d, 0x0e, 0x0f
- .align 2
- .byte 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x06
- .align 2
- .byte 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x06
- .align 2
- .byte 0x00, 0x02, 0x00, 0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x06
- .align 2
- .byte 0x11, 0x04, 0x00, 0x01, 0x00, 0x01, 0x01, 0x02, 0x01, 0x03
- .align 2
-
-gUnknown_83FEC90:: @ 83FEC90
- .byte 0x04, 0x05, 0x02, 0x02
diff --git a/include/battle.h b/include/battle.h
index 0298dd265..54aef5106 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -24,8 +24,7 @@
#define TRAINER_OPPONENT_3FE 0x3FE
#define TRAINER_OPPONENT_C00 0xC00
-#define TRAINER_OPPONENT_800 0x800
-#define STEVEN_PARTNER_ID 0xC03
+#define TRAINER_LINK_OPPONENT 0x800
#define SECRET_BASE_OPPONENT 0x400
#define B_ACTION_USE_MOVE 0
diff --git a/include/battle_message.h b/include/battle_message.h
index 2bbfffa43..612b253cf 100644
--- a/include/battle_message.h
+++ b/include/battle_message.h
@@ -51,13 +51,9 @@
#define B_TXT_DEF_PREFIX2 0x2B
#define B_TXT_ATK_PREFIX3 0x2C
#define B_TXT_DEF_PREFIX3 0x2D
-#define B_TXT_TRAINER2_CLASS 0x2E
-#define B_TXT_TRAINER2_NAME 0x2F
-#define B_TXT_TRAINER2_LOSE_TEXT 0x30
-#define B_TXT_TRAINER2_WIN_TEXT 0x31
-#define B_TXT_PARTNER_CLASS 0x32
-#define B_TXT_PARTNER_NAME 0x33
-#define B_TXT_BUFF3 0x34
+#define B_TXT_TRAINER2_LOSE_TEXT 0x2E
+#define B_TXT_TRAINER2_WIN_TEXT 0x2F
+#define B_TXT_BUFF3 0x30
// for B_TXT_BUFF1, B_TXT_BUFF2 and B_TXT_BUFF3
diff --git a/include/battle_string_ids.h b/include/battle_string_ids.h
index 155e9f7bf..0eb6b63f4 100644
--- a/include/battle_string_ids.h
+++ b/include/battle_string_ids.h
@@ -387,6 +387,6 @@
#define STRINGID_TRAINER1MON2COMEBACK 384
#define STRINGID_TRAINER1MON1AND2COMEBACK 385
-#define BATTLESTRINGS_COUNT 386
+#define BATTLESTRINGS_COUNT 374
#endif // GUARD_BATTLE_STRING_IDS_H
diff --git a/include/battle_tower.h b/include/battle_tower.h
index e9425e76f..87f847aa4 100644
--- a/include/battle_tower.h
+++ b/include/battle_tower.h
@@ -33,5 +33,10 @@ void ValidateEReaderTrainer(void);
u8 GetBattleTowerTrainerFrontSpriteId(void);
u8 GetEreaderTrainerFrontSpriteId(void);
void CopyEReaderTrainerName5(u8 *dest);
+void sub_815DC40(u8 *dest, u8 opponentIdx);
+void sub_815DBF4(u8 *dest, u8 opponentIdx);
+void GetBattleTowerTrainerName(u8 *text);
+u8 GetEreaderTrainerClassId(void);
+u8 GetBattleTowerTrainerClassNameId(void);
#endif //GUARD_BATTLE_TOWER_H
diff --git a/include/constants/trainers.h b/include/constants/trainers.h
index 30e11c14f..f75c4bab8 100644
--- a/include/constants/trainers.h
+++ b/include/constants/trainers.h
@@ -170,155 +170,6 @@
#define F_TRAINER_FEMALE (1 << 7)
-#define TRAINER_PIC_AQUA_LEADER_ARCHIE 0
-#define TRAINER_PIC_AQUA_GRUNT_M 1
-#define TRAINER_PIC_AQUA_GRUNT_F 2
-#define TRAINER_PIC_RS_AROMA_LADY 3
-#define TRAINER_PIC_RS_RUIN_MANIAC 4
-#define TRAINER_PIC_INTERVIEWER 5
-#define TRAINER_PIC_RS_TUBER_F 6
-#define TRAINER_PIC_TUBER_M 7
-#define TRAINER_PIC_RS_COOLTRAINER_M 8
-#define TRAINER_PIC_RS_COOLTRAINER_F 9
-#define TRAINER_PIC_HEX_MANIAC 10
-#define TRAINER_PIC_RS_LADY 11
-#define TRAINER_PIC_RS_BEAUTY 12
-#define TRAINER_PIC_RICH_BOY 13
-#define TRAINER_PIC_RS_POKEMANIAC 14
-#define TRAINER_PIC_RS_SWIMMER_M 15
-#define TRAINER_PIC_RS_BLACK_BELT 16
-#define TRAINER_PIC_GUITARIST 17
-#define TRAINER_PIC_KINDLER 18
-#define TRAINER_PIC_RS_CAMPER 19
-#define TRAINER_PIC_BUG_MANIAC 20
-#define TRAINER_PIC_RS_PSYCHIC_M 21
-#define TRAINER_PIC_RS_PSYCHIC_F 22
-#define TRAINER_PIC_RS_GENTLEMAN 23
-#define TRAINER_PIC_ELITE_FOUR_SIDNEY 24
-#define TRAINER_PIC_ELITE_FOUR_PHOEBE 25
-#define TRAINER_PIC_LEADER_ROXANNE 26
-#define TRAINER_PIC_LEADER_BRAWLY 27
-#define TRAINER_PIC_LEADER_TATE_AND_LIZA 28
-#define TRAINER_PIC_SCHOOL_KID_M 29
-#define TRAINER_PIC_SCHOOL_KID_F 30
-#define TRAINER_PIC_SR_AND_JR 31
-#define TRAINER_PIC_POKEFAN_M 32
-#define TRAINER_PIC_POKEFAN_F 33
-#define TRAINER_PIC_EXPERT_M 34
-#define TRAINER_PIC_EXPERT_F 35
-#define TRAINER_PIC_RS_YOUNGSTER 36
-#define TRAINER_PIC_CHAMPION_STEVEN 37
-#define TRAINER_PIC_RS_FISHERMAN 38
-#define TRAINER_PIC_CYCLING_TRIATHLETE_M 39
-#define TRAINER_PIC_CYCLING_TRIATHLETE_F 40
-#define TRAINER_PIC_RUNNING_TRIATHLETE_M 41
-#define TRAINER_PIC_RUNNING_TRIATHLETE_F 42
-#define TRAINER_PIC_SWIMMING_TRIATHLETE_M 43
-#define TRAINER_PIC_SWIMMING_TRIATHLETE_F 44
-#define TRAINER_PIC_DRAGON_TAMER 45
-#define TRAINER_PIC_RS_BIRD_KEEPER 46
-#define TRAINER_PIC_NINJA_BOY 47
-#define TRAINER_PIC_BATTLE_GIRL 48
-#define TRAINER_PIC_PARASOL_LADY 49
-#define TRAINER_PIC_RS_SWIMMER_F 50
-#define TRAINER_PIC_RS_PICNICKER 51
-#define TRAINER_PIC_RS_TWINS 52
-#define TRAINER_PIC_RS_SAILOR 53
-#define TRAINER_PIC_COLLECTOR 54
-#define TRAINER_PIC_WALLY 55
-#define TRAINER_PIC_RS_BRENDAN_1 56
-#define TRAINER_PIC_RS_MAY_1 57
-#define TRAINER_PIC_POKEMON_BREEDER_M 58
-#define TRAINER_PIC_RS_POKEMON_BREEDER_F 59
-#define TRAINER_PIC_RS_POKEMON_RANGER_M 60
-#define TRAINER_PIC_RS_POKEMON_RANGER_F 61
-#define TRAINER_PIC_MAGMA_LEADER_MAXIE 62
-#define TRAINER_PIC_MAGMA_GRUNT_M 63
-#define TRAINER_PIC_MAGMA_GRUNT_F 64
-#define TRAINER_PIC_RS_LASS 65
-#define TRAINER_PIC_RS_BUG_CATCHER 66
-#define TRAINER_PIC_RS_HIKER 67
-#define TRAINER_PIC_RS_YOUNG_COUPLE 68
-#define TRAINER_PIC_OLD_COUPLE 69
-#define TRAINER_PIC_RS_SIS_AND_BRO 70
-#define TRAINER_PIC_AQUA_ADMIN_M 71
-#define TRAINER_PIC_AQUA_ADMIN_F 72
-#define TRAINER_PIC_MAGMA_ADMIN_M 73
-#define TRAINER_PIC_MAGMA_ADMIN_F 74
-#define TRAINER_PIC_LEADER_WATTSON 75
-#define TRAINER_PIC_LEADER_FLANNERY 76
-#define TRAINER_PIC_LEADER_NORMAN 77
-#define TRAINER_PIC_LEADER_WINONA 78
-#define TRAINER_PIC_LEADER_WALLACE 79
-#define TRAINER_PIC_ELITE_FOUR_GLACIA 80
-#define TRAINER_PIC_ELITE_FOUR_DRAKE 81
-#define TRAINER_PIC_YOUNGSTER 82
-#define TRAINER_PIC_BUG_CATCHER 83
-#define TRAINER_PIC_LASS 84
-#define TRAINER_PIC_SAILOR 85
-#define TRAINER_PIC_CAMPER 86
-#define TRAINER_PIC_PICNICKER 87
-#define TRAINER_PIC_POKEMANIAC 88
-#define TRAINER_PIC_SUPER_NERD 89
-#define TRAINER_PIC_HIKER 90
-#define TRAINER_PIC_BIKER 91
-#define TRAINER_PIC_BURGLAR 92
-#define TRAINER_PIC_ENGINEER 93
-#define TRAINER_PIC_FISHERMAN 94
-#define TRAINER_PIC_SWIMMER_M 95
-#define TRAINER_PIC_CUE_BALL 96
-#define TRAINER_PIC_GAMER 97
-#define TRAINER_PIC_BEAUTY 98
-#define TRAINER_PIC_SWIMMER_F 99
-#define TRAINER_PIC_PSYCHIC_M 100
-#define TRAINER_PIC_ROCKER 101
-#define TRAINER_PIC_JUGGLER 102
-#define TRAINER_PIC_TAMER 103
-#define TRAINER_PIC_BIRD_KEEPER 104
-#define TRAINER_PIC_BLACK_BELT 105
-#define TRAINER_PIC_RIVAL_1 106
-#define TRAINER_PIC_SCIENTIST 107
-#define TRAINER_PIC_LEADER_GIOVANNI 108
-#define TRAINER_PIC_ROCKET_GRUNT_M 109
-#define TRAINER_PIC_COOLTRAINER_M 110
-#define TRAINER_PIC_COOLTRAINER_F 111
-#define TRAINER_PIC_ELITE_FOUR_LORELEI 112
-#define TRAINER_PIC_ELITE_FOUR_BRUNO 113
-#define TRAINER_PIC_ELITE_FOUR_AGATHA 114
-#define TRAINER_PIC_ELITE_FOUR_LANCE 115
-#define TRAINER_PIC_LEADER_BROCK 116
-#define TRAINER_PIC_LEADER_MISTY 117
-#define TRAINER_PIC_LEADER_LT_SURGE 118
-#define TRAINER_PIC_LEADER_ERIKA 119
-#define TRAINER_PIC_LEADER_KOGA 120
-#define TRAINER_PIC_LEADER_BLAINE 121
-#define TRAINER_PIC_LEADER_SABRINA 122
-#define TRAINER_PIC_GENTLEMAN 123
-#define TRAINER_PIC_RIVAL_2 124
-#define TRAINER_PIC_CHAMPION_RIVAL 125
-#define TRAINER_PIC_CHANNELER 126
-#define TRAINER_PIC_TWINS 127
-#define TRAINER_PIC_COOL_COUPLE 128
-#define TRAINER_PIC_YOUNG_COUPLE 129
-#define TRAINER_PIC_CRUSH_KIN 130
-#define TRAINER_PIC_SIS_AND_BRO 131
-#define TRAINER_PIC_PROFESSOR_OAK 132
-#define TRAINER_PIC_RS_BRENDAN_2 133
-#define TRAINER_PIC_RS_MAY_2 134
-#define TRAINER_PIC_RED 135
-#define TRAINER_PIC_LEAF 136
-#define TRAINER_PIC_ROCKET_GRUNT_F 137
-#define TRAINER_PIC_PSYCHIC_F 138
-#define TRAINER_PIC_CRUSH_GIRL 139
-#define TRAINER_PIC_TUBER_F 140
-#define TRAINER_PIC_POKEMON_BREEDER_F 141
-#define TRAINER_PIC_POKEMON_RANGER_M 142
-#define TRAINER_PIC_POKEMON_RANGER_F 143
-#define TRAINER_PIC_AROMA_LADY 144
-#define TRAINER_PIC_RUIN_MANIAC 145
-#define TRAINER_PIC_LADY 146
-#define TRAINER_PIC_PAINTER 147
-
#define TRAINER_NONE 0
#define TRAINER_AQUA_LEADER_1 1
#define TRAINER_TEAM_AQUA_1 2
diff --git a/include/data.h b/include/data.h
index 9ea1f7c96..72e6b66fc 100644
--- a/include/data.h
+++ b/include/data.h
@@ -22,6 +22,8 @@ extern const u16 gUnknown_8251FEE[];
extern const u16 gUnknown_8252324[];
extern const u16 gUnknown_82539D4[];
+extern const u8 gTrainerClassNames[][13];
+
extern const struct MonCoords gMonFrontPicCoords[];
extern const struct CompressedSpriteSheet gMonFrontPicTable[];
extern const struct MonCoords gMonBackPicCoords[];
diff --git a/include/event_scripts.h b/include/event_scripts.h
index e8fc40fa4..2ad1485c2 100644
--- a/include/event_scripts.h
+++ b/include/event_scripts.h
@@ -1188,4 +1188,10 @@ extern const u8 Text_1BCAF2[];
extern const u8 EventScript_RepelWoreOff[];
+// battle_message
+extern const u8 Text_1A5CF1[];
+extern const u8 Text_1A5D31[];
+extern const u8 Text_1A5D6E[];
+extern const u8 Text_1A5DB1[];
+
#endif //GUARD_EVENT_SCRIPTS_H
diff --git a/include/strings.h b/include/strings.h
index 4b80c1308..dad7b1617 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -193,7 +193,7 @@ extern const u8 BattleText_GetPumped[];
extern const u8 BattleText_MistShroud[];
extern const u8 gText_BadEgg[];
extern const u8 gText_PkmnsXPreventsSwitching[];
-extern u8 *gUnknown_83FD5D0[];
+extern const u8 *const gUnknown_83FD5D0[];
// diploma
extern const u8 gUnknown_841B60E[];
diff --git a/include/trainer_tower.h b/include/trainer_tower.h
index 810642a69..9c1ac0631 100644
--- a/include/trainer_tower.h
+++ b/include/trainer_tower.h
@@ -6,5 +6,7 @@ void InitTrainerTowerBattleStruct(void);
void FreeTrainerTowerBattleStruct(void);
u8 GetTrainerTowerTrainerFrontSpriteId(void);
void ResetTrainerTowerResults(void);
+void sub_815DA28(u8 *text);
+u8 sub_815DA10(void);
#endif //GUARD_TRAINER_TOWER_H
diff --git a/ld_script.txt b/ld_script.txt
index db98b79a1..9f4eefec2 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -195,6 +195,7 @@ SECTIONS {
src/fldeff_strength.o(.text);
src/battle_transition.o(.text);
src/battle_controller_link_partner.o(.text);
+ src/battle_message.o(.text);
asm/battle_message.o(.text);
src/math_util.o(.text);
src/roulette_util.o(.text);
@@ -477,7 +478,7 @@ SECTIONS {
src/evolution_scene.o(.rodata);
src/battle_transition.o(.rodata);
src/battle_controller_link_partner.o(.rodata);
- data/battle_message.o(.rodata);
+ src/battle_message.o(.rodata);
src/save.o(.rodata);
data/field_effect_helpers.o(.rodata);
src/battle_controller_safari.o(.rodata);
diff --git a/src/battle_message.c b/src/battle_message.c
new file mode 100644
index 000000000..2924dc520
--- /dev/null
+++ b/src/battle_message.c
@@ -0,0 +1,2184 @@
+#include "global.h"
+#include "battle_string_ids.h"
+#include "battle.h"
+#include "battle_anim.h"
+#include "string_util.h"
+#include "text.h"
+#include "window.h"
+#include "strings.h"
+#include "battle_message.h"
+#include "link.h"
+#include "event_scripts.h"
+#include "event_data.h"
+#include "item.h"
+#include "battle_tower.h"
+#include "trainer_tower.h"
+#include "battle_setup.h"
+#include "constants/moves.h"
+#include "constants/items.h"
+#include "constants/trainer_classes.h"
+
+struct BattleWindowText
+{
+ u8 fillValue;
+ u8 fontId;
+ u8 x;
+ u8 y;
+ u8 letterSpacing;
+ u8 lineSpacing;
+ u8 speed;
+ u8 fgColor;
+ u8 bgColor;
+ u8 shadowColor;
+};
+
+EWRAM_DATA u8 sBattlerAbilities[MAX_BATTLERS_COUNT] = {};
+EWRAM_DATA struct BattleMsgData *gBattleMsgDataPtr = NULL;
+
+void ChooseMoveUsedParticle(u8 *textPtr);
+void ChooseTypeOfMoveUsedString(u8 *textPtr);
+void ExpandBattleTextBuffPlaceholders(const u8 *src, u8 *dst);
+
+const u8 gUnknown_83FB218[] = _(""); // @ 83FB218
+const u8 gUnknown_83FB219[] = _("{B_TRAINER1_LOSE_TEXT}"); // @ 83FB219
+const u8 gUnknown_83FB21C[] = _("{B_TRAINER2_CLASS}"); // @ 83FB21C
+const u8 gUnknown_83FB21F[] = _("{B_TRAINER1_NAME}: {B_OPPONENT_MON1_NAME}, come back!"); // @ 83FB21F
+const u8 gUnknown_83FB232[] = _("{B_TRAINER1_WIN_TEXT}"); // @ 83FB232
+const u8 gUnknown_83FB235[] = _("{B_TRAINER1_NAME}: {B_OPPONENT_MON2_NAME}, come back!"); // @ 83FB235
+const u8 gUnknown_83FB248[] = _("{B_TRAINER1_NAME}: {B_OPPONENT_MON1_NAME} and\n{B_OPPONENT_MON2_NAME}, come back!"); // @ 83FB248
+const u8 gUnknown_83FB262[] = _("{B_TRAINER2_NAME}"); // @ 83FB262
+const u8 gUnknown_83FB265[] = _("{B_BUFF1} gained{B_BUFF2}\n{B_TRAINER2_LOSE_TEXT} EXP. Points!\p"); // @ 83FB265
+const u8 gUnknown_83FB282[] = _(""); // @ 83FB282
+const u8 gUnknown_83FB283[] = _(" a boosted"); // @ 83FB283
+const u8 gUnknown_83FB28E[] = _("{B_BUFF1} grew to\nLV. {B_BUFF2}!{WAIT_SE}\p"); // @ 83FB28E
+const u8 gUnknown_83FB2A4[] = _("{B_BUFF1} learned\n{B_BUFF2}!{WAIT_SE}\p"); // @ 83FB2A4
+const u8 gUnknown_83FB2B6[] = _("{B_BUFF1} is trying to\nlearn {B_BUFF2}.\p"); // @ 83FB2B6
+const u8 gUnknown_83FB2D1[] = _("But, {B_BUFF1} can't learn\nmore than four moves.\p"); // @ 83FB2D1
+const u8 gUnknown_83FB2FC[] = _("Delete a move to make\nroom for {B_BUFF2}?"); // @ 83FB2FC
+const u8 gUnknown_83FB31F[] = _("{B_BUFF1} forgot\n{B_BUFF2}.\p"); // @ 83FB31F
+const u8 gUnknown_83FB32E[] = _("{PAUSE 32}Stop learning\n{B_BUFF2}?"); // @ 83FB32E
+const u8 gUnknown_83FB343[] = _("{B_BUFF1} did not learn\n{B_BUFF2}.\p"); // @ 83FB343
+const u8 gUnknown_83FB359[] = _("Use next POKéMON?"); // @ 83FB359
+const u8 gUnknown_83FB36B[] = _("{B_ATK_NAME_WITH_PREFIX}'s\nattack missed!"); // @ 83FB36B
+const u8 gUnknown_83FB37F[] = _("{B_DEF_NAME_WITH_PREFIX}\nprotected itself!"); // @ 83FB37F
+const u8 gUnknown_83FB394[] = _("{B_DEF_NAME_WITH_PREFIX} avoided\ndamage with {B_DEF_ABILITY}!"); // @ 83FB394
+const u8 gUnknown_83FB3AF[] = _("{B_DEF_NAME_WITH_PREFIX} makes GROUND\nmoves miss with {B_DEF_ABILITY}!"); // @ 83FB3AF
+const u8 gUnknown_83FB3D3[] = _("{B_DEF_NAME_WITH_PREFIX} avoided\nthe attack!"); // @ 83FB3D3
+const u8 gUnknown_83FB3EA[] = _("It doesn't affect\n{B_DEF_NAME_WITH_PREFIX}…"); // @ 83FB3EA
+const u8 gUnknown_83FB400[] = _("{B_ATK_NAME_WITH_PREFIX}\nfainted!\p"); // @ 83FB400
+const u8 gUnknown_83FB40D[] = _("{B_DEF_NAME_WITH_PREFIX}\nfainted!\p"); // @ 83FB40D
+const u8 gUnknown_83FB41A[] = _("{B_PLAYER_NAME} got ¥{B_BUFF1}\nfor winning!\p"); // @ 83FB41A
+const u8 gUnknown_83FB433[] = _("{B_PLAYER_NAME} is out of\nusable POKéMON!\p"); // @ 83FB433
+const u8 gUnknown_83FB451[] = _("{B_PLAYER_NAME} panicked and lost ¥{B_BUFF1}…\p… … … …\p{B_PLAYER_NAME} whited out!{PAUSE_UNTIL_PRESS}"); // @ 83FB451
+const u8 gUnknown_83FB484[] = _("{B_PLAYER_NAME} is out of\nusable POKéMON!\pPlayer lost against\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!{PAUSE_UNTIL_PRESS}"); // @ 83FB484
+const u8 gUnknown_83FB4BE[] = _("{B_PLAYER_NAME} paid ¥{B_BUFF1} as the prize\nmoney…\p… … … …\p{B_PLAYER_NAME} whited out!{PAUSE_UNTIL_PRESS}"); // @ 83FB4BE
+const u8 gUnknown_83FB4F7[] = _("{B_PLAYER_NAME} whited out!{PAUSE_UNTIL_PRESS}"); // @ 83FB4F7
+const u8 gUnknown_83FB508[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} prevents\nescape with {B_SCR_ACTIVE_ABILITY}!\p"); // @ 83FB508
+const u8 gUnknown_83FB525[] = _("Can't escape!\p"); // @ 83FB525
+const u8 gUnknown_83FB534[] = _("{B_ATK_NAME_WITH_PREFIX} can't escape!"); // @ 83FB534
+const u8 gUnknown_83FB545[] = _("Hit {B_BUFF1} time(s)!"); // @ 83FB545
+const u8 gUnknown_83FB555[] = _("{B_EFF_NAME_WITH_PREFIX}\nfell asleep!"); // @ 83FB555
+const u8 gUnknown_83FB565[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nmade {B_EFF_NAME_WITH_PREFIX} sleep!"); // @ 83FB565
+const u8 gUnknown_83FB57C[] = _("{B_DEF_NAME_WITH_PREFIX} is\nalready asleep!"); // @ 83FB57C
+const u8 gUnknown_83FB592[] = _("{B_ATK_NAME_WITH_PREFIX} is\nalready asleep!"); // @ 83FB592
+const u8 gUnknown_83FB5A8[] = _("{B_DEF_NAME_WITH_PREFIX}\nwasn't affected!"); // @ 83FB5A8
+const u8 gUnknown_83FB5BC[] = _("{B_EFF_NAME_WITH_PREFIX}\nwas poisoned!"); // @ 83FB5BC
+const u8 gUnknown_83FB5CD[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\npoisoned {B_EFF_NAME_WITH_PREFIX}!"); // @ 83FB5CD
+const u8 gUnknown_83FB5E2[] = _("{B_ATK_NAME_WITH_PREFIX} is hurt\nby poison!"); // @ 83FB5E2
+const u8 gUnknown_83FB5F8[] = _("{B_DEF_NAME_WITH_PREFIX} is already\npoisoned."); // @ 83FB5F8
+const u8 gUnknown_83FB610[] = _("{B_EFF_NAME_WITH_PREFIX} is badly\npoisoned!"); // @ 83FB610
+const u8 gUnknown_83FB626[] = _("{B_DEF_NAME_WITH_PREFIX} had its\nenergy drained!"); // @ 83FB626
+const u8 gUnknown_83FB641[] = _("{B_EFF_NAME_WITH_PREFIX} was burned!"); // @ 83FB641
+const u8 gUnknown_83FB650[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nburned {B_EFF_NAME_WITH_PREFIX}!"); // @ 83FB650
+const u8 gUnknown_83FB663[] = _("{B_ATK_NAME_WITH_PREFIX} is hurt\nby its burn!"); // @ 83FB663
+const u8 gUnknown_83FB67B[] = _("{B_DEF_NAME_WITH_PREFIX} already\nhas a burn."); // @ 83FB67B
+const u8 gUnknown_83FB692[] = _("{B_EFF_NAME_WITH_PREFIX} was\nfrozen solid!"); // @ 83FB692
+const u8 gUnknown_83FB6A7[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nfroze {B_EFF_NAME_WITH_PREFIX} solid!"); // @ 83FB6A7
+const u8 gUnknown_83FB6BF[] = _("{B_ATK_NAME_WITH_PREFIX} is\nfrozen solid!"); // @ 83FB6BF
+const u8 gUnknown_83FB6D3[] = _("{B_DEF_NAME_WITH_PREFIX} was\ndefrosted!"); // @ 83FB6D3
+const u8 gUnknown_83FB6E5[] = _("{B_ATK_NAME_WITH_PREFIX} was\ndefrosted!"); // @ 83FB6E5
+const u8 gUnknown_83FB6F7[] = _("{B_ATK_NAME_WITH_PREFIX} was\ndefrosted by {B_CURRENT_MOVE}!"); // @ 83FB6F7
+const u8 gUnknown_83FB70F[] = _("{B_EFF_NAME_WITH_PREFIX} is paralyzed!\nIt may be unable to move!"); // @ 83FB70F
+const u8 gUnknown_83FB73A[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nparalyzed {B_EFF_NAME_WITH_PREFIX}!\lIt may be unable to move!"); // @ 83FB73A
+const u8 gUnknown_83FB76A[] = _("{B_ATK_NAME_WITH_PREFIX} is paralyzed!\nIt can't move!"); // @ 83FB76A
+const u8 gUnknown_83FB78A[] = _("{B_DEF_NAME_WITH_PREFIX} is\nalready paralyzed!"); // @ 83FB78A
+const u8 gUnknown_83FB7A3[] = _("{B_DEF_NAME_WITH_PREFIX} was\nhealed of paralysis!"); // @ 83FB7A3
+const u8 gUnknown_83FB7BF[] = _("{B_DEF_NAME_WITH_PREFIX}'s\ndream was eaten!"); // @ 83FB7BF
+const u8 gUnknown_83FB7D5[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\nwon't go higher!"); // @ 83FB7D5
+const u8 gUnknown_83FB7EE[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\nwon't go lower!"); // @ 83FB7EE
+const u8 gUnknown_83FB806[] = _("Your team's {B_BUFF1}\nstopped working!"); // @ 83FB806
+const u8 gUnknown_83FB826[] = _("The foe's {B_BUFF1}\nstopped working!"); // @ 83FB826
+const u8 gUnknown_83FB844[] = _("{B_ATK_NAME_WITH_PREFIX} is\nconfused!"); // @ 83FB844
+const u8 gUnknown_83FB854[] = _("{B_ATK_NAME_WITH_PREFIX} snapped\nout of confusion!"); // @ 83FB854
+const u8 gUnknown_83FB871[] = _("{B_EFF_NAME_WITH_PREFIX} became\nconfused!"); // @ 83FB871
+const u8 gUnknown_83FB885[] = _("{B_DEF_NAME_WITH_PREFIX} is\nalready confused!"); // @ 83FB885
+const u8 gUnknown_83FB89D[] = _("{B_DEF_NAME_WITH_PREFIX}\nfell in love!"); // @ 83FB89D
+const u8 gUnknown_83FB8AE[] = _("{B_ATK_NAME_WITH_PREFIX} is in love\nwith {B_SCR_ACTIVE_NAME_WITH_PREFIX}!"); // @ 83FB8AE
+const u8 gUnknown_83FB8C5[] = _("{B_ATK_NAME_WITH_PREFIX} is\nimmobilized by love!"); // @ 83FB8C5
+const u8 gUnknown_83FB8E0[] = _("{B_DEF_NAME_WITH_PREFIX} was\nblown away!"); // @ 83FB8E0
+const u8 gUnknown_83FB8F3[] = _("{B_ATK_NAME_WITH_PREFIX} transformed\ninto the {B_BUFF1} type!"); // @ 83FB8F3
+const u8 gUnknown_83FB914[] = _("{B_ATK_NAME_WITH_PREFIX} flinched!"); // @ 83FB914
+const u8 gUnknown_83FB921[] = _("{B_DEF_NAME_WITH_PREFIX} regained\nhealth!"); // @ 83FB921
+const u8 gUnknown_83FB935[] = _("{B_DEF_NAME_WITH_PREFIX}'s\nHP is full!"); // @ 83FB935
+const u8 gUnknown_83FB946[] = _("{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\nraised SP. DEF!"); // @ 83FB946
+const u8 gUnknown_83FB95E[] = _("{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\nraised SP. DEF a little!"); // @ 83FB95E
+const u8 gUnknown_83FB97F[] = _("{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\nraised DEFENSE!"); // @ 83FB97F
+const u8 gUnknown_83FB997[] = _("{B_ATK_PREFIX2}'s {B_CURRENT_MOVE}\nraised DEFENSE a little!"); // @ 83FB997
+const u8 gUnknown_83FB9B8[] = _("{B_ATK_PREFIX2}'s party is covered\nby a veil!"); // @ 83FB9B8
+const u8 gUnknown_83FB9D9[] = _("{B_DEF_NAME_WITH_PREFIX}'s party is protected\nby SAFEGUARD!"); // @ 83FB9D9
+const u8 gUnknown_83FB9FF[] = _("{B_ATK_PREFIX3}'s party is no longer\nprotected by SAFEGUARD!"); // @ 83FB9FF
+const u8 gUnknown_83FBA2F[] = _("{B_ATK_NAME_WITH_PREFIX} went\nto sleep!"); // @ 83FBA2F
+const u8 gUnknown_83FBA41[] = _("{B_ATK_NAME_WITH_PREFIX} slept and\nbecame healthy!"); // @ 83FBA41
+const u8 gUnknown_83FBA5E[] = _("{B_ATK_NAME_WITH_PREFIX} whipped\nup a whirlwind!"); // @ 83FBA5E
+const u8 gUnknown_83FBA79[] = _("{B_ATK_NAME_WITH_PREFIX} took\nin sunlight!"); // @ 83FBA79
+const u8 gUnknown_83FBA8E[] = _("{B_ATK_NAME_WITH_PREFIX} lowered\nits head!"); // @ 83FBA8E
+const u8 gUnknown_83FBAA3[] = _("{B_ATK_NAME_WITH_PREFIX} is glowing!"); // @ 83FBAA3
+const u8 gUnknown_83FBAB2[] = _("{B_ATK_NAME_WITH_PREFIX} flew\nup high!"); // @ 83FBAB2
+const u8 gUnknown_83FBAC3[] = _("{B_ATK_NAME_WITH_PREFIX} dug a hole!"); // @ 83FBAC3
+const u8 gUnknown_83FBAD2[] = _("{B_ATK_NAME_WITH_PREFIX} hid\nunderwater!"); // @ 83FBAD2
+const u8 gUnknown_83FBAE5[] = _("{B_ATK_NAME_WITH_PREFIX} sprang up!"); // @ 83FBAE5
+const u8 gUnknown_83FBAF3[] = _("{B_DEF_NAME_WITH_PREFIX} was squeezed by\n{B_ATK_NAME_WITH_PREFIX}'s BIND!"); // @ 83FBAF3
+const u8 gUnknown_83FBB11[] = _("{B_DEF_NAME_WITH_PREFIX} was trapped\nin the vortex!"); // @ 83FBB11
+const u8 gUnknown_83FBB2F[] = _("{B_DEF_NAME_WITH_PREFIX} was trapped\nby SAND TOMB!"); // @ 83FBB2F
+const u8 gUnknown_83FBB4C[] = _("{B_DEF_NAME_WITH_PREFIX} was WRAPPED by\n{B_ATK_NAME_WITH_PREFIX}!"); // @ 83FBB4C
+const u8 gUnknown_83FBB62[] = _("{B_ATK_NAME_WITH_PREFIX} CLAMPED\n{B_DEF_NAME_WITH_PREFIX}!"); // @ 83FBB62
+const u8 gUnknown_83FBB71[] = _("{B_ATK_NAME_WITH_PREFIX} is hurt\nby {B_BUFF1}!"); // @ 83FBB71
+const u8 gUnknown_83FBB83[] = _("{B_ATK_NAME_WITH_PREFIX} was freed\nfrom {B_BUFF1}!"); // @ 83FBB83
+const u8 gUnknown_83FBB99[] = _("{B_ATK_NAME_WITH_PREFIX} kept going\nand crashed!"); // @ 83FBB99
+const u8 BattleText_MistShroud[] = _("{B_ATK_PREFIX2} became\nshrouded in MIST!"); // @ 83FBBB4
+const u8 gUnknown_83FBBD0[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is protected\nby MIST!"); // @ 83FBBD0
+const u8 BattleText_GetPumped[] = _("{B_ATK_NAME_WITH_PREFIX} is getting\npumped!"); // @ 83FBBE9
+const u8 gUnknown_83FBBFF[] = _("{B_ATK_NAME_WITH_PREFIX} is hit\nwith recoil!"); // @ 83FBBFF
+const u8 gUnknown_83FBC16[] = _("{B_ATK_NAME_WITH_PREFIX} protected\nitself!"); // @ 83FBC16
+const u8 gUnknown_83FBC2B[] = _("{B_ATK_NAME_WITH_PREFIX} is buffeted\nby the sandstorm!"); // @ 83FBC2B
+const u8 gUnknown_83FBC4C[] = _("{B_ATK_NAME_WITH_PREFIX} is pelted\nby HAIL!"); // @ 83FBC4C
+const u8 gUnknown_83FBC62[] = _("{B_ATK_PREFIX1}'s {B_BUFF1}\nwore off!"); // @ 83FBC62
+const u8 gUnknown_83FBC74[] = _("{B_DEF_NAME_WITH_PREFIX} was seeded!"); // @ 83FBC74
+const u8 gUnknown_83FBC83[] = _("{B_DEF_NAME_WITH_PREFIX} evaded\nthe attack!"); // @ 83FBC83
+const u8 gUnknown_83FBC99[] = _("{B_ATK_NAME_WITH_PREFIX}'s health is\nsapped by LEECH SEED!"); // @ 83FBC99
+const u8 gUnknown_83FBCBE[] = _("{B_ATK_NAME_WITH_PREFIX} is fast\nasleep."); // @ 83FBCBE
+const u8 gUnknown_83FBCD1[] = _("{B_ATK_NAME_WITH_PREFIX} woke up!"); // @ 83FBCD1
+const u8 gUnknown_83FBCDD[] = _("But {B_SCR_ACTIVE_NAME_WITH_PREFIX}'s UPROAR\nkept it awake!"); // @ 83FBCDD
+const u8 gUnknown_83FBCFC[] = _("{B_ATK_NAME_WITH_PREFIX} woke up\nin the UPROAR!"); // @ 83FBCFC
+const u8 gUnknown_83FBD16[] = _("{B_ATK_NAME_WITH_PREFIX} caused\nan UPROAR!"); // @ 83FBD16
+const u8 gUnknown_83FBD2B[] = _("{B_ATK_NAME_WITH_PREFIX} is making\nan UPROAR!"); // @ 83FBD2B
+const u8 gUnknown_83FBD43[] = _("{B_ATK_NAME_WITH_PREFIX} calmed down."); // @ 83FBD43
+const u8 gUnknown_83FBD53[] = _("But {B_DEF_NAME_WITH_PREFIX} can't\nsleep in an UPROAR!"); // @ 83FBD53
+const u8 gUnknown_83FBD74[] = _("{B_ATK_NAME_WITH_PREFIX} STOCKPILED\n{B_BUFF1}!"); // @ 83FBD74
+const u8 gUnknown_83FBD86[] = _("{B_ATK_NAME_WITH_PREFIX} can't\nSTOCKPILE any more!"); // @ 83FBD86
+const u8 gUnknown_83FBDA3[] = _("But {B_DEF_NAME_WITH_PREFIX} can't\nsleep in an UPROAR!"); // @ 83FBDA3
+const u8 gUnknown_83FBDC4[] = _("But the UPROAR kept\n{B_DEF_NAME_WITH_PREFIX} awake!"); // @ 83FBDC4
+const u8 gUnknown_83FBDE2[] = _("{B_DEF_NAME_WITH_PREFIX} stayed awake\nusing its {B_DEF_ABILITY}!"); // @ 83FBDE2
+const u8 gUnknown_83FBE00[] = _("{B_ATK_NAME_WITH_PREFIX} is storing\nenergy!"); // @ 83FBE00
+const u8 gUnknown_83FBE16[] = _("{B_ATK_NAME_WITH_PREFIX} unleashed\nenergy!"); // @ 83FBE16
+const u8 gUnknown_83FBE2B[] = _("{B_ATK_NAME_WITH_PREFIX} became\nconfused due to fatigue!"); // @ 83FBE2B
+const u8 gUnknown_83FBE4E[] = _("{B_PLAYER_NAME} picked up\n¥{B_BUFF1}!\p"); // @ 83FBE4E
+const u8 gUnknown_83FBE61[] = _("{B_DEF_NAME_WITH_PREFIX} is\nunaffected!"); // @ 83FBE61
+const u8 gUnknown_83FBE73[] = _("{B_ATK_NAME_WITH_PREFIX} transformed\ninto {B_BUFF1}!"); // @ 83FBE73
+const u8 gUnknown_83FBE8B[] = _("{B_ATK_NAME_WITH_PREFIX} made\na SUBSTITUTE!"); // @ 83FBE8B
+const u8 gUnknown_83FBEA1[] = _("{B_ATK_NAME_WITH_PREFIX} already\nhas a SUBSTITUTE!"); // @ 83FBEA1
+const u8 gUnknown_83FBEBE[] = _("The SUBSTITUTE took damage\nfor {B_DEF_NAME_WITH_PREFIX}!\p"); // @ 83FBEBE
+const u8 gUnknown_83FBEE2[] = _("{B_DEF_NAME_WITH_PREFIX}'s\nSUBSTITUTE faded!\p"); // @ 83FBEE2
+const u8 gUnknown_83FBEFA[] = _("{B_ATK_NAME_WITH_PREFIX} must\nrecharge!"); // @ 83FBEFA
+const u8 gUnknown_83FBF0C[] = _("{B_DEF_NAME_WITH_PREFIX}'s RAGE\nis building!"); // @ 83FBF0C
+const u8 gUnknown_83FBF23[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\nwas disabled!"); // @ 83FBF23
+const u8 gUnknown_83FBF39[] = _("{B_ATK_NAME_WITH_PREFIX} is disabled\nno more!"); // @ 83FBF39
+const u8 gUnknown_83FBF51[] = _("{B_DEF_NAME_WITH_PREFIX} got\nan ENCORE!"); // @ 83FBF51
+const u8 gUnknown_83FBF63[] = _("{B_ATK_NAME_WITH_PREFIX}'s ENCORE\nended!"); // @ 83FBF63
+const u8 gUnknown_83FBF76[] = _("{B_ATK_NAME_WITH_PREFIX} took aim\nat {B_DEF_NAME_WITH_PREFIX}!"); // @ 83FBF76
+const u8 gUnknown_83FBF89[] = _("{B_ATK_NAME_WITH_PREFIX} SKETCHED\n{B_BUFF1}!"); // @ 83FBF89
+const u8 gUnknown_83FBF99[] = _("{B_ATK_NAME_WITH_PREFIX} is trying\nto take its foe with it!"); // @ 83FBF99
+const u8 gUnknown_83FBFBF[] = _("{B_DEF_NAME_WITH_PREFIX} took\n{B_ATK_NAME_WITH_PREFIX} with it!"); // @ 83FBFBF
+const u8 gUnknown_83FBFD3[] = _("Reduced {B_DEF_NAME_WITH_PREFIX}'s\n{B_BUFF1} by {B_BUFF2}!"); // @ 83FBFD3
+const u8 gUnknown_83FBFEA[] = _("{B_ATK_NAME_WITH_PREFIX} stole\n{B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ITEM}!"); // @ 83FBFEA
+const u8 gUnknown_83FBFFC[] = _("{B_DEF_NAME_WITH_PREFIX} can't\nescape now!"); // @ 83FBFFC
+const u8 gUnknown_83FC011[] = _("{B_DEF_NAME_WITH_PREFIX} fell into\na NIGHTMARE!"); // @ 83FC011
+const u8 gUnknown_83FC02B[] = _("{B_ATK_NAME_WITH_PREFIX} is locked\nin a NIGHTMARE!"); // @ 83FC02B
+const u8 gUnknown_83FC048[] = _("{B_ATK_NAME_WITH_PREFIX} cut its own HP and\nlaid a CURSE on {B_DEF_NAME_WITH_PREFIX}!"); // @ 83FC048
+const u8 gUnknown_83FC072[] = _("{B_ATK_NAME_WITH_PREFIX} is afflicted\nby the CURSE!"); // @ 83FC072
+const u8 gUnknown_83FC090[] = _("SPIKES were scattered all around\nthe opponent's side!"); // @ 83FC090
+const u8 gUnknown_83FC0C6[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} is hurt\nby SPIKES!"); // @ 83FC0C6
+const u8 gUnknown_83FC0DC[] = _("{B_ATK_NAME_WITH_PREFIX} identified\n{B_DEF_NAME_WITH_PREFIX}!"); // @ 83FC0DC
+const u8 gUnknown_83FC0EE[] = _("{B_ATK_NAME_WITH_PREFIX}'s PERISH count\nfell to {B_BUFF1}!"); // @ 83FC0EE
+const u8 gUnknown_83FC10C[] = _("{B_ATK_NAME_WITH_PREFIX} braced\nitself!"); // @ 83FC10C
+const u8 gUnknown_83FC11E[] = _("{B_DEF_NAME_WITH_PREFIX} ENDURED\nthe hit!"); // @ 83FC11E
+const u8 gUnknown_83FC132[] = _("MAGNITUDE {B_BUFF1}!"); // @ 83FC132
+const u8 gUnknown_83FC140[] = _("{B_ATK_NAME_WITH_PREFIX} cut its own HP\nand maximized ATTACK!"); // @ 83FC140
+const u8 gUnknown_83FC168[] = _("{B_ATK_NAME_WITH_PREFIX} copied\n{B_DEF_NAME_WITH_PREFIX}'s stat changes!"); // @ 83FC168
+const u8 gUnknown_83FC185[] = _("{B_ATK_NAME_WITH_PREFIX} got free of\n{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}!"); // @ 83FC185
+const u8 gUnknown_83FC19D[] = _("{B_ATK_NAME_WITH_PREFIX} shed\nLEECH SEED!"); // @ 83FC19D
+const u8 gUnknown_83FC1B1[] = _("{B_ATK_NAME_WITH_PREFIX} blew away\nSPIKES!"); // @ 83FC1B1
+const u8 gUnknown_83FC1C6[] = _("{B_ATK_NAME_WITH_PREFIX} fled from\nbattle!"); // @ 83FC1C6
+const u8 gUnknown_83FC1DB[] = _("{B_ATK_NAME_WITH_PREFIX} foresaw\nan attack!"); // @ 83FC1DB
+const u8 gUnknown_83FC1F1[] = _("{B_DEF_NAME_WITH_PREFIX} took the\n{B_BUFF1} attack!"); // @ 83FC1F1
+const u8 gUnknown_83FC208[] = _("{B_ATK_NAME_WITH_PREFIX} chose\n{B_CURRENT_MOVE} as its destiny!"); // @ 83FC208
+const u8 gUnknown_83FC224[] = _("{B_BUFF1}'s attack!"); // @ 83FC224
+const u8 gUnknown_83FC231[] = _("{B_ATK_NAME_WITH_PREFIX} became the\ncenter of attention!"); // @ 83FC231
+const u8 gUnknown_83FC254[] = _("{B_ATK_NAME_WITH_PREFIX} began\ncharging power!"); // @ 83FC254
+const u8 gUnknown_83FC26D[] = _("NATURE POWER turned into\n{B_CURRENT_MOVE}!"); // @ 83FC26D
+const u8 gUnknown_83FC28A[] = _("{B_ATK_NAME_WITH_PREFIX}'s status\nreturned to normal!"); // @ 83FC28A
+const u8 gUnknown_83FC2AA[] = _("{B_DEF_NAME_WITH_PREFIX} was subjected\nto TORMENT!"); // @ 83FC2AA
+const u8 gUnknown_83FC2C7[] = _("{B_ATK_NAME_WITH_PREFIX} is tightening\nits focus!"); // @ 83FC2C7
+const u8 gUnknown_83FC2E3[] = _("{B_DEF_NAME_WITH_PREFIX} fell for\nthe TAUNT!"); // @ 83FC2E3
+const u8 gUnknown_83FC2FA[] = _("{B_ATK_NAME_WITH_PREFIX} is ready to\nhelp {B_DEF_NAME_WITH_PREFIX}!"); // @ 83FC2FA
+const u8 gUnknown_83FC312[] = _("{B_ATK_NAME_WITH_PREFIX} switched\nitems with its opponent!"); // @ 83FC312
+const u8 gUnknown_83FC337[] = _("{B_ATK_NAME_WITH_PREFIX} obtained\n{B_BUFF1}."); // @ 83FC337
+const u8 gUnknown_83FC347[] = _("{B_DEF_NAME_WITH_PREFIX} obtained\n{B_BUFF2}."); // @ 83FC347
+const u8 gUnknown_83FC357[] = _("{B_ATK_NAME_WITH_PREFIX} obtained\n{B_BUFF1}.\p{B_DEF_NAME_WITH_PREFIX} obtained\n{B_BUFF2}."); // @ 83FC357
+const u8 gUnknown_83FC377[] = _("{B_ATK_NAME_WITH_PREFIX} copied\n{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}!"); // @ 83FC377
+const u8 gUnknown_83FC38A[] = _("{B_ATK_NAME_WITH_PREFIX} made a WISH!"); // @ 83FC38A
+const u8 gUnknown_83FC39A[] = _("{B_BUFF1}'s WISH\ncame true!"); // @ 83FC39A
+const u8 gUnknown_83FC3AF[] = _("{B_ATK_NAME_WITH_PREFIX} planted its roots!"); // @ 83FC3AF
+const u8 gUnknown_83FC3C5[] = _("{B_ATK_NAME_WITH_PREFIX} absorbed\nnutrients with its roots!"); // @ 83FC3C5
+const u8 gUnknown_83FC3EB[] = _("{B_DEF_NAME_WITH_PREFIX} anchored\nitself with its roots!"); // @ 83FC3EB
+const u8 gUnknown_83FC40E[] = _("{B_ATK_NAME_WITH_PREFIX} made\n{B_DEF_NAME_WITH_PREFIX} drowsy!"); // @ 83FC40E
+const u8 gUnknown_83FC421[] = _("{B_ATK_NAME_WITH_PREFIX} knocked off\n{B_DEF_NAME_WITH_PREFIX}'s {B_LAST_ITEM}!"); // @ 83FC421
+const u8 gUnknown_83FC439[] = _("{B_ATK_NAME_WITH_PREFIX} swapped abilities\nwith its opponent!"); // @ 83FC439
+const u8 gUnknown_83FC461[] = _("{B_ATK_NAME_WITH_PREFIX} sealed the\nopponent's moveシsス!"); // @ 83FC461
+const u8 gUnknown_83FC483[] = _("{B_ATK_NAME_WITH_PREFIX} wants the\nopponent to bear a GRUDGE!"); // @ 83FC483
+const u8 gUnknown_83FC4AB[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1} lost\nall its PP due to the GRUDGE!"); // @ 83FC4AB
+const u8 gUnknown_83FC4D6[] = _("{B_ATK_NAME_WITH_PREFIX} shrouded\nitself in {B_CURRENT_MOVE}!"); // @ 83FC4D6
+const u8 gUnknown_83FC4F0[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE}\nwas bounced back by MAGIC COAT!"); // @ 83FC4F0
+const u8 gUnknown_83FC518[] = _("{B_ATK_NAME_WITH_PREFIX} waits for its foe\nto make a move!"); // @ 83FC518
+const u8 gUnknown_83FC53D[] = _("{B_DEF_NAME_WITH_PREFIX} SNATCHED\n{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s move!"); // @ 83FC53D
+const u8 gUnknown_83FC554[] = _("Electricity's power was\nweakened!"); // @ 83FC554
+const u8 gUnknown_83FC576[] = _("Fire's power was\nweakened!"); // @ 83FC576
+const u8 gUnknown_83FC591[] = _("{B_ATK_NAME_WITH_PREFIX} found\none {B_LAST_ITEM}!"); // @ 83FC591
+const u8 gUnknown_83FC5A2[] = _("A soothing aroma wafted\nthrough the area!"); // @ 83FC5A2
+const u8 gUnknown_83FC5CC[] = _("Items can't be used now.{PAUSE 64}"); // @ 83FC5CC
+const u8 gUnknown_83FC5E8[] = _("For {B_SCR_ACTIVE_NAME_WITH_PREFIX},\n{B_LAST_ITEM} {B_BUFF1}"); // @ 83FC5E8
+const u8 gUnknown_83FC5F6[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} used\n{B_LAST_ITEM} to hustle!"); // @ 83FC5F6
+const u8 gUnknown_83FC60C[] = _("{B_ATK_NAME_WITH_PREFIX} lost its\nfocus and couldn't move!"); // @ 83FC60C
+const u8 gUnknown_83FC631[] = _("{B_DEF_NAME_WITH_PREFIX} was\ndragged out!\p"); // @ 83FC631
+const u8 gUnknown_83FC646[] = _("The wall shattered!"); // @ 83FC646
+const u8 gUnknown_83FC65A[] = _("But it had no effect!"); // @ 83FC65A
+const u8 gUnknown_83FC670[] = _("{B_ACTIVE_NAME_WITH_PREFIX} has no\nmoves left!\p"); // @ 83FC670
+const u8 gUnknown_83FC687[] = _("{B_ACTIVE_NAME_WITH_PREFIX}'s {B_CURRENT_MOVE}\nis disabled!\p"); // @ 83FC687
+const u8 gUnknown_83FC69D[] = _("{B_ACTIVE_NAME_WITH_PREFIX} can't use the same\nmove in a row due to the TORMENT!\p"); // @ 83FC69D
+const u8 gUnknown_83FC6D6[] = _("{B_ACTIVE_NAME_WITH_PREFIX} can't use\n{B_CURRENT_MOVE} after the TAUNT!\p"); // @ 83FC6D6
+const u8 gUnknown_83FC6F8[] = _("{B_ACTIVE_NAME_WITH_PREFIX} can't use the\nsealed {B_CURRENT_MOVE}!\p"); // @ 83FC6F8
+const u8 gUnknown_83FC715[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nmade it rain!"); // @ 83FC715
+const u8 gUnknown_83FC72B[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nraised its SPEED!"); // @ 83FC72B
+const u8 gUnknown_83FC745[] = _("{B_DEF_NAME_WITH_PREFIX} was protected\nby {B_DEF_ABILITY}!"); // @ 83FC745
+const u8 gUnknown_83FC75D[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents {B_ATK_NAME_WITH_PREFIX}\lfrom using {B_CURRENT_MOVE}!"); // @ 83FC75D
+const u8 gUnknown_83FC780[] = _("{B_DEF_NAME_WITH_PREFIX} restored HP\nusing its {B_DEF_ABILITY}!"); // @ 83FC780
+const u8 gUnknown_83FC79D[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nmade {B_CURRENT_MOVE} useless!"); // @ 83FC79D
+const u8 gUnknown_83FC7B6[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nmade it the {B_BUFF1} type!"); // @ 83FC7B6
+const u8 gUnknown_83FC7D3[] = _("{B_EFF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents paralysis!"); // @ 83FC7D3
+const u8 gUnknown_83FC7EF[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents romance!"); // @ 83FC7EF
+const u8 gUnknown_83FC809[] = _("{B_EFF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents poisoning!"); // @ 83FC809
+const u8 gUnknown_83FC825[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevents confusion!"); // @ 83FC825
+const u8 gUnknown_83FC841[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nraised its FIRE power!"); // @ 83FC841
+const u8 gUnknown_83FC860[] = _("{B_DEF_NAME_WITH_PREFIX} anchors\nitself with {B_DEF_ABILITY}!"); // @ 83FC860
+const u8 gUnknown_83FC87B[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\ncuts {B_DEF_NAME_WITH_PREFIX}'s ATTACK!"); // @ 83FC87B
+const u8 gUnknown_83FC895[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nprevents stat loss!"); // @ 83FC895
+const u8 gUnknown_83FC8B1[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nhurt {B_ATK_NAME_WITH_PREFIX}!"); // @ 83FC8B1
+const u8 gUnknown_83FC8C2[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} TRACED\n{B_BUFF1}'s {B_BUFF2}!"); // @ 83FC8C2
+const u8 gUnknown_83FC8D5[] = _("{B_EFF_NAME_WITH_PREFIX}'s {B_EFF_ABILITY}\nprevents burns!"); // @ 83FC8D5
+const u8 gUnknown_83FC8ED[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nblocks {B_CURRENT_MOVE}!"); // @ 83FC8ED
+const u8 gUnknown_83FC900[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nblocks {B_CURRENT_MOVE}!"); // @ 83FC900
+const u8 gUnknown_83FC913[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}\nrestored its HP a little!"); // @ 83FC913
+const u8 gUnknown_83FC935[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nwhipped up a sandstorm!"); // @ 83FC935
+const u8 gUnknown_83FC955[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nintensified the sun's rays!"); // @ 83FC955
+const u8 gUnknown_83FC979[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nprevents {B_BUFF1} loss!"); // @ 83FC979
+const u8 gUnknown_83FC993[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\ninfatuated {B_ATK_NAME_WITH_PREFIX}!"); // @ 83FC993
+const u8 gUnknown_83FC9AA[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nmade {B_CURRENT_MOVE} ineffective!"); // @ 83FC9AA
+const u8 gUnknown_83FC9C7[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\ncured its {B_BUFF1} problem!"); // @ 83FC9C7
+const u8 gUnknown_83FC9E5[] = _("It sucked up the\nLIQUID OOZE!"); // @ 83FC9E5
+const u8 gUnknown_83FCA03[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX} transformed!"); // @ 83FCA03
+const u8 gUnknown_83FCA13[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\ntook the attack!"); // @ 83FCA13
+const u8 gText_PkmnsXPreventsSwitching[] = _("{B_BUFF1}'s {B_LAST_ABILITY}\nprevents switching!\p"); // @ 83FCA2C
+const u8 gUnknown_83FCA49[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_DEF_ABILITY}\nprevented {B_SCR_ACTIVE_NAME_WITH_PREFIX}'s\l{B_BUFF1} from working!"); // @ 83FCA49
+const u8 gUnknown_83FCA71[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nmade it ineffective!"); // @ 83FCA71
+const u8 gUnknown_83FCA8E[] = _("{B_EFF_NAME_WITH_PREFIX}'s {B_EFF_ABILITY}\nprevents flinching!"); // @ 83FCA8E
+const u8 gUnknown_83FCAAA[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_ATK_ABILITY}\nprevents {B_DEF_NAME_WITH_PREFIX}'s\l{B_DEF_ABILITY} from working!"); // @ 83FCAAA
+const u8 gUnknown_83FCAD1[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\ncured its {B_BUFF1} problem!"); // @ 83FCAD1
+const u8 gUnknown_83FCAEF[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_SCR_ACTIVE_ABILITY}\nhad no effect on {B_EFF_NAME_WITH_PREFIX}!"); // @ 83FCAEF
+const u8 gUnknown_83FCB0C[] = _("{B_ATK_NAME_WITH_PREFIX} is too scared to move!"); // @ 83FCB0C
+const u8 gUnknown_83FCB26[] = _("GHOST: Get out…… Get out……"); // @ 83FCB26
+const u8 gUnknown_83FCB41[] = _("sharply "); // @ 83FCB41
+const u8 BattleText_Rose[] = _("rose!"); // @ 83FCB4A
+const u8 gUnknown_83FCB50[] = _("harshly "); // @ 83FCB50
+const u8 gUnknown_83FCB59[] = _("fell!"); // @ 83FCB59
+const u8 gUnknown_83FCB5F[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}"); // @ 83FCB5F
+const u8 BattleText_UnknownString3[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}"); // @ 83FCB6A
+const u8 gUnknown_83FCB75[] = _("Using {B_LAST_ITEM}, the {B_BUFF1}\nof {B_SCR_ACTIVE_NAME_WITH_PREFIX} {B_BUFF2}"); // @ 83FCB75
+const u8 gUnknown_83FCB8F[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}"); // @ 83FCB8F
+const u8 gUnknown_83FCB9A[] = _("{B_DEF_NAME_WITH_PREFIX}'s {B_BUFF1}\n{B_BUFF2}"); // @ 83FCB9A
+const u8 gUnknown_83FCBA5[] = _("{B_ATK_NAME_WITH_PREFIX}'s stats won't\ngo any higher!"); // @ 83FCBA5
+const u8 gUnknown_83FCBC5[] = _("{B_DEF_NAME_WITH_PREFIX}'s stats won't\ngo any lower!"); // @ 83FCBC5
+const u8 gUnknown_83FCBE4[] = _("A critical hit!"); // @ 83FCBE4
+const u8 gUnknown_83FCBF4[] = _("It's a one-hit KO!"); // @ 83FCBF4
+const u8 gUnknown_83FCC07[] = _("{PAUSE 32}1, {PAUSE 15}2, and{PAUSE 15}… {PAUSE 15}… {PAUSE 15}… {PAUSE 15}{PLAY_SE SE_KON}Poof!\p"); // @ 83FCC07
+const u8 gUnknown_83FCC33[] = _("And…\p"); // @ 83FCC33
+const u8 gUnknown_83FCC39[] = _("HM moves can't be\nforgotten now.\p"); // @ 83FCC39
+const u8 gUnknown_83FCC5B[] = _("It's not very effective…"); // @ 83FCC5B
+const u8 gUnknown_83FCC74[] = _("It's super effective!"); // @ 83FCC74
+const u8 sText_GotAwaySafely[] = _("{PLAY_SE SE_NIGERU}Got away safely!\p"); // @ 83FCC8A
+const u8 gUnknown_83FCCA0[] = _("{PLAY_SE SE_NIGERU}{B_ATK_NAME_WITH_PREFIX} fled\nusing its {B_LAST_ITEM}!\p"); // @ 83FCCA0
+const u8 gUnknown_83FCCBB[] = _("{PLAY_SE SE_NIGERU}{B_ATK_NAME_WITH_PREFIX} fled\nusing {B_ATK_ABILITY}!\p"); // @ 83FCCBB
+const u8 gUnknown_83FCCD2[] = _("{PLAY_SE SE_NIGERU}Wild {B_BUFF1} fled!"); // @ 83FCCD2
+const u8 sText_PlayerDefeatedLinkTrainer[] = _("Player defeated\n{B_LINK_OPPONENT1_NAME}!"); // @ 83FCCE4
+const u8 sText_TwoLinkTrainersDefeated[] = _("Player beat {B_LINK_OPPONENT1_NAME}\nand {B_LINK_OPPONENT2_NAME}!"); // @ 83FCCF8
+const u8 sText_PlayerLostAgainstLinkTrainer[] = _("Player lost against\n{B_LINK_OPPONENT1_NAME}!"); // @ 83FCD0F
+const u8 sText_PlayerLostToTwo[] = _("Player lost to {B_LINK_OPPONENT1_NAME}\nand {B_LINK_OPPONENT2_NAME}!"); // @ 83FCD27
+const u8 sText_PlayerBattledToDrawLinkTrainer[] = _("Player battled to a draw against\n{B_LINK_OPPONENT1_NAME}!"); // @ 83FCD41
+const u8 sText_PlayerBattledToDrawVsTwo[] = _("Player battled to a draw against\n{B_LINK_OPPONENT1_NAME} and {B_LINK_OPPONENT2_NAME}!"); // @ 83FCD66
+const u8 gUnknown_83FCD92[] = _("{PLAY_SE SE_NIGERU}{B_LINK_OPPONENT1_NAME} fled!"); // @ 83FCD92
+const u8 sText_TwoWildFled[] = _("{PLAY_SE SE_NIGERU}{B_LINK_OPPONENT1_NAME} and\n{B_LINK_OPPONENT2_NAME} fled!"); // @ 83FCD9F
+const u8 gUnknown_83FCDB3[] = _("No! There's no running\nfrom a TRAINER battle!\p"); // @ 83FCDB3
+const u8 gUnknown_83FCDE2[] = _("Can't escape!\p"); // @ 83FCDE2
+const u8 gUnknown_83FCDF1[] = _(""); // @ 83FCDF1
+const u8 gUnknown_83FCDF2[] = _("But nothing happened!"); // @ 83FCDF2
+const u8 gUnknown_83FCE08[] = _("But it failed!"); // @ 83FCE08
+const u8 gUnknown_83FCE17[] = _("It hurt itself in its\nconfusion!"); // @ 83FCE17
+const u8 gUnknown_83FCE38[] = _("The MIRROR MOVE failed!"); // @ 83FCE38
+const u8 gUnknown_83FCE50[] = _("It started to rain!"); // @ 83FCE50
+const u8 gUnknown_83FCE64[] = _("A downpour started!"); // @ 83FCE64
+const u8 gUnknown_83FCE78[] = _("Rain continues to fall."); // @ 83FCE78
+const u8 gUnknown_83FCE90[] = _("The downpour continues."); // @ 83FCE90
+const u8 gUnknown_83FCEA8[] = _("The rain stopped."); // @ 83FCEA8
+const u8 gUnknown_83FCEBA[] = _("A sandstorm brewed!"); // @ 83FCEBA
+const u8 gUnknown_83FCECE[] = _("The sandstorm rages."); // @ 83FCECE
+const u8 gUnknown_83FCEE3[] = _("The sandstorm subsided."); // @ 83FCEE3
+const u8 gUnknown_83FCEFB[] = _("The sunlight got bright!"); // @ 83FCEFB
+const u8 gUnknown_83FCF14[] = _("The sunlight is strong."); // @ 83FCF14
+const u8 gUnknown_83FCF2C[] = _("The sunlight faded."); // @ 83FCF2C
+const u8 gUnknown_83FCF40[] = _("It started to hail!"); // @ 83FCF40
+const u8 gUnknown_83FCF54[] = _("Hail continues to fall."); // @ 83FCF54
+const u8 gUnknown_83FCF6C[] = _("The hail stopped."); // @ 83FCF6C
+const u8 gUnknown_83FCF7E[] = _("But it failed to SPIT UP\na thing!"); // @ 83FCF7E
+const u8 gUnknown_83FCFA0[] = _("But it failed to SWALLOW\na thing!"); // @ 83FCFA0
+const u8 gUnknown_83FCFC2[] = _("The wind turned into a\nHEAT WAVE!"); // @ 83FCFC2
+const u8 gUnknown_83FCFE4[] = _("All stat changes were\neliminated!"); // @ 83FCFE4
+const u8 gUnknown_83FD006[] = _("Coins scattered everywhere!"); // @ 83FD006
+const u8 gUnknown_83FD022[] = _("It was too weak to make\na SUBSTITUTE!"); // @ 83FD022
+const u8 gUnknown_83FD048[] = _("The battlers shared\ntheir pain!"); // @ 83FD048
+const u8 gUnknown_83FD068[] = _("A bell chimed!"); // @ 83FD068
+const u8 gUnknown_83FD077[] = _("All affected POKéMON will\nfaint in three turns!"); // @ 83FD077
+const u8 gUnknown_83FD0A7[] = _("There's no PP left for\nthis move!\p"); // @ 83FD0A7
+const u8 gUnknown_83FD0CA[] = _("But there was no PP left\nfor the move!"); // @ 83FD0CA
+const u8 gUnknown_83FD0F1[] = _("{B_ATK_NAME_WITH_PREFIX} ignored\norders while asleep!"); // @ 83FD0F1
+const u8 gUnknown_83FD111[] = _("{B_ATK_NAME_WITH_PREFIX} ignored\norders!"); // @ 83FD111
+const u8 gUnknown_83FD124[] = _("{B_ATK_NAME_WITH_PREFIX} began to nap!"); // @ 83FD124
+const u8 gUnknown_83FD135[] = _("{B_ATK_NAME_WITH_PREFIX} is\nloafing around!"); // @ 83FD135
+const u8 gUnknown_83FD14B[] = _("{B_ATK_NAME_WITH_PREFIX} won't\nobey!"); // @ 83FD14B
+const u8 gUnknown_83FD15A[] = _("{B_ATK_NAME_WITH_PREFIX} turned away!"); // @ 83FD15A
+const u8 gUnknown_83FD16A[] = _("{B_ATK_NAME_WITH_PREFIX} pretended\nnot to notice!"); // @ 83FD16A
+const u8 gUnknown_83FD186[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} is\nabout to use {B_BUFF2}.\pWill {B_PLAYER_NAME} change\nPOKéMON?"); // @ 83FD186
+const u8 gUnknown_83FD1B8[] = _("{B_ATK_NAME_WITH_PREFIX} learned\n{B_BUFF1}!"); // @ 83FD1B8
+const u8 sText_PlayerDefeatedLinkTrainerTrainer1[] = _("Player defeated\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!\p"); // @ 83FD1C7
+const u8 gUnknown_83FD1DF[] = _("{B_PLAYER_NAME} threw a ROCK\nat the {B_OPPONENT_MON1_NAME}!"); // @ 83FD1DF
+const u8 gUnknown_83FD1FA[] = _("{B_PLAYER_NAME} threw some BAIT\nat the {B_OPPONENT_MON1_NAME}!"); // @ 83FD1FA
+const u8 gUnknown_83FD218[] = _("{B_OPPONENT_MON1_NAME} is watching\ncarefully!"); // @ 83FD218
+const u8 gUnknown_83FD232[] = _("{B_OPPONENT_MON1_NAME} is angry!"); // @ 83FD232
+const u8 gUnknown_83FD23F[] = _("{B_OPPONENT_MON1_NAME} is eating!"); // @ 83FD23F
+const u8 gUnknown_83FD24D[] = _("{PLAY_SE SE_PINPON}ANNOUNCER: You're out of\nSAFARI BALLS! Game over!\p"); // @ 83FD24D
+const u8 sText_WildPkmnAppeared[] = _("Wild {B_OPPONENT_MON1_NAME} appeared!\p"); // @ 83FD284
+const u8 sText_WildPkmnAppeared2[] = _("Wild {B_OPPONENT_MON1_NAME} appeared!\p"); // @ 83FD297
+const u8 sText_WildPkmnAppearedPause[] = _("Wild {B_OPPONENT_MON1_NAME} appeared!{PAUSE 127}"); // @ 83FD2AA
+const u8 sText_TwoWildPkmnAppeared[] = _("Wild {B_OPPONENT_MON1_NAME} and\n{B_OPPONENT_MON2_NAME} appeared!\p"); // @ 83FD2BF
+const u8 gUnknown_83FD2D9[] = _("The GHOST appeared!\pDarn!\nThe GHOST can't be ID'd!\p"); // @ 83FD2D9
+const u8 gUnknown_83FD30D[] = _("The GHOST appeared!\p"); // @ 83FD30D
+const u8 gUnknown_83FD322[] = _("SILPH SCOPE unveiled the GHOST's\nidentity!"); // @ 83FD322
+const u8 gUnknown_83FD34D[] = _("The GHOST was MAROWAK!\p\n"); // @ 83FD34D
+const u8 sText_Trainer1WantsToBattle[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME}\nwould like to battle!\p"); // @ 83FD366
+const u8 sText_LinkTrainerWantsToBattle[] = _("{B_LINK_OPPONENT1_NAME}\nwants to battle!"); // @ 83FD383
+const u8 sText_TwoLinkTrainersWantToBattle[] = _("{B_LINK_OPPONENT1_NAME} and {B_LINK_OPPONENT2_NAME}\nwant to battle!"); // @ 83FD397
+const u8 sText_Trainer1SentOutPkmn[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} sent\nout {B_OPPONENT_MON1_NAME}!{PAUSE 60}"); // @ 83FD3B1
+const u8 sText_Trainer1SentOutTwoPkmn[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} sent\nout {B_OPPONENT_MON1_NAME} and {B_OPPONENT_MON2_NAME}!{PAUSE 60}"); // @ 83FD3C7
+const u8 sText_Trainer1SentOutPkmn2[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME} sent\nout {B_BUFF1}!"); // @ 83FD3E4
+const u8 sText_LinkTrainerSentOutPkmn[] = _("{B_LINK_OPPONENT1_NAME} sent out\n{B_OPPONENT_MON1_NAME}!"); // @ 83FD3F7
+const u8 sText_LinkTrainerSentOutTwoPkmn[] = _("{B_LINK_OPPONENT1_NAME} sent out\n{B_OPPONENT_MON1_NAME} and {B_OPPONENT_MON2_NAME}!"); // @ 83FD407
+const u8 sText_TwoLinkTrainersSentOutPkmn[] = _("{B_LINK_OPPONENT1_NAME} sent out {B_LINK_OPPONENT_MON1_NAME}!\n{B_LINK_OPPONENT2_NAME} sent out {B_LINK_OPPONENT_MON2_NAME}!"); // @ 83FD41E
+const u8 sText_LinkTrainerSentOutPkmn2[] = _("{B_LINK_OPPONENT1_NAME} sent out\n{B_BUFF1}!"); // @ 83FD43E
+const u8 sText_LinkTrainerMultiSentOutPkmn[] = _("{B_LINK_SCR_TRAINER_NAME} sent out\n{B_BUFF1}!"); // @ 83FD44E
+const u8 sText_GoPkmn[] = _("Go! {B_PLAYER_MON1_NAME}!"); // @ 83FD45E
+const u8 sText_GoTwoPkmn[] = _("Go! {B_PLAYER_MON1_NAME} and\n{B_PLAYER_MON2_NAME}!"); // @ 83FD466
+const u8 sText_GoPkmn2[] = _("Go! {B_BUFF1}!"); // @ 83FD475
+const u8 sText_DoItPkmn[] = _("Do it! {B_BUFF1}!"); // @ 83FD47D
+const u8 sText_GoForItPkmn[] = _("Go for it, {B_BUFF1}!"); // @ 83FD488
+const u8 sText_YourFoesWeakGetEmPkmn[] = _("Your foe's weak!\nGet 'em, {B_BUFF1}!"); // @ 83FD497
+const u8 sText_LinkPartnerSentOutPkmnGoPkmn[] = _("{B_LINK_PARTNER_NAME} sent out {B_LINK_PLAYER_MON2_NAME}!\nGo! {B_LINK_PLAYER_MON1_NAME}!"); // @ 83FD4B5
+const u8 sText_PkmnThatsEnough[] = _("{B_BUFF1}, that's enough!\nCome back!"); // @ 83FD4CD
+const u8 sText_PkmnComeBack[] = _("{B_BUFF1}, come back!"); // @ 83FD4EB
+const u8 sText_PkmnOkComeBack[] = _("{B_BUFF1}, OK!\nCome back!"); // @ 83FD4FA
+const u8 sText_PkmnGoodComeBack[] = _("{B_BUFF1}, good!\nCome back!"); // @ 83FD50D
+const u8 sText_Trainer1WithdrewPkmn[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME}\nwithdrew {B_BUFF1}!"); // @ 83FD522
+const u8 sText_LinkTrainer1WithdrewPkmn[] = _("{B_LINK_OPPONENT1_NAME} withdrew\n{B_BUFF1}!"); // @ 83FD535
+const u8 sText_LinkTrainer2WithdrewPkmn[] = _("{B_LINK_SCR_TRAINER_NAME} withdrew\n{B_BUFF1}!"); // @ 83FD545
+const u8 sText_WildPkmnPrefix[] = _("Wild "); // @ 83FD555
+const u8 sText_FoePkmnPrefix[] = _("Foe "); // @ 83FD55B
+const u8 sText_FoePkmnPrefix2[] = _("Foe"); // @ 83FD560
+const u8 sText_AllyPkmnPrefix[] = _("Ally"); // @ 83FD564
+const u8 sText_FoePkmnPrefix3[] = _("Foe"); // @ 83FD569
+const u8 sText_AllyPkmnPrefix2[] = _("Ally"); // @ 83FD56D
+const u8 sText_FoePkmnPrefix4[] = _("Foe"); // @ 83FD572
+const u8 sText_AllyPkmnPrefix3[] = _("Ally"); // @ 83FD576
+const u8 sText_AttackerUsedX[] = _("{B_ATK_NAME_WITH_PREFIX} used\n{B_BUFF2}"); // @ 83FD57B
+const u8 sText_ExclamationMark[] = _("!"); // @ 83FD586
+const u8 sText_ExclamationMark2[] = _("!"); // @ 83FD588
+const u8 sText_ExclamationMark3[] = _("!"); // @ 83FD58A
+const u8 sText_ExclamationMark4[] = _("!"); // @ 83FD58C
+const u8 sText_ExclamationMark5[] = _("!"); // @ 83FD58E
+
+const u8 sText_HP2[] = _("HP"); // @ 83FD590
+const u8 sText_Attack2[] = _("ATTACK"); // @ 83FD593
+const u8 sText_Defense2[] = _("DEFENSE"); // @ 83FD59A
+const u8 sText_Speed[] = _("SPEED"); // @ 83FD5A2
+const u8 sText_SpAtk2[] = _("SP. ATK"); // @ 83FD5A8
+const u8 sText_SpDef2[] = _("SP. DEF"); // @ 83FD5B0
+const u8 sText_Accuracy[] = _("accuracy"); // @ 83FD5B8
+const u8 sText_Evasiveness[] = _("evasiveness"); // @ 83FD5C1
+
+const u8 *const gUnknown_83FD5D0[] = {
+ sText_HP2,
+ sText_Attack2,
+ sText_Defense2,
+ sText_Speed,
+ sText_SpAtk2,
+ sText_SpDef2,
+ sText_Accuracy,
+ sText_Evasiveness
+};
+
+const u8 sText_PokeblockWasTooSpicy[] = _("was too spicy!"); //
+const u8 sText_PokeblockWasTooDry[] = _("was too dry!"); // @ 83FD5FF
+const u8 sText_PokeblockWasTooSweet[] = _("was too sweet!"); // @ 83FD60C
+const u8 sText_PokeblockWasTooBitter[] = _("was too bitter!"); // @ 83FD61B
+const u8 sText_PokeblockWasTooSour[] = _("was too sour!"); // @ 83FD62B
+
+const u8 *const gUnknown_83FD63C[] = {
+ sText_PokeblockWasTooSpicy,
+ sText_PokeblockWasTooDry,
+ sText_PokeblockWasTooSweet,
+ sText_PokeblockWasTooBitter,
+ sText_PokeblockWasTooSour
+};
+
+const u8 sText_PlayerUsedItem[] = _("{B_PLAYER_NAME} used\n{B_LAST_ITEM}!"); // @ 83FD650
+const u8 sText_OldManUsedItem[] = _("The old man used\n{B_LAST_ITEM}!"); // @ 83FD65C
+const u8 sText_PokeDudeUsedItem[] = _("The POKé DUDE used\n{B_LAST_ITEM}!"); // @ 83FD671
+const u8 sText_Trainer1UsedItem[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME}\nused {B_LAST_ITEM}!"); // @ 83FD688
+const u8 sText_TrainerBlockedBall[] = _("The TRAINER blocked the BALL!"); // @ 83FD697
+const u8 sText_DontBeAThief[] = _("Don't be a thief!"); // @ 83FD6B5
+const u8 sText_ItDodgedBall[] = _("It dodged the thrown BALL!\nThis POKéMON can't be caught!"); // @ 83FD6C7
+const u8 sText_YouMissedPkmn[] = _("You missed the POKéMON!"); // @ 83FD700
+const u8 sText_PkmnBrokeFree[] = _("Oh, no!\nThe POKéMON broke free!"); // @ 83FD718
+const u8 sText_ItAppearedCaught[] = _("Aww!\nIt appeared to be caught!"); // @ 83FD738
+const u8 sText_AarghAlmostHadIt[] = _("Aargh!\nAlmost had it!"); // @ 83FD757
+const u8 sText_ShootSoClose[] = _("Shoot!\nIt was so close, too!"); // @ 83FD76D
+const u8 gUnknown_83FD78A[] = _("よけられた!\nこいつは つかまりそうにないぞ!"); // @ 83FD78A
+const u8 sText_GotchaPkmnCaught[] = _("Gotcha!\n{B_OPPONENT_MON1_NAME} was caught!{WAIT_SE}{PLAY_BGM MUS_GET_YASEI}\p"); // @ 83FD7A2
+const u8 sText_GotchaPkmnCaught2[] = _("Gotcha!\n{B_OPPONENT_MON1_NAME} was caught!{WAIT_SE}{PLAY_BGM MUS_GET_YASEI}{PAUSE 127}"); // @ 83FD7C0
+const u8 sText_GiveNicknameCaptured[] = _("Give a nickname to the\ncaptured {B_OPPONENT_MON1_NAME}?"); // @ 83FD7E0
+const u8 sText_PkmnSentToPC[] = _("{B_OPPONENT_MON1_NAME} was sent to\n{B_PC_CREATOR_NAME} PC."); // @ 83FD804
+const u8 sText_Someones[] = _("someone's"); // @ 83FD81A
+const u8 sText_Bills[] = _("BILL's"); // @ 83FD824
+const u8 gUnknown_83FD82B[] = _("{B_OPPONENT_MON1_NAME}'s data was\nadded to the POKéDEX.\p"); // @ 83FD82B
+const u8 gUnknown_83FD850[] = _("It is raining."); // @ 83FD850
+const u8 gUnknown_83FD85F[] = _("A sandstorm is raging."); // @ 83FD85F
+const u8 gUnknown_83FD876[] = _("The BOX is full!\nYou can't catch any more!\p"); // @ 83FD876
+const u8 sText_EnigmaBerry[] = _("ENIGMA BERRY"); // @ 83FD8A2
+const u8 sText_BerrySuffix[] = _(" BERRY"); // @ 83FD8AF
+const u8 gUnknown_83FD8B6[] = _("ナゾ"); // @ 83FD8B6
+const u8 gUnknown_83FD8B9[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\ncured paralysis!"); // @ 83FD8B9
+const u8 gUnknown_83FD8D2[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\ncured poison!"); // @ 83FD8D2
+const u8 gUnknown_83FD8E8[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nhealed its burn!"); // @ 83FD8E8
+const u8 gUnknown_83FD901[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\ndefrosted it!"); // @ 83FD901
+const u8 gUnknown_83FD917[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nwoke it from its sleep!"); // @ 83FD917
+const u8 gUnknown_83FD937[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nsnapped it out of confusion!"); // @ 83FD937
+const u8 gUnknown_83FD95C[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\ncured its {B_BUFF1} problem!"); // @ 83FD95C
+const u8 gUnknown_83FD97A[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nnormalized its status!"); // @ 83FD97A
+const u8 gUnknown_83FD999[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nrestored health!"); // @ 83FD999
+const u8 gUnknown_83FD9B2[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nrestored {B_BUFF1}'s PP!"); // @ 83FD9B2
+const u8 gUnknown_83FD9CC[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nrestored its status!"); // @ 83FD9CC
+const u8 gUnknown_83FD9E9[] = _("{B_SCR_ACTIVE_NAME_WITH_PREFIX}'s {B_LAST_ITEM}\nrestored its HP a little!"); // @ 83FD9E9
+const u8 gUnknown_83FDA0B[] = _("{B_LAST_ITEM}'s effect allows only\n{B_CURRENT_MOVE} to be used!\p"); // @ 83FDA0B
+const u8 gUnknown_83FDA33[] = _("{B_DEF_NAME_WITH_PREFIX} hung on\nusing its {B_LAST_ITEM}!"); // @ 83FDA33
+const u8 gUnknown_83FDA4C[] = _(""); // @ 83FDA4C
+const u8 gUnknown_83FDA4D[] = _("{B_PLAYER_NAME} played the {B_LAST_ITEM}.\pNow, that's a catchy tune!"); // @ 83FDA4D
+const u8 gUnknown_83FDA7A[] = _("{B_PLAYER_NAME} played the\n{B_LAST_ITEM}."); // @ 83FDA7A
+const u8 gUnknown_83FDA8C[] = _("The POKéMON hearing the FLUTE\nawoke!"); // @ 83FDA8C
+const u8 gUnknown_83FDAB1[] = _("You throw a BALL now, right?\nI… I'll do my best!"); // @ 83FDAB1
+const u8 gUnknown_83FDAE2[] = _("OAK: Oh, for Pete's sake…\nSo pushy, as always.\p{B_PLAYER_NAME}.\pYou've never had a POKéMON battle\nbefore, have you?\pA POKéMON battle is when TRAINERS\npit their POKéMON against each\lother.\p"); // @ 83FDAE2
+const u8 gUnknown_83FDB92[] = _("The TRAINER that makes the other\nTRAINER's POKéMON faint by lowering\ltheir HP to “0,” wins.\p"); // @ 83FDB92
+const u8 gUnknown_83FDBEF[] = _("But rather than talking about it,\nyou'll learn more from experience.\pTry battling and see for yourself.\p"); // @ 83FDBEF
+const u8 gUnknown_83FDC58[] = _("OAK: Inflicting damage on the foe\nis the key to any battle.\p"); // @ 83FDC58
+const u8 gUnknown_83FDC95[] = _("OAK: Lowering the foe's stats\nwill put you at an advantage.\p"); // @ 83FDC95
+const u8 gUnknown_83FDCD2[] = _("OAK: Keep your eyes on your\nPOKéMON's HP.\pIt will faint if the HP drops to\n“0.”\p"); // @ 83FDCD2
+const u8 gUnknown_83FDD23[] = _("OAK: No! There's no running away\nfrom a TRAINER POKéMON battle!\p"); // @ 83FDD23
+const u8 gUnknown_83FDD64[] = _("OAK: Hm! Excellent!\pIf you win, you earn prize money,\nand your POKéMON will grow!\pBattle other TRAINERS and make\nyour POKéMON strong!\p"); // @ 83FDD64
+const u8 gUnknown_83FDDEB[] = _("OAK: Hm…\nHow disappointing…\pIf you win, you earn prize money,\nand your POKéMON grow.\pBut if you lose, {B_PLAYER_NAME}, you end\nup paying prize money…\pHowever, since you had no warning\nthis time, I'll pay for you.\pBut things won't be this way once\nyou step outside these doors.\pThat's why you must strengthen your\nPOKéMON by battling wild POKéMON.\p"); // @ 83FDDEB
+
+const u8 *const gBattleStringsTable[] = {
+ gUnknown_83FB219,
+ gUnknown_83FB265,
+ gUnknown_83FB28E,
+ gUnknown_83FB2A4,
+ gUnknown_83FB2B6,
+ gUnknown_83FB2D1,
+ gUnknown_83FB2FC,
+ gUnknown_83FB31F,
+ gUnknown_83FB32E,
+ gUnknown_83FB343,
+ gUnknown_83FD1B8,
+ gUnknown_83FB36B,
+ gUnknown_83FB37F,
+ gUnknown_83FCBA5,
+ gUnknown_83FB394,
+ gUnknown_83FB3EA,
+ gUnknown_83FB400,
+ gUnknown_83FB40D,
+ gUnknown_83FB41A,
+ gUnknown_83FB433,
+ gUnknown_83FB451,
+ gUnknown_83FB508,
+ gUnknown_83FB545,
+ gUnknown_83FB555,
+ gUnknown_83FB565,
+ gUnknown_83FB57C,
+ gUnknown_83FB592,
+ gUnknown_83FB5A8,
+ gUnknown_83FB5BC,
+ gUnknown_83FB5CD,
+ gUnknown_83FB5E2,
+ gUnknown_83FB5F8,
+ gUnknown_83FB610,
+ gUnknown_83FB626,
+ gUnknown_83FB641,
+ gUnknown_83FB650,
+ gUnknown_83FB663,
+ gUnknown_83FB692,
+ gUnknown_83FB6A7,
+ gUnknown_83FB6BF,
+ gUnknown_83FB6D3,
+ gUnknown_83FB6E5,
+ gUnknown_83FB6F7,
+ gUnknown_83FB70F,
+ gUnknown_83FB73A,
+ gUnknown_83FB76A,
+ gUnknown_83FB78A,
+ gUnknown_83FB7A3,
+ gUnknown_83FB7BF,
+ gUnknown_83FB7D5,
+ gUnknown_83FB7EE,
+ gUnknown_83FB806,
+ gUnknown_83FB826,
+ gUnknown_83FB844,
+ gUnknown_83FB854,
+ gUnknown_83FB871,
+ gUnknown_83FB885,
+ gUnknown_83FB89D,
+ gUnknown_83FB8AE,
+ gUnknown_83FB8C5,
+ gUnknown_83FB8E0,
+ gUnknown_83FB8F3,
+ gUnknown_83FB914,
+ gUnknown_83FB921,
+ gUnknown_83FB935,
+ gUnknown_83FB946,
+ gUnknown_83FB97F,
+ gUnknown_83FB9B8,
+ gUnknown_83FB9D9,
+ gUnknown_83FB9FF,
+ gUnknown_83FBA2F,
+ gUnknown_83FBA41,
+ gUnknown_83FBA5E,
+ gUnknown_83FBA79,
+ gUnknown_83FBA8E,
+ gUnknown_83FBAA3,
+ gUnknown_83FBAB2,
+ gUnknown_83FBAC3,
+ gUnknown_83FBAF3,
+ gUnknown_83FBB11,
+ gUnknown_83FBB4C,
+ gUnknown_83FBB62,
+ gUnknown_83FBB71,
+ gUnknown_83FBB83,
+ gUnknown_83FBB99,
+ BattleText_MistShroud,
+ gUnknown_83FBBD0,
+ BattleText_GetPumped,
+ gUnknown_83FBBFF,
+ gUnknown_83FBC16,
+ gUnknown_83FBC2B,
+ gUnknown_83FBC4C,
+ gUnknown_83FBC74,
+ gUnknown_83FBC83,
+ gUnknown_83FBC99,
+ gUnknown_83FBCBE,
+ gUnknown_83FBCD1,
+ gUnknown_83FBCDD,
+ gUnknown_83FBCFC,
+ gUnknown_83FBD16,
+ gUnknown_83FBD2B,
+ gUnknown_83FBD43,
+ gUnknown_83FBD53,
+ gUnknown_83FBD74,
+ gUnknown_83FBD86,
+ gUnknown_83FBDA3,
+ gUnknown_83FBDC4,
+ gUnknown_83FBDE2,
+ gUnknown_83FBE00,
+ gUnknown_83FBE16,
+ gUnknown_83FBE2B,
+ gUnknown_83FBE4E,
+ gUnknown_83FBE61,
+ gUnknown_83FBE73,
+ gUnknown_83FBE8B,
+ gUnknown_83FBEA1,
+ gUnknown_83FBEBE,
+ gUnknown_83FBEE2,
+ gUnknown_83FBEFA,
+ gUnknown_83FBF0C,
+ gUnknown_83FBF23,
+ gUnknown_83FC687,
+ gUnknown_83FBF39,
+ gUnknown_83FBF51,
+ gUnknown_83FBF63,
+ gUnknown_83FBF76,
+ gUnknown_83FBF89,
+ gUnknown_83FBF99,
+ gUnknown_83FBFBF,
+ gUnknown_83FBFD3,
+ gUnknown_83FBFEA,
+ gUnknown_83FBFFC,
+ gUnknown_83FC011,
+ gUnknown_83FC02B,
+ gUnknown_83FC048,
+ gUnknown_83FC072,
+ gUnknown_83FC090,
+ gUnknown_83FC0C6,
+ gUnknown_83FC0DC,
+ gUnknown_83FC0EE,
+ gUnknown_83FC10C,
+ gUnknown_83FC11E,
+ gUnknown_83FC132,
+ gUnknown_83FC140,
+ gUnknown_83FC168,
+ gUnknown_83FC185,
+ gUnknown_83FC19D,
+ gUnknown_83FC1B1,
+ gUnknown_83FC1C6,
+ gUnknown_83FC1DB,
+ gUnknown_83FC1F1,
+ gUnknown_83FC224,
+ gUnknown_83FC231,
+ gUnknown_83FC254,
+ gUnknown_83FC26D,
+ gUnknown_83FC28A,
+ gUnknown_83FC670,
+ gUnknown_83FC2AA,
+ gUnknown_83FC69D,
+ gUnknown_83FC2C7,
+ gUnknown_83FC2E3,
+ gUnknown_83FC6D6,
+ gUnknown_83FC2FA,
+ gUnknown_83FC312,
+ gUnknown_83FC377,
+ gUnknown_83FC38A,
+ gUnknown_83FC39A,
+ gUnknown_83FC3AF,
+ gUnknown_83FC3C5,
+ gUnknown_83FC3EB,
+ gUnknown_83FC40E,
+ gUnknown_83FC421,
+ gUnknown_83FC439,
+ gUnknown_83FC461,
+ gUnknown_83FC6F8,
+ gUnknown_83FC483,
+ gUnknown_83FC4AB,
+ gUnknown_83FC4D6,
+ gUnknown_83FC4F0,
+ gUnknown_83FC518,
+ gUnknown_83FC53D,
+ gUnknown_83FC715,
+ gUnknown_83FC72B,
+ gUnknown_83FC745,
+ gUnknown_83FC75D,
+ gUnknown_83FC780,
+ gUnknown_83FC7B6,
+ gUnknown_83FC7D3,
+ gUnknown_83FC7EF,
+ gUnknown_83FC809,
+ gUnknown_83FC825,
+ gUnknown_83FC841,
+ gUnknown_83FC860,
+ gUnknown_83FC87B,
+ gUnknown_83FC895,
+ gUnknown_83FC8B1,
+ gUnknown_83FC8C2,
+ gUnknown_83FCB41,
+ BattleText_Rose,
+ gUnknown_83FCB50,
+ gUnknown_83FCB59,
+ gUnknown_83FCB5F,
+ BattleText_UnknownString3,
+ gUnknown_83FCB8F,
+ gUnknown_83FCB9A,
+ gUnknown_83FCBE4,
+ gUnknown_83FCBF4,
+ gUnknown_83FCC07,
+ gUnknown_83FCC33,
+ gUnknown_83FCC5B,
+ gUnknown_83FCC74,
+ sText_GotAwaySafely,
+ gUnknown_83FCCD2,
+ gUnknown_83FCDB3,
+ gUnknown_83FCDE2,
+ gUnknown_83FCDF1,
+ gUnknown_83FCDF2,
+ gUnknown_83FCE08,
+ gUnknown_83FCE17,
+ gUnknown_83FCE38,
+ gUnknown_83FCE50,
+ gUnknown_83FCE64,
+ gUnknown_83FCE78,
+ gUnknown_83FCE90,
+ gUnknown_83FCEA8,
+ gUnknown_83FCEBA,
+ gUnknown_83FCECE,
+ gUnknown_83FCEE3,
+ gUnknown_83FCEFB,
+ gUnknown_83FCF14,
+ gUnknown_83FCF2C,
+ gUnknown_83FCF40,
+ gUnknown_83FCF54,
+ gUnknown_83FCF6C,
+ gUnknown_83FCF7E,
+ gUnknown_83FCFA0,
+ gUnknown_83FCFC2,
+ gUnknown_83FCFE4,
+ gUnknown_83FD006,
+ gUnknown_83FD022,
+ gUnknown_83FD048,
+ gUnknown_83FD068,
+ gUnknown_83FD077,
+ gUnknown_83FD0A7,
+ gUnknown_83FD0CA,
+ sText_PlayerUsedItem,
+ sText_OldManUsedItem,
+ sText_TrainerBlockedBall,
+ sText_DontBeAThief,
+ sText_ItDodgedBall,
+ sText_YouMissedPkmn,
+ sText_PkmnBrokeFree,
+ sText_ItAppearedCaught,
+ sText_AarghAlmostHadIt,
+ sText_ShootSoClose,
+ sText_GotchaPkmnCaught,
+ sText_GotchaPkmnCaught2,
+ sText_GiveNicknameCaptured,
+ sText_PkmnSentToPC,
+ gUnknown_83FD82B,
+ gUnknown_83FD850,
+ gUnknown_83FD85F,
+ gUnknown_83FB525,
+ gUnknown_83FD0F1,
+ gUnknown_83FD111,
+ gUnknown_83FD124,
+ gUnknown_83FD135,
+ gUnknown_83FD14B,
+ gUnknown_83FD15A,
+ gUnknown_83FD16A,
+ gUnknown_83FD186,
+ gUnknown_83FD1DF,
+ gUnknown_83FD1FA,
+ gUnknown_83FD218,
+ gUnknown_83FD232,
+ gUnknown_83FD23F,
+ gUnknown_83FB218,
+ gUnknown_83FB218,
+ gUnknown_83FD24D,
+ gUnknown_83FD8B9,
+ gUnknown_83FD8D2,
+ gUnknown_83FD8E8,
+ gUnknown_83FD901,
+ gUnknown_83FD917,
+ gUnknown_83FD937,
+ gUnknown_83FD95C,
+ gUnknown_83FD999,
+ gUnknown_83FD9B2,
+ gUnknown_83FD9CC,
+ gUnknown_83FD9E9,
+ gUnknown_83FDA0B,
+ gUnknown_83FDA33,
+ gUnknown_83FDA4C,
+ gUnknown_83FC8D5,
+ gUnknown_83FC8ED,
+ gUnknown_83FC913,
+ gUnknown_83FC935,
+ gUnknown_83FC979,
+ gUnknown_83FC993,
+ gUnknown_83FC9AA,
+ gUnknown_83FC9C7,
+ gUnknown_83FC9E5,
+ gUnknown_83FCA03,
+ gUnknown_83FC554,
+ gUnknown_83FC576,
+ gUnknown_83FBAD2,
+ gUnknown_83FBAE5,
+ gUnknown_83FCC39,
+ gUnknown_83FC591,
+ sText_PlayerDefeatedLinkTrainerTrainer1,
+ gUnknown_83FC5A2,
+ gUnknown_83FC5CC,
+ gUnknown_83FC5E8,
+ gUnknown_83FCB75,
+ gUnknown_83FC5F6,
+ gUnknown_83FC79D,
+ gUnknown_83FBB2F,
+ gUnknown_83FB282,
+ gUnknown_83FB283,
+ gUnknown_83FC955,
+ gUnknown_83FB3AF,
+ gUnknown_83FDAB1,
+ gUnknown_83FCA13,
+ gUnknown_83FC208,
+ gUnknown_83FC60C,
+ gUnknown_83FB359,
+ gUnknown_83FCCA0,
+ gUnknown_83FCCBB,
+ gUnknown_83FC631,
+ gUnknown_83FCA49,
+ gUnknown_83FD97A,
+ sText_Trainer1UsedItem,
+ gUnknown_83FD876,
+ gUnknown_83FB3D3,
+ gUnknown_83FCA71,
+ gUnknown_83FCA8E,
+ gUnknown_83FB67B,
+ gUnknown_83FCBC5,
+ gUnknown_83FC900,
+ gUnknown_83FBC62,
+ gUnknown_83FB997,
+ gUnknown_83FB95E,
+ gUnknown_83FC646,
+ gUnknown_83FCAAA,
+ gUnknown_83FCAD1,
+ gUnknown_83FB534,
+ gUnknown_83FC337,
+ gUnknown_83FC347,
+ gUnknown_83FC357,
+ gUnknown_83FC65A,
+ gUnknown_83FCAEF,
+ gUnknown_83FDD64,
+ gUnknown_83FDDEB,
+ gUnknown_83FB484,
+ gUnknown_83FB4BE,
+ Text_1A5CF1,
+ Text_1A5D31,
+ Text_1A5D6E,
+ Text_1A5DB1,
+ sText_PokeDudeUsedItem,
+ gUnknown_83FDA4D,
+ gUnknown_83FDA7A,
+ gUnknown_83FDA8C,
+ gUnknown_83FB21C,
+ gUnknown_83FB262,
+ gUnknown_83FB4F7,
+ gUnknown_83FCB0C,
+ gUnknown_83FCB26,
+ gUnknown_83FD322,
+ gUnknown_83FD34D,
+ gUnknown_83FB21F,
+ gUnknown_83FB232,
+ gUnknown_83FB235,
+ gUnknown_83FB248
+};
+
+const u16 gMissStringIds[] = {
+ STRINGID_ATTACKMISSED,
+ STRINGID_PKMNPROTECTEDITSELF,
+ STRINGID_PKMNAVOIDEDATTACK,
+ STRINGID_AVOIDEDDAMAGE,
+ STRINGID_PKMNMAKESGROUNDMISS
+};
+
+const u16 gNoEscapeStringIds[] = {
+ STRINGID_CANTESCAPE,
+ STRINGID_DONTLEAVEBIRCH,
+ STRINGID_PREVENTSESCAPE,
+ STRINGID_CANTESCAPE2,
+ STRINGID_ATTACKERCANTESCAPE
+};
+
+const u16 gMoveWeatherChangeStringIds[] = {
+ STRINGID_STARTEDTORAIN,
+ STRINGID_DOWNPOURSTARTED,
+ STRINGID_BUTITFAILED,
+ STRINGID_SANDSTORMBREWED,
+ STRINGID_SUNLIGHTGOTBRIGHT,
+ STRINGID_STARTEDHAIL
+};
+
+const u16 gSandStormHailContinuesStringIds[] = {
+ STRINGID_SANDSTORMRAGES,
+ STRINGID_HAILCONTINUES
+};
+
+const u16 gSandStormHailDmgStringIds[] = {
+ STRINGID_PKMNBUFFETEDBYSANDSTORM,
+ STRINGID_PKMNPELTEDBYHAIL
+};
+
+const u16 gSandStormHailEndStringIds[] = {
+ STRINGID_SANDSTORMSUBSIDED,
+ STRINGID_HAILSTOPPED
+};
+
+const u16 gRainContinuesStringIds[] = {
+ STRINGID_RAINCONTINUES,
+ STRINGID_DOWNPOURCONTINUES,
+ STRINGID_RAINSTOPPED
+};
+
+const u16 gProtectLikeUsedStringIds[] = {
+ STRINGID_PKMNPROTECTEDITSELF2,
+ STRINGID_PKMNBRACEDITSELF,
+ STRINGID_BUTITFAILED
+};
+
+const u16 gReflectLightScreenSafeguardStringIds[] = {
+ STRINGID_BUTITFAILED,
+ STRINGID_PKMNRAISEDDEF,
+ STRINGID_PKMNRAISEDDEFALITTLE,
+ STRINGID_PKMNRAISEDSPDEF,
+ STRINGID_PKMNRAISEDSPDEFALITTLE,
+ STRINGID_PKMNCOVEREDBYVEIL
+};
+
+const u16 gLeechSeedStringIds[] = {
+ STRINGID_PKMNSEEDED,
+ STRINGID_PKMNEVADEDATTACK,
+ STRINGID_ITDOESNTAFFECT,
+ STRINGID_PKMNSAPPEDBYLEECHSEED,
+ STRINGID_ITSUCKEDLIQUIDOOZE
+};
+
+const u16 gRestUsedStringIds[] = {
+ STRINGID_PKMNWENTTOSLEEP,
+ STRINGID_PKMNSLEPTHEALTHY
+};
+
+const u16 gUproarOverTurnStringIds[] = {
+ STRINGID_PKMNMAKINGUPROAR,
+ STRINGID_PKMNCALMEDDOWN
+};
+
+const u16 gStockpileUsedStringIds[] = {
+ STRINGID_PKMNSTOCKPILED,
+ STRINGID_PKMNCANTSTOCKPILE
+};
+
+const u16 gWokeUpStringIds[] = {
+ STRINGID_PKMNWOKEUP,
+ STRINGID_PKMNWOKEUPINUPROAR
+};
+
+const u16 gSwallowFailStringIds[] = {
+ STRINGID_FAILEDTOSWALLOW,
+ STRINGID_PKMNHPFULL
+};
+
+const u16 gUproarAwakeStringIds[] = {
+ STRINGID_PKMNCANTSLEEPINUPROAR2,
+ STRINGID_UPROARKEPTPKMNAWAKE,
+ STRINGID_PKMNSTAYEDAWAKEUSING
+};
+
+const u16 gStatUpStringIds[] = {
+ STRINGID_PKMNSSTATCHANGED,
+ STRINGID_PKMNSSTATCHANGED2,
+ STRINGID_STATSWONTINCREASE,
+ STRINGID_EMPTYSTRING3,
+ STRINGID_USINGXTHEYOFZN,
+ STRINGID_PKMNUSEDXTOGETPUMPED
+};
+
+const u16 gStatDownStringIds[] = {
+ STRINGID_PKMNSSTATCHANGED3,
+ STRINGID_PKMNSSTATCHANGED4,
+ STRINGID_STATSWONTDECREASE,
+ STRINGID_EMPTYSTRING3
+};
+
+const u16 gFirstTurnOfTwoStringIds[] = {
+ STRINGID_PKMNWHIPPEDWHIRLWIND,
+ STRINGID_PKMNTOOKSUNLIGHT,
+ STRINGID_PKMNLOWEREDHEAD,
+ STRINGID_PKMNISGLOWING,
+ STRINGID_PKMNFLEWHIGH,
+ STRINGID_PKMNDUGHOLE,
+ STRINGID_PKMNHIDUNDERWATER,
+ STRINGID_PKMNSPRANGUP
+};
+
+const u16 gWrappedStringIds[] = {
+ STRINGID_PKMNSQUEEZEDBYBIND,
+ STRINGID_PKMNWRAPPEDBY,
+ STRINGID_PKMNTRAPPEDINVORTEX,
+ STRINGID_PKMNCLAMPED,
+ STRINGID_PKMNTRAPPEDINVORTEX,
+ STRINGID_PKMNTRAPPEDBYSANDTOMB
+};
+
+const u16 gMistUsedStringIds[] = {
+ STRINGID_PKMNSHROUDEDINMIST,
+ STRINGID_BUTITFAILED
+};
+
+const u16 gFocusEnergyUsedStringIds[] = {
+ STRINGID_PKMNGETTINGPUMPED,
+ STRINGID_BUTITFAILED
+};
+
+const u16 gTransformUsedStringIds[] = {
+ STRINGID_PKMNTRANSFORMEDINTO,
+ STRINGID_BUTITFAILED
+};
+
+const u16 gSubsituteUsedStringIds[] = {
+ STRINGID_PKMNMADESUBSTITUTE,
+ STRINGID_TOOWEAKFORSUBSTITUTE
+};
+
+const u16 gGotPoisonedStringIds[] = {
+ STRINGID_PKMNWASPOISONED,
+ STRINGID_PKMNPOISONEDBY
+};
+
+const u16 gGotParalyzedStringIds[] = {
+ STRINGID_PKMNWASPARALYZED,
+ STRINGID_PKMNWASPARALYZEDBY
+};
+
+const u16 gFellAsleepStringIds[] = {
+ STRINGID_PKMNFELLASLEEP,
+ STRINGID_PKMNMADESLEEP
+};
+
+const u16 gGotBurnedStringIds[] = {
+ STRINGID_PKMNWASBURNED,
+ STRINGID_PKMNBURNEDBY
+};
+
+const u16 gGotFrozenStringIds[] = {
+ STRINGID_PKMNWASFROZEN,
+ STRINGID_PKMNFROZENBY
+};
+
+const u16 gGotDefrostedStringIds[] = {
+ STRINGID_PKMNWASDEFROSTED2,
+ STRINGID_PKMNWASDEFROSTEDBY
+};
+
+const u16 gKOFailedStringIds[] = {
+ STRINGID_ATTACKMISSED,
+ STRINGID_PKMNUNAFFECTED
+};
+
+const u16 gAttractUsedStringIds[] = {
+ STRINGID_PKMNFELLINLOVE,
+ STRINGID_PKMNSXINFATUATEDY
+};
+
+const u16 gLeechSeedDrainStringIds[] = {
+ STRINGID_PKMNENERGYDRAINED,
+ STRINGID_ITSUCKEDLIQUIDOOZE
+};
+
+const u16 gSportsUsedStringIds[] = {
+ STRINGID_ELECTRICITYWEAKENED,
+ STRINGID_FIREWEAKENED
+};
+
+const u16 gPartyStatusHealStringIds[] = {
+ STRINGID_BELLCHIMED,
+ STRINGID_BELLCHIMED,
+ STRINGID_BELLCHIMED,
+ STRINGID_BELLCHIMED,
+ STRINGID_SOOTHINGAROMA
+};
+
+const u16 gFutureMoveUsedStringIds[] = {
+ STRINGID_PKMNFORESAWATTACK,
+ STRINGID_PKMNCHOSEXASDESTINY
+};
+
+const u16 gBallEscapeStringIds[] = {
+ STRINGID_PKMNBROKEFREE,
+ STRINGID_ITAPPEAREDCAUGHT,
+ STRINGID_AARGHALMOSTHADIT,
+ STRINGID_SHOOTSOCLOSE
+};
+
+const u16 gWeatherContinuesStringIds[] = {
+ STRINGID_ITISRAINING,
+ STRINGID_ITISRAINING,
+ STRINGID_ITISRAINING,
+ STRINGID_ITISRAINING,
+ STRINGID_ITISRAINING,
+ STRINGID_ITISRAINING,
+ STRINGID_ITISRAINING,
+ STRINGID_ITISRAINING,
+ STRINGID_SANDSTORMISRAGING,
+ STRINGID_ITISRAINING,
+ STRINGID_ITISRAINING,
+ STRINGID_ITISRAINING,
+ STRINGID_SUNLIGHTSTRONG,
+ STRINGID_ITISRAINING,
+ STRINGID_ITISRAINING,
+ STRINGID_ITISRAINING
+};
+
+const u16 gInobedientStringIds[] = {
+ STRINGID_PKMNLOAFING,
+ STRINGID_PKMNWONTOBEY,
+ STRINGID_PKMNTURNEDAWAY,
+ STRINGID_PKMNPRETENDNOTNOTICE
+};
+
+const u16 gSafariPokeblockResultStringIds[] = {
+ STRINGID_PKMNWATCHINGCAREFULLY,
+ STRINGID_PKMNANGRY,
+ STRINGID_PKMNEATING
+};
+
+const u16 gTrainerItemCuredStatusStringIds[] = {
+ STRINGID_PKMNSITEMSNAPPEDOUT,
+ STRINGID_PKMNSITEMCUREDPARALYSIS,
+ STRINGID_PKMNSITEMDEFROSTEDIT,
+ STRINGID_PKMNSITEMHEALEDBURN,
+ STRINGID_PKMNSITEMCUREDPOISON,
+ STRINGID_PKMNSITEMWOKEIT
+};
+
+const u16 gBerryEffectStringIds[] = {
+ STRINGID_PKMNSITEMCUREDPROBLEM,
+ STRINGID_PKMNSITEMNORMALIZEDSTATUS
+};
+
+const u16 gBRNPreventionStringIds[] = {
+ STRINGID_PKMNSXPREVENTSBURNS,
+ STRINGID_PKMNSXPREVENTSYSZ,
+ STRINGID_PKMNSXHADNOEFFECTONY
+};
+
+const u16 gPRLZPreventionStringIds[] = {
+ STRINGID_PKMNPREVENTSPARALYSISWITH,
+ STRINGID_PKMNSXPREVENTSYSZ,
+ STRINGID_PKMNSXHADNOEFFECTONY
+};
+
+const u16 gPSNPreventionStringIds[] = {
+ STRINGID_PKMNPREVENTSPOISONINGWITH,
+ STRINGID_PKMNSXPREVENTSYSZ,
+ STRINGID_PKMNSXHADNOEFFECTONY
+};
+
+const u16 gItemSwapStringIds[] = {
+ STRINGID_PKMNOBTAINEDX,
+ STRINGID_PKMNOBTAINEDX2,
+ STRINGID_PKMNOBTAINEDXYOBTAINEDZ
+};
+
+const u16 gFlashFireStringIds[] = {
+ STRINGID_PKMNRAISEDFIREPOWERWITH,
+ STRINGID_PKMNSXMADEYINEFFECTIVE
+};
+
+const u16 gCaughtMonStringIds[] = {
+ STRINGID_PKMNTRANSFERREDSOMEONESPC,
+ STRINGID_PKMNTRANSFERREDBILLSPC,
+ STRINGID_PKMNBOXSOMEONESPCFULL,
+ STRINGID_PKMNBOXBILLSPCFULL
+};
+
+const u16 gDoubleBattleRecallStrings[] = {
+ STRINGID_TRAINER1MON1COMEBACK,
+ STRINGID_TRAINER1MON1COMEBACK,
+ STRINGID_TRAINER1MON2COMEBACK,
+ STRINGID_TRAINER1MON1AND2COMEBACK
+};
+
+const u16 gTrappingMoves[] = {
+ MOVE_BIND,
+ MOVE_WRAP,
+ MOVE_FIRE_SPIN,
+ MOVE_CLAMP,
+ MOVE_WHIRLPOOL,
+ MOVE_SAND_TOMB,
+ 0xFFFF
+};
+
+const u8 gText_PkmnIsEvolving[] = _("What?\n{STR_VAR_1} is evolving!"); // @ 83FE672
+const u8 gText_CongratsPkmnEvolved[] = _("Congratulations! Your {STR_VAR_1}\nevolved into {STR_VAR_2}!{WAIT_SE}\p"); // @ 83FE688
+const u8 gText_PkmnStoppedEvolving[] = _("Huh? {STR_VAR_1}\nstopped evolving!\p"); // @ 83FE6B5
+const u8 gText_EllipsisQuestionMark[] = _("……?\p"); // @ 83FE6D0
+const u8 gText_WhatWillPkmnDo[] = _("What will\n{B_ACTIVE_NAME_WITH_PREFIX} do?"); // @ 83FE6D5
+const u8 gUnknown_83FE6E6[] = _("What will {B_PLAYER_NAME}\nthrow?"); // @ 83FE6E6
+const u8 gUnknown_83FE6FA[] = _("What will the\nold man do?"); // @ 83FE6FA
+const u8 gText_LinkStandby[] = _("{PAUSE 16}Link standby…"); // @ 83FE714
+const u8 gUnknown_83FE725[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW 13 14 15}FIGHT{CLEAR_TO 56}BAG\nPOKéMON{CLEAR_TO 56}RUN"); // @ 83FE725
+const u8 gUnknown_83FE747[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW 13 14 15}BALL{CLEAR_TO 56}BAIT\nROCK{CLEAR_TO 56}RUN"); // @ 83FE747
+const u8 gText_MoveInterfacePP[] = _("PP "); // @ 83FE766
+const u8 gText_MoveInterfaceType[] = _("TYPE/"); // @ 83FE76A
+const u8 gUnknown_83FE770[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW 13 14 15}"); // @ 83FE770
+const u8 gUnknown_83FE779[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW 13 14 15}どの わざを\nわすれさせたい?"); // @ 83FE779
+const u8 gText_BattleYesNoChoice[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW 13 14 15}Yes\nNo"); // @ 83FE791
+const u8 gText_BattleSwitchWhich[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW 13 14 15}Switch\nwhich?"); // @ 83FE7A0
+const u8 gUnknown_83FE7B6[] = _("{PALETTE 5}{COLOR_HIGHLIGHT_SHADOW 13 14 15}"); // @ 83FE7B6
+const u8 gUnknown_83FE7BF[] = _("{RIGHT_ARROW_2}"); // @ 83FE7BF
+const u8 gUnknown_83FE7C2[] = _("{PLUS}"); // @ 83FE7C2
+const u8 gUnknown_83FE7C5[] = _("-"); // @ 83FE7C5
+
+const u8 gUnknown_83FE7C7[] = _("{SIZE 0}Max{SIZE 2} HP"); // @ 83FE7C7
+const u8 gUnknown_83FE7D4[] = _("ATTACK "); // @ 83FE7D4
+const u8 gUnknown_83FE7DC[] = _("DEFENSE"); // @ 83FE7DC
+const u8 gUnknown_83FE7E4[] = _("SP. ATK"); // @ 83FE7E4
+const u8 gUnknown_83FE7EC[] = _("SP. DEF"); // @ 83FE7EC
+
+const u8 *const gUnknown_83FE7F4[] = {
+ gUnknown_83FE7C7,
+ gUnknown_83FE7E4,
+ gUnknown_83FE7D4,
+ gUnknown_83FE7EC,
+ gUnknown_83FE7DC,
+ sText_Speed
+};
+
+const u8 gUnknown_83FE80C[] = _("{HIGHLIGHT 2}SAFARI BALLS"); //
+const u8 gText_HighlightRed_Left[] = _("{HIGHLIGHT 2}Left: "); // @ 83FE81C
+const u8 gText_HighlightRed[] = _("{HIGHLIGHT 2}"); // @ 83FE826
+const u8 gText_Sleep[] = _("sleep"); // @ 83FE82A
+const u8 gText_Poison[] = _("poison"); // @ 83FE830
+const u8 gText_Burn[] = _("burn"); // @ 83FE837
+const u8 gText_Paralysis[] = _("paralysis"); // @ 83FE83C
+const u8 gText_Ice[] = _("ice"); // @ 83FE846
+const u8 gText_Confusion[] = _("confusion"); // @ 83FE84A
+const u8 gText_Love[] = _("love"); // @ 83FE854
+const u8 gUnknown_83FE859[] = _(" "); // @ 83FE859
+const u8 gUnknown_83FE85C[] = _("\n"); // @ 83FE85C
+const u8 gUnknown_83FE85E[] = _("\n"); // @ 83FE85E
+const u8 gUnknown_83FE860[] = _(" is"); // @ 83FE860
+const u8 gUnknown_83FE864[] = _(" is"); // @ 83FE864
+const u8 gText_BadEgg[] = _("Bad EGG"); // @ 83FE868
+const u8 gUnknown_83FE870[] = _("ミツル"); // @ 83FE870
+const u8 gUnknown_83FE874[] = _("{HIGHLIGHT 0}Win"); // @ 83FE874
+const u8 gUnknown_83FE87B[] = _("{HIGHLIGHT 0}Loss"); // @ 83FE87B
+const u8 gUnknown_83FE883[] = _("{HIGHLIGHT 0}Draw"); // @ 83FE883
+const u8 gUnknown_83FE88B[] = _(" is"); // @ 83FE88B
+const u8 gUnknown_83FE88F[] = _("'s"); // @ 83FE88F
+const u8 gUnknown_83FE892[] = _("a NORMAL move"); // @ 83FE892
+const u8 gUnknown_83FE8A0[] = _("a FIGHTING move"); // @ 83FE8A0
+const u8 gUnknown_83FE8B0[] = _("a FLYING move"); // @ 83FE8B0
+const u8 gUnknown_83FE8BE[] = _("a POISON move"); // @ 83FE8BE
+const u8 gUnknown_83FE8CC[] = _("a GROUND move"); // @ 83FE8CC
+const u8 gUnknown_83FE8DA[] = _("a ROCK move"); // @ 83FE8DA
+const u8 gUnknown_83FE8E6[] = _("a BUG move"); // @ 83FE8E6
+const u8 gUnknown_83FE8F1[] = _("a GHOST move"); // @ 83FE8F1
+const u8 gUnknown_83FE8FE[] = _("a STEEL move"); // @ 83FE8FE
+const u8 gUnknown_83FE90B[] = _("a ??? move"); // @ 83FE90B
+const u8 gUnknown_83FE916[] = _("a FIRE move"); // @ 83FE916
+const u8 gUnknown_83FE922[] = _("a WATER move"); // @ 83FE922
+const u8 gUnknown_83FE92F[] = _("a GRASS move"); // @ 83FE92F
+const u8 gUnknown_83FE93C[] = _("an ELECTRIC move"); // @ 83FE93C
+const u8 gUnknown_83FE94D[] = _("a PSYCHIC move"); // @ 83FE94D
+const u8 gUnknown_83FE95C[] = _("an ICE move"); // @ 83FE95C
+const u8 gUnknown_83FE968[] = _("a DRAGON move"); // @ 83FE968
+const u8 gUnknown_83FE976[] = _("a DARK move"); // @ 83FE976
+const u8 gUnknown_83FE982[] = _("TIME BOARD"); // @ 83FE982
+const u8 gUnknown_83FE98D[] = _("CLEAR TIME"); // @ 83FE98D
+const u8 gUnknown_83FE998[] = _("{STR_VAR_1}MIN. {STR_VAR_2}.{STR_VAR_3}SEC."); // @ 83FE998
+const u8 gUnknown_83FE9A9[] = _("1F"); // @ 83FE9A9
+const u8 gUnknown_83FE9AC[] = _("2F"); // @ 83FE9AC
+const u8 gUnknown_83FE9AF[] = _("3F"); // @ 83FE9AF
+const u8 gUnknown_83FE9B2[] = _("4F"); // @ 83FE9B2
+const u8 gUnknown_83FE9B5[] = _("5F"); // @ 83FE9B5
+const u8 gUnknown_83FE9B8[] = _("6F"); // @ 83FE9B8
+const u8 gUnknown_83FE9BB[] = _("7F"); // @ 83FE9BB
+const u8 gUnknown_83FE9BE[] = _("8F"); // @ 83FE9BE
+
+const u8 *const gUnknown_83FE9C4[] = {
+ gOtherText_Single,
+ gOtherText_Double,
+ gOtherText_Knockout,
+ gOtherText_Mixed
+};
+
+const u8 gUnknown_83FE9D4[] = _("{PLAY_SE SE_NIGERU}{B_TRAINER1_CLASS} {B_TRAINER1_NAME} fled!"); //
+const u8 sText_PlayerLostAgainstTrainer1[] = _("Player lost against\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!"); // @ 83FE9E4
+const u8 sText_PlayerBattledToDrawTrainer1[] = _("Player battled to a draw against\n{B_TRAINER1_CLASS} {B_TRAINER1_NAME}!"); // @ 83FE9FF
+
+const u8 *const sATypeMove_Table[] = {
+ gUnknown_83FE892,
+ gUnknown_83FE8A0,
+ gUnknown_83FE8B0,
+ gUnknown_83FE8BE,
+ gUnknown_83FE8CC,
+ gUnknown_83FE8DA,
+ gUnknown_83FE8E6,
+ gUnknown_83FE8F1,
+ gUnknown_83FE8FE,
+ gUnknown_83FE90B,
+ gUnknown_83FE916,
+ gUnknown_83FE922,
+ gUnknown_83FE92F,
+ gUnknown_83FE93C,
+ gUnknown_83FE94D,
+ gUnknown_83FE95C,
+ gUnknown_83FE968,
+ gUnknown_83FE976
+};
+
+const u16 gUnknown_83FEA70[] = {
+ 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
+};
+
+// code
+void BufferStringBattle(u16 stringID)
+{
+ s32 i;
+ const u8 *stringPtr = NULL;
+
+ gBattleMsgDataPtr = (struct BattleMsgData*)(&gBattleBufferA[gActiveBattler][4]);
+ gLastUsedItem = gBattleMsgDataPtr->lastItem;
+ gLastUsedAbility = gBattleMsgDataPtr->lastAbility;
+ gBattleScripting.battler = gBattleMsgDataPtr->scrActive;
+ *(&gBattleStruct->field_52) = gBattleMsgDataPtr->unk1605E;
+ *(&gBattleStruct->hpScale) = gBattleMsgDataPtr->hpScale;
+ gPotentialItemEffectBattler = gBattleMsgDataPtr->itemEffectBattler;
+ *(&gBattleStruct->stringMoveType) = gBattleMsgDataPtr->moveType;
+
+ for (i = 0; i < MAX_BATTLERS_COUNT; i++)
+ {
+ sBattlerAbilities[i] = gBattleMsgDataPtr->abilities[i];
+ }
+ for (i = 0; i < TEXT_BUFF_ARRAY_COUNT; i++)
+ {
+ gBattleTextBuff1[i] = gBattleMsgDataPtr->textBuffs[0][i];
+ gBattleTextBuff2[i] = gBattleMsgDataPtr->textBuffs[1][i];
+ gBattleTextBuff3[i] = gBattleMsgDataPtr->textBuffs[2][i];
+ }
+
+ switch (stringID)
+ {
+ case STRINGID_INTROMSG: // first battle msg
+ if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_LINK)
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
+ {
+ stringPtr = sText_TwoLinkTrainersWantToBattle;
+ }
+ else
+ {
+ if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_C00)
+ stringPtr = sText_Trainer1WantsToBattle;
+ else
+ stringPtr = sText_LinkTrainerWantsToBattle;
+ }
+ }
+ else
+ {
+ stringPtr = sText_Trainer1WantsToBattle;
+ }
+ }
+ else
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_GHOST)
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_LEGENDARY)
+ stringPtr = gUnknown_83FD30D;
+ else
+ stringPtr = gUnknown_83FD2D9;
+ }
+ else if (gBattleTypeFlags & BATTLE_TYPE_LEGENDARY)
+ stringPtr = sText_WildPkmnAppeared2;
+ else if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE) // interesting, looks like they had something planned for wild double battles
+ stringPtr = sText_TwoWildPkmnAppeared;
+ else if (gBattleTypeFlags & BATTLE_TYPE_OLD_MAN_TUTORIAL)
+ stringPtr = sText_WildPkmnAppearedPause;
+ else
+ stringPtr = sText_WildPkmnAppeared;
+ }
+ break;
+ case STRINGID_INTROSENDOUT: // poke first send-out
+ if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
+ stringPtr = sText_LinkPartnerSentOutPkmnGoPkmn;
+ else
+ stringPtr = sText_GoTwoPkmn;
+ }
+ else
+ {
+ stringPtr = sText_GoPkmn;
+ }
+ }
+ else
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
+ stringPtr = sText_TwoLinkTrainersSentOutPkmn;
+ else if (gBattleTypeFlags & BATTLE_TYPE_LINK)
+ stringPtr = sText_LinkTrainerSentOutTwoPkmn;
+ else
+ stringPtr = sText_Trainer1SentOutTwoPkmn;
+ }
+ else
+ {
+ if (!(gBattleTypeFlags & BATTLE_TYPE_LINK))
+ stringPtr = sText_Trainer1SentOutPkmn;
+ else if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_C00)
+ stringPtr = sText_Trainer1SentOutPkmn;
+ else
+ stringPtr = sText_LinkTrainerSentOutPkmn;
+ }
+ }
+ break;
+ case STRINGID_RETURNMON: // sending poke to ball msg
+ if (GetBattlerSide(gActiveBattler) == B_SIDE_PLAYER)
+ {
+ if (*(&gBattleStruct->hpScale) == 0)
+ stringPtr = sText_PkmnThatsEnough;
+ else if (*(&gBattleStruct->hpScale) == 1 || gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
+ stringPtr = sText_PkmnComeBack;
+ else if (*(&gBattleStruct->hpScale) == 2)
+ stringPtr = sText_PkmnOkComeBack;
+ else
+ stringPtr = sText_PkmnGoodComeBack;
+ }
+ else
+ {
+ if (gTrainerBattleOpponent_A == TRAINER_LINK_OPPONENT)
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
+ stringPtr = sText_LinkTrainer2WithdrewPkmn;
+ else
+ stringPtr = sText_LinkTrainer1WithdrewPkmn;
+ }
+ else
+ {
+ stringPtr = sText_Trainer1WithdrewPkmn;
+ }
+ }
+ break;
+ case STRINGID_SWITCHINMON: // switch-in msg
+ if (GetBattlerSide(gBattleScripting.battler) == B_SIDE_PLAYER)
+ {
+ if (*(&gBattleStruct->hpScale) == 0 || gBattleTypeFlags & BATTLE_TYPE_DOUBLE)
+ stringPtr = sText_GoPkmn2;
+ else if (*(&gBattleStruct->hpScale) == 1)
+ stringPtr = sText_DoItPkmn;
+ else if (*(&gBattleStruct->hpScale) == 2)
+ stringPtr = sText_GoForItPkmn;
+ else
+ stringPtr = sText_YourFoesWeakGetEmPkmn;
+ }
+ else
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_LINK)
+ {
+ if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
+ stringPtr = sText_LinkTrainerMultiSentOutPkmn;
+ else if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_C00)
+ stringPtr = sText_Trainer1SentOutPkmn2;
+ else
+ stringPtr = sText_LinkTrainerSentOutPkmn2;
+ }
+ else
+ {
+ stringPtr = sText_Trainer1SentOutPkmn2;
+ }
+ }
+ break;
+ case STRINGID_USEDMOVE: // pokemon used a move msg
+ ChooseMoveUsedParticle(gBattleTextBuff1); // buff1 doesn't appear in the string, leftover from japanese move names
+
+ if (gBattleMsgDataPtr->currentMove >= MOVES_COUNT)
+ StringCopy(gBattleTextBuff2, sATypeMove_Table[*(&gBattleStruct->stringMoveType)]);
+ else
+ StringCopy(gBattleTextBuff2, gMoveNames[gBattleMsgDataPtr->currentMove]);
+
+ ChooseTypeOfMoveUsedString(gBattleTextBuff2);
+ stringPtr = sText_AttackerUsedX;
+ break;
+ case STRINGID_BATTLEEND: // battle end
+ if (gBattleTextBuff1[0] & B_OUTCOME_LINK_BATTLE_RAN)
+ {
+ gBattleTextBuff1[0] &= ~(B_OUTCOME_LINK_BATTLE_RAN);
+ if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT && gBattleTextBuff1[0] != B_OUTCOME_DREW)
+ gBattleTextBuff1[0] ^= (B_OUTCOME_LOST | B_OUTCOME_WON);
+
+ if (gBattleTextBuff1[0] == B_OUTCOME_LOST || gBattleTextBuff1[0] == B_OUTCOME_DREW)
+ stringPtr = sText_GotAwaySafely;
+ else if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
+ stringPtr = sText_TwoWildFled;
+ else if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_C00)
+ stringPtr = gUnknown_83FE9D4;
+ else
+ stringPtr = gUnknown_83FCD92;
+ }
+ else
+ {
+ if (GetBattlerSide(gActiveBattler) == B_SIDE_OPPONENT && gBattleTextBuff1[0] != B_OUTCOME_DREW)
+ gBattleTextBuff1[0] ^= (B_OUTCOME_LOST | B_OUTCOME_WON);
+
+ if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
+ {
+ switch (gBattleTextBuff1[0])
+ {
+ case B_OUTCOME_WON:
+ stringPtr = sText_TwoLinkTrainersDefeated;
+ break;
+ case B_OUTCOME_LOST:
+ stringPtr = sText_PlayerLostToTwo;
+ break;
+ case B_OUTCOME_DREW:
+ stringPtr = sText_PlayerBattledToDrawVsTwo;
+ break;
+ }
+ }
+ else if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_C00)
+ {
+ switch (gBattleTextBuff1[0])
+ {
+ case B_OUTCOME_WON:
+ stringPtr = sText_PlayerDefeatedLinkTrainerTrainer1;
+ break;
+ case B_OUTCOME_LOST:
+ stringPtr = sText_PlayerLostAgainstTrainer1;
+ break;
+ case B_OUTCOME_DREW:
+ stringPtr = sText_PlayerBattledToDrawTrainer1;
+ break;
+ }
+ }
+ else
+ {
+ switch (gBattleTextBuff1[0])
+ {
+ case B_OUTCOME_WON:
+ stringPtr = sText_PlayerDefeatedLinkTrainer;
+ break;
+ case B_OUTCOME_LOST:
+ stringPtr = sText_PlayerLostAgainstLinkTrainer;
+ break;
+ case B_OUTCOME_DREW:
+ stringPtr = sText_PlayerBattledToDrawLinkTrainer;
+ break;
+ }
+ }
+ }
+ break;
+ default: // load a string from the table
+ if (stringID >= BATTLESTRINGS_COUNT + BATTLESTRINGS_ID_ADDER)
+ {
+ gDisplayedStringBattle[0] = EOS;
+ return;
+ }
+ else
+ {
+ stringPtr = gBattleStringsTable[stringID - BATTLESTRINGS_ID_ADDER];
+ }
+ break;
+ }
+
+ BattleStringExpandPlaceholdersToDisplayedString(stringPtr);
+}
+
+u32 BattleStringExpandPlaceholdersToDisplayedString(const u8* src)
+{
+ BattleStringExpandPlaceholders(src, gDisplayedStringBattle);
+}
+
+const u8* TryGetStatusString(u8 *src)
+{
+ u32 i;
+ u8 status[] = _("$$$$$$$");
+ u32 chars1, chars2;
+ u8* statusPtr;
+
+ statusPtr = status;
+ for (i = 0; i < 8; i++)
+ {
+ if (*src == EOS)
+ break;
+ *statusPtr = *src;
+ src++;
+ statusPtr++;
+ }
+
+ chars1 = *(u32*)(&status[0]);
+ chars2 = *(u32*)(&status[4]);
+
+ for (i = 0; i < ARRAY_COUNT(gStatusConditionStringsTable); i++)
+ {
+ if (chars1 == *(u32*)(&gStatusConditionStringsTable[i][0][0])
+ && chars2 == *(u32*)(&gStatusConditionStringsTable[i][0][4]))
+ return gStatusConditionStringsTable[i][1];
+ }
+ return NULL;
+}
+
+#define HANDLE_NICKNAME_STRING_CASE(battlerId, monIndex) \
+ if (GetBattlerSide(battlerId) != B_SIDE_PLAYER) \
+ { \
+ if (gBattleTypeFlags & BATTLE_TYPE_TRAINER) \
+ toCpy = sText_FoePkmnPrefix; \
+ else \
+ toCpy = sText_WildPkmnPrefix; \
+ while (*toCpy != EOS) \
+ { \
+ dst[dstID] = *toCpy; \
+ dstID++; \
+ toCpy++; \
+ } \
+ GetMonData(&gEnemyParty[monIndex], MON_DATA_NICKNAME, text); \
+ } \
+ else \
+ { \
+ GetMonData(&gPlayerParty[monIndex], MON_DATA_NICKNAME, text); \
+ } \
+ StringGetEnd10(text); \
+ toCpy = text;
+
+u32 BattleStringExpandPlaceholders(const u8 *src, u8 *dst)
+{
+ u32 dstID = 0; // if they used dstID, why not use srcID as well?
+ const u8 *toCpy = NULL;
+ u8 text[30];
+ u8 multiplayerId;
+ s32 i;
+
+ multiplayerId = GetMultiplayerId();
+
+ while (*src != EOS)
+ {
+ if (*src == PLACEHOLDER_BEGIN)
+ {
+ src++;
+ switch (*src)
+ {
+ case B_TXT_BUFF1:
+ if (gBattleTextBuff1[0] == B_BUFF_PLACEHOLDER_BEGIN)
+ {
+ ExpandBattleTextBuffPlaceholders(gBattleTextBuff1, gStringVar1);
+ toCpy = gStringVar1;
+ }
+ else
+ {
+ toCpy = TryGetStatusString(gBattleTextBuff1);
+ if (toCpy == NULL)
+ toCpy = gBattleTextBuff1;
+ }
+ break;
+ case B_TXT_BUFF2:
+ if (gBattleTextBuff2[0] == B_BUFF_PLACEHOLDER_BEGIN)
+ {
+ ExpandBattleTextBuffPlaceholders(gBattleTextBuff2, gStringVar2);
+ toCpy = gStringVar2;
+ }
+ else
+ toCpy = gBattleTextBuff2;
+ break;
+ case B_TXT_BUFF3:
+ if (gBattleTextBuff3[0] == B_BUFF_PLACEHOLDER_BEGIN)
+ {
+ ExpandBattleTextBuffPlaceholders(gBattleTextBuff3, gStringVar3);
+ toCpy = gStringVar3;
+ }
+ else
+ toCpy = gBattleTextBuff3;
+ break;
+ case B_TXT_COPY_VAR_1:
+ toCpy = gStringVar1;
+ break;
+ case B_TXT_COPY_VAR_2:
+ toCpy = gStringVar2;
+ break;
+ case B_TXT_COPY_VAR_3:
+ toCpy = gStringVar3;
+ break;
+ case B_TXT_PLAYER_MON1_NAME: // first player poke name
+ GetMonData(&gPlayerParty[gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_LEFT)]],
+ MON_DATA_NICKNAME, text);
+ StringGetEnd10(text);
+ toCpy = text;
+ break;
+ case B_TXT_OPPONENT_MON1_NAME: // first enemy poke name
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_OPPONENT_LEFT)]],
+ MON_DATA_NICKNAME, text);
+ StringGetEnd10(text);
+ toCpy = text;
+ break;
+ case B_TXT_PLAYER_MON2_NAME: // second player poke name
+ GetMonData(&gPlayerParty[gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_PLAYER_RIGHT)]],
+ MON_DATA_NICKNAME, text);
+ StringGetEnd10(text);
+ toCpy = text;
+ break;
+ case B_TXT_OPPONENT_MON2_NAME: // second enemy poke name
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[GetBattlerAtPosition(B_POSITION_OPPONENT_RIGHT)]],
+ MON_DATA_NICKNAME, text);
+ StringGetEnd10(text);
+ toCpy = text;
+ break;
+ case B_TXT_LINK_PLAYER_MON1_NAME: // link first player poke name
+ GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerId].id]],
+ MON_DATA_NICKNAME, text);
+ StringGetEnd10(text);
+ toCpy = text;
+ break;
+ case B_TXT_LINK_OPPONENT_MON1_NAME: // link first opponent poke name
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerId].id ^ 1]],
+ MON_DATA_NICKNAME, text);
+ StringGetEnd10(text);
+ toCpy = text;
+ break;
+ case B_TXT_LINK_PLAYER_MON2_NAME: // link second player poke name
+ GetMonData(&gPlayerParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerId].id ^ 2]],
+ MON_DATA_NICKNAME, text);
+ StringGetEnd10(text);
+ toCpy = text;
+ break;
+ case B_TXT_LINK_OPPONENT_MON2_NAME: // link second opponent poke name
+ GetMonData(&gEnemyParty[gBattlerPartyIndexes[gLinkPlayers[multiplayerId].id ^ 3]],
+ MON_DATA_NICKNAME, text);
+ StringGetEnd10(text);
+ toCpy = text;
+ break;
+ case B_TXT_ATK_NAME_WITH_PREFIX_MON1: // attacker name with prefix, only battlerId 0/1
+ HANDLE_NICKNAME_STRING_CASE(gBattlerAttacker,
+ gBattlerPartyIndexes[GetBattlerAtPosition(GET_BATTLER_SIDE(gBattlerAttacker))])
+ break;
+ case B_TXT_ATK_PARTNER_NAME: // attacker partner name
+ if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER)
+ GetMonData(
+ &gPlayerParty[gBattlerPartyIndexes[GetBattlerAtPosition(GET_BATTLER_SIDE(gBattlerAttacker)) +
+ 2]], MON_DATA_NICKNAME, text);
+ else
+ GetMonData(
+ &gEnemyParty[gBattlerPartyIndexes[GetBattlerAtPosition(GET_BATTLER_SIDE(gBattlerAttacker)) +
+ 2]], MON_DATA_NICKNAME, text);
+
+ StringGetEnd10(text);
+ toCpy = text;
+ break;
+ case B_TXT_ATK_NAME_WITH_PREFIX: // attacker name with prefix
+ HANDLE_NICKNAME_STRING_CASE(gBattlerAttacker, gBattlerPartyIndexes[gBattlerAttacker])
+ break;
+ case B_TXT_DEF_NAME_WITH_PREFIX: // target name with prefix
+ HANDLE_NICKNAME_STRING_CASE(gBattlerTarget, gBattlerPartyIndexes[gBattlerTarget])
+ break;
+ case B_TXT_EFF_NAME_WITH_PREFIX: // effect battlerId name with prefix
+ HANDLE_NICKNAME_STRING_CASE(gEffectBattler, gBattlerPartyIndexes[gEffectBattler])
+ break;
+ case B_TXT_ACTIVE_NAME_WITH_PREFIX: // active battlerId name with prefix
+ HANDLE_NICKNAME_STRING_CASE(gActiveBattler, gBattlerPartyIndexes[gActiveBattler])
+ break;
+ case B_TXT_SCR_ACTIVE_NAME_WITH_PREFIX: // scripting active battlerId name with prefix
+ HANDLE_NICKNAME_STRING_CASE(gBattleScripting.battler, gBattlerPartyIndexes[gBattleScripting.battler])
+ break;
+ case B_TXT_CURRENT_MOVE: // current move name
+ if (gBattleMsgDataPtr->currentMove >= MOVES_COUNT)
+ toCpy = (const u8 *)&sATypeMove_Table[gBattleStruct->stringMoveType];
+ else
+ toCpy = gMoveNames[gBattleMsgDataPtr->currentMove];
+ break;
+ case B_TXT_LAST_MOVE: // originally used move name
+ if (gBattleMsgDataPtr->originallyUsedMove >= MOVES_COUNT)
+ toCpy = (const u8 *)&sATypeMove_Table[gBattleStruct->stringMoveType];
+ else
+ toCpy = gMoveNames[gBattleMsgDataPtr->originallyUsedMove];
+ break;
+ case B_TXT_LAST_ITEM: // last used item
+ if (gBattleTypeFlags & BATTLE_TYPE_LINK)
+ {
+ if (gLastUsedItem == ITEM_ENIGMA_BERRY)
+ {
+ if (!(gBattleTypeFlags & BATTLE_TYPE_MULTI))
+ {
+ if ((gBattleStruct->multiplayerId != 0 && (gPotentialItemEffectBattler & BIT_SIDE))
+ || (gBattleStruct->multiplayerId == 0 && !(gPotentialItemEffectBattler & BIT_SIDE)))
+ {
+ StringCopy(text, gEnigmaBerries[gPotentialItemEffectBattler].name);
+ StringAppend(text, sText_BerrySuffix);
+ toCpy = text;
+ }
+ else
+ {
+ toCpy = sText_EnigmaBerry;
+ }
+ }
+ else
+ {
+ if (gLinkPlayers[gBattleStruct->multiplayerId].id == gPotentialItemEffectBattler)
+ {
+ StringCopy(text, gEnigmaBerries[gPotentialItemEffectBattler].name);
+ StringAppend(text, sText_BerrySuffix);
+ toCpy = text;
+ }
+ else
+ toCpy = sText_EnigmaBerry;
+ }
+ }
+ else
+ {
+ CopyItemName(gLastUsedItem, text);
+ toCpy = text;
+ }
+ }
+ else
+ {
+ CopyItemName(gLastUsedItem, text);
+ toCpy = text;
+ }
+ break;
+ case B_TXT_LAST_ABILITY: // last used ability
+ toCpy = gAbilityNames[gLastUsedAbility];
+ break;
+ case B_TXT_ATK_ABILITY: // attacker ability
+ toCpy = gAbilityNames[sBattlerAbilities[gBattlerAttacker]];
+ break;
+ case B_TXT_DEF_ABILITY: // target ability
+ toCpy = gAbilityNames[sBattlerAbilities[gBattlerTarget]];
+ break;
+ case B_TXT_SCR_ACTIVE_ABILITY: // scripting active ability
+ toCpy = gAbilityNames[sBattlerAbilities[gBattleScripting.battler]];
+ break;
+ case B_TXT_EFF_ABILITY: // effect battlerId ability
+ toCpy = gAbilityNames[sBattlerAbilities[gEffectBattler]];
+ break;
+ case B_TXT_TRAINER1_CLASS: // trainer class name
+ if (gTrainerBattleOpponent_A == SECRET_BASE_OPPONENT)
+ toCpy = gTrainerClassNames[GetSecretBaseTrainerNameIndex()];
+ else if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_C00)
+ toCpy = gTrainerClassNames[sub_80447F0()];
+ else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER)
+ toCpy = gTrainerClassNames[GetBattleTowerTrainerClassNameId()];
+ else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_TOWER)
+ toCpy = gTrainerClassNames[sub_815DA10()];
+ else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER)
+ toCpy = gTrainerClassNames[GetEreaderTrainerClassId()];
+ else
+ toCpy = gTrainerClassNames[gTrainers[gTrainerBattleOpponent_A].trainerClass];
+ break;
+ case B_TXT_TRAINER1_NAME: // trainer1 name
+ if (gTrainerBattleOpponent_A == SECRET_BASE_OPPONENT)
+ {
+ for (i = 0; i < (s32) ARRAY_COUNT(gBattleResources->secretBase->trainerName); i++)
+ text[i] = gBattleResources->secretBase->trainerName[i];
+ text[i] = EOS;
+ toCpy = text;
+ }
+ if (gTrainerBattleOpponent_A == TRAINER_OPPONENT_C00)
+ {
+ toCpy = gLinkPlayers[multiplayerId ^ BIT_SIDE].name;
+ }
+ else if (gBattleTypeFlags & BATTLE_TYPE_BATTLE_TOWER)
+ {
+ GetBattleTowerTrainerName(text);
+ }
+ else if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_TOWER)
+ {
+ sub_815DA28(text);
+ toCpy = text;
+ }
+ else if (gBattleTypeFlags & BATTLE_TYPE_EREADER_TRAINER)
+ {
+ CopyEReaderTrainerName5(text);
+ toCpy = text;
+ }
+ else
+ {
+ if (gTrainers[gTrainerBattleOpponent_A].trainerClass == CLASS_RIVAL
+ || gTrainers[gTrainerBattleOpponent_A].trainerClass == CLASS_RIVAL_2
+ || gTrainers[gTrainerBattleOpponent_A].trainerClass == CLASS_CHAMPION_2)
+ toCpy = GetExpandedPlaceholder(6);
+ else
+ toCpy = gTrainers[gTrainerBattleOpponent_A].trainerName;
+ }
+ break;
+ case B_TXT_LINK_PLAYER_NAME: // link player name
+ toCpy = gLinkPlayers[multiplayerId].name;
+ break;
+ case B_TXT_LINK_PARTNER_NAME: // link partner name
+ toCpy = gLinkPlayers[GetBattlerMultiplayerId(BATTLE_PARTNER(gLinkPlayers[multiplayerId].id))].name;
+ break;
+ case B_TXT_LINK_OPPONENT1_NAME: // link opponent 1 name
+ toCpy = gLinkPlayers[GetBattlerMultiplayerId(BATTLE_OPPOSITE(gLinkPlayers[multiplayerId].id))].name;
+ break;
+ case B_TXT_LINK_OPPONENT2_NAME: // link opponent 2 name
+ toCpy = gLinkPlayers[GetBattlerMultiplayerId(
+ BATTLE_PARTNER(BATTLE_OPPOSITE(gLinkPlayers[multiplayerId].id)))].name;
+ break;
+ case B_TXT_LINK_SCR_TRAINER_NAME: // link scripting active name
+ toCpy = gLinkPlayers[GetBattlerMultiplayerId(gBattleScripting.battler)].name;
+ break;
+ case B_TXT_PLAYER_NAME: // player name
+ toCpy = gSaveBlock2Ptr->playerName;
+ break;
+ case B_TXT_TRAINER1_LOSE_TEXT: // trainerA lose text
+ if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_TOWER)
+ {
+ sub_815DC40(gStringVar4, 0);
+ toCpy = gStringVar4;
+ }
+ else
+ {
+ toCpy = GetTrainerALoseText();
+ }
+ break;
+ case B_TXT_TRAINER1_WIN_TEXT: // trainerA win text
+ if (gBattleTypeFlags & BATTLE_TYPE_TRAINER_TOWER)
+ {
+ sub_815DBF4(gStringVar4, 0);
+ toCpy = gStringVar4;
+ }
+ else
+ {
+ toCpy = GetTrainerWonSpeech();
+ }
+ break;
+ case B_TXT_TRAINER2_LOSE_TEXT:
+ sub_815DC40(gStringVar4, 1);
+ toCpy = gStringVar4;
+ break;
+ case B_TXT_TRAINER2_WIN_TEXT:
+ sub_815DBF4(gStringVar4, 1);
+ toCpy = gStringVar4;
+ break;
+ case B_TXT_26: // ?
+ HANDLE_NICKNAME_STRING_CASE(gBattleScripting.battler, *(&gBattleStruct->field_52))
+ break;
+ case B_TXT_PC_CREATOR_NAME: // lanette pc
+ if (FlagGet(FLAG_SYS_NOT_SOMEONES_PC))
+ toCpy = sText_Bills;
+ else
+ toCpy = sText_Someones;
+ break;
+ case B_TXT_ATK_PREFIX2:
+ if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER)
+ toCpy = sText_AllyPkmnPrefix2;
+ else
+ toCpy = sText_FoePkmnPrefix3;
+ break;
+ case B_TXT_DEF_PREFIX2:
+ if (GetBattlerSide(gBattlerTarget) == B_SIDE_PLAYER)
+ toCpy = sText_AllyPkmnPrefix2;
+ else
+ toCpy = sText_FoePkmnPrefix3;
+ break;
+ case B_TXT_ATK_PREFIX1:
+ if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER)
+ toCpy = sText_AllyPkmnPrefix;
+ else
+ toCpy = sText_FoePkmnPrefix2;
+ break;
+ case B_TXT_DEF_PREFIX1:
+ if (GetBattlerSide(gBattlerTarget) == B_SIDE_PLAYER)
+ toCpy = sText_AllyPkmnPrefix;
+ else
+ toCpy = sText_FoePkmnPrefix2;
+ break;
+ case B_TXT_ATK_PREFIX3:
+ if (GetBattlerSide(gBattlerAttacker) == B_SIDE_PLAYER)
+ toCpy = sText_AllyPkmnPrefix3;
+ else
+ toCpy = sText_FoePkmnPrefix4;
+ break;
+ case B_TXT_DEF_PREFIX3:
+ if (GetBattlerSide(gBattlerTarget) == B_SIDE_PLAYER)
+ toCpy = sText_AllyPkmnPrefix3;
+ else
+ toCpy = sText_FoePkmnPrefix4;
+ break;
+ }
+
+ // missing if (toCpy != NULL) check
+ while (*toCpy != EOS)
+ {
+ dst[dstID] = *toCpy;
+ dstID++;
+ toCpy++;
+ }
+ if (*src == B_TXT_TRAINER1_LOSE_TEXT || *src == B_TXT_TRAINER1_WIN_TEXT
+ || *src == B_TXT_TRAINER2_LOSE_TEXT || *src == B_TXT_TRAINER2_WIN_TEXT)
+ {
+ dst[dstID] = EXT_CTRL_CODE_BEGIN;
+ dstID++;
+ dst[dstID] = 9;
+ dstID++;
+ }
+ }
+ else
+ {
+ dst[dstID] = *src;
+ dstID++;
+ }
+ src++;
+ }
+
+ dst[dstID] = *src;
+ dstID++;
+
+ return dstID;
+}
+
+const struct BattleWindowText gUnknown_83FEB64[] = {
+ {PIXEL_FILL(0xf), 2, 0x02, 2, 0, 2, 1, 0x1, 0xf, 0x6},
+ {PIXEL_FILL(0xf), 2, 0x02, 2, 0, 2, 0, 0x1, 0xf, 0x6},
+ {PIXEL_FILL(0xe), 1, 0x00, 2, 0, 2, 0, 0xd, 0xe, 0xf},
+ {PIXEL_FILL(0xe), 0, 0x00, 1, 0, 0, 0, 0xd, 0xe, 0xf},
+ {PIXEL_FILL(0xe), 0, 0x00, 1, 0, 0, 0, 0xd, 0xe, 0xf},
+ {PIXEL_FILL(0xe), 0, 0x00, 1, 0, 0, 0, 0xd, 0xe, 0xf},
+ {PIXEL_FILL(0xe), 0, 0x00, 1, 0, 0, 0, 0xd, 0xe, 0xf},
+ {PIXEL_FILL(0xe), 0, 0x00, 2, 0, 0, 0, 0xc, 0xe, 0xb},
+ {PIXEL_FILL(0xe), 0, 0x00, 2, 0, 0, 0, 0xd, 0xe, 0xf},
+ {PIXEL_FILL(0xe), 1, 0x0a, 2, 0, 2, 0, 0xc, 0xe, 0xb},
+ {PIXEL_FILL(0xe), 1, 0x00, 2, 0, 2, 0, 0xd, 0xe, 0xf},
+ {PIXEL_FILL(0xe), 1, 0x00, 2, 0, 2, 0, 0xd, 0xe, 0xf},
+ {PIXEL_FILL(0xe), 2, 0x00, 0, 0, 0, 0, 0xd, 0xe, 0xf},
+ {PIXEL_FILL(0x0), 0, 0x20, 0, 0, 0, 0, 0x1, 0x0, 0x2},
+ {PIXEL_FILL(0xe), 2, 0x00, 2, 1, 2, 0, 0xd, 0xe, 0xf},
+ {PIXEL_FILL(0xe), 2, 0x00, 2, 0, 0, 0, 0xd, 0xe, 0xf},
+ {PIXEL_FILL(0xe), 2, 0x00, 2, 0, 0, 0, 0xd, 0xe, 0xf},
+ {PIXEL_FILL(0xe), 2, 0x00, 2, 0, 0, 0, 0xd, 0xe, 0xf},
+ {PIXEL_FILL(0xe), 2, 0x00, 2, 0, 0, 0, 0xd, 0xe, 0xf},
+ {PIXEL_FILL(0xe), 2, 0x00, 2, 0, 0, 0, 0xd, 0xe, 0xf},
+ {PIXEL_FILL(0xe), 2, 0x00, 2, 0, 0, 0, 0xd, 0xe, 0xf},
+ {PIXEL_FILL(0x0), 2, 0x00, 2, 0, 0, 0, 0x1, 0x0, 0x6},
+ {PIXEL_FILL(0x0), 2, 0x00, 2, 0, 0, 0, 0x1, 0x0, 0x6},
+ {PIXEL_FILL(0x0), 2, 0x00, 2, 0, 0, 0, 0x1, 0x0, 0x6},
+ {PIXEL_FILL(0x1), 4, 0x00, 1, 0, 1, 1, 0x2, 0x1, 0x3}
+};
+
+const u8 gUnknown_83FEC90[] = {0x04, 0x05, 0x02, 0x02};
diff --git a/sym_ewram.txt b/sym_ewram.txt
index f2ebbb771..e068902f2 100644
--- a/sym_ewram.txt
+++ b/sym_ewram.txt
@@ -426,14 +426,8 @@ gPlayerFacingPosition: @ 2039A04
.include "src/coins.o"
.align 2
.include "src/battle_transition.o"
-
.align 2
-gUnknown_2039A30: @ 2039A30
- .space 0x4
-
-gUnknown_2039A34: @ 2039A34
- .space 0x4
-
+ .include "src/battle_message.o"
.align 2
.include "src/save.o"
.align 2