battle message huge take off

This commit is contained in:
DizzyEggg 2017-10-07 15:15:47 +02:00
parent 07e29b70bc
commit db63fc1a09
12 changed files with 1857 additions and 2829 deletions

View File

@ -20577,7 +20577,7 @@ _081A5328:
movs r0, 0x1 movs r0, 0x1
negs r0, r0 negs r0, r0
strb r0, [r1, 0x1] strb r0, [r1, 0x1]
ldr r0, =gText_JapaneseHonorific ldr r0, =gText_PlayerMon1Name
bl BattleStringExpandPlaceholdersToDisplayedString bl BattleStringExpandPlaceholdersToDisplayedString
ldr r4, =gDisplayedStringBattle ldr r4, =gDisplayedStringBattle
adds r0, r4, 0 adds r0, r4, 0
@ -20586,7 +20586,7 @@ _081A5328:
ldr r0, =gText_Vs ldr r0, =gText_Vs
movs r1, 0x10 movs r1, 0x10
bl sub_814F9EC bl sub_814F9EC
ldr r0, =gText_RivalBuffer ldr r0, =gText_OpponentMon1Name
bl BattleStringExpandPlaceholdersToDisplayedString bl BattleStringExpandPlaceholdersToDisplayedString
adds r0, r4, 0 adds r0, r4, 0
movs r1, 0x11 movs r1, 0x11

View File

@ -665,7 +665,7 @@ _0817D16C:
bl _0817DFAC bl _0817DFAC
.pool .pool
_0817D1B8: _0817D1B8:
ldr r1, =gUnknown_02022F5C ldr r1, =gBattleTextBuff1 + 4
ldrb r0, [r1] ldrb r0, [r1]
cmp r0, 0 cmp r0, 0
beq _0817D1C4 beq _0817D1C4
@ -917,7 +917,7 @@ _0817D3C0:
bne _0817D3CC bne _0817D3CC
bl _0817E0A6 bl _0817E0A6
_0817D3CC: _0817D3CC:
ldr r1, =gUnknown_02022F6A ldr r1, =gBattleTextBuff2 + 2
ldrh r0, [r1] ldrh r0, [r1]
cmp r0, 0xD1 cmp r0, 0xD1
bne _0817D3E8 bne _0817D3E8
@ -946,7 +946,7 @@ _0817D3FE:
ldrb r1, [r1] ldrb r1, [r1]
cmp r0, r1 cmp r0, r1
bne _0817D436 bne _0817D436
ldr r1, =gUnknown_02022F6A ldr r1, =gBattleTextBuff2 + 2
ldrh r0, [r1] ldrh r0, [r1]
cmp r0, 0xD1 cmp r0, 0xD1
bne _0817D42C bne _0817D42C
@ -988,7 +988,7 @@ _0817D45C:
bne _0817D468 bne _0817D468
bl _0817E0A6 bl _0817E0A6
_0817D468: _0817D468:
ldr r1, =gUnknown_02022F6A ldr r1, =gBattleTextBuff2 + 2
ldrh r0, [r1] ldrh r0, [r1]
cmp r0, 0xD3 cmp r0, 0xD3
bne _0817D484 bne _0817D484
@ -2182,7 +2182,7 @@ _0817DE10:
b _0817DFAA b _0817DFAA
.pool .pool
_0817DE58: _0817DE58:
ldr r1, =gUnknown_02022F5A ldr r1, =gBattleTextBuff1 + 2
ldrh r0, [r1] ldrh r0, [r1]
cmp r0, 0x73 cmp r0, 0x73
bne _0817DE82 bne _0817DE82
@ -2204,7 +2204,7 @@ _0817DE58:
ands r0, r2 ands r0, r2
strb r0, [r1] strb r0, [r1]
_0817DE82: _0817DE82:
ldr r2, =gUnknown_02022F5A ldr r2, =gBattleTextBuff1 + 2
ldrh r0, [r2] ldrh r0, [r2]
cmp r0, 0x71 cmp r0, 0x71
bne _0817DEAA bne _0817DEAA
@ -2225,7 +2225,7 @@ _0817DE82:
ands r0, r2 ands r0, r2
strb r0, [r1] strb r0, [r1]
_0817DEAA: _0817DEAA:
ldr r1, =gUnknown_02022F5A ldr r1, =gBattleTextBuff1 + 2
ldrh r0, [r1] ldrh r0, [r1]
cmp r0, 0x36 cmp r0, 0x36
beq _0817DEB4 beq _0817DEB4

View File

@ -5,700 +5,6 @@
.text .text
thumb_func_start BufferStringBattle
BufferStringBattle: @ 814E0C4
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, =gStringInfo
ldr r0, =gActiveBank
mov r8, r0
ldrb r1, [r0]
lsls r1, 9
ldr r0, =gBattleBufferA + 4
adds r1, r0
str r1, [r4]
ldr r2, =gLastUsedItem
ldrh r0, [r1, 0x4]
strh r0, [r2]
ldr r2, =gLastUsedAbility
ldrb r0, [r1, 0x6]
strb r0, [r2]
ldr r5, =gBattleScripting
ldrb r0, [r1, 0x7]
strb r0, [r5, 0x17]
ldr r3, =gBattleStruct
ldr r0, [r3]
adds r0, 0x52
ldrb r1, [r1, 0x8]
strb r1, [r0]
ldr r0, [r3]
adds r0, 0xB1
ldr r1, [r4]
ldrb r1, [r1, 0x9]
strb r1, [r0]
ldr r1, =gStringBank
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 r9, r5
ldr r1, =gBattleTextBuff1
mov r10, r1
ldr r3, =gAbilitiesPerBank
_0814E126:
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 _0814E126
movs r2, 0
ldr r0, =gBattleTextBuff1
mov r8, r0
ldr r3, =gStringInfo
ldr r5, =gBattleTextBuff2
ldr r4, =gBattleTextBuff3
_0814E144:
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 _0814E144
cmp r6, 0x5
bls _0814E176
b _0814E6B8
_0814E176:
lsls r0, r6, 2
ldr r1, =_0814E1B4
adds r0, r1
ldr r0, [r0]
mov pc, r0
.pool
.align 2, 0
_0814E1B4:
.4byte _0814E1CC
.4byte _0814E2AC
.4byte _0814E394
.4byte _0814E430
.4byte _0814E4F8
.4byte _0814E55C
_0814E1CC:
ldr r0, =gBattleTypeFlags
ldr r2, [r0]
movs r0, 0x8
ands r0, r2
cmp r0, 0
beq _0814E26C
ldr r0, =0x02000002
ands r0, r2
cmp r0, 0
beq _0814E248
movs r0, 0x80
lsls r0, 16
ands r0, r2
cmp r0, 0
bne _0814E260
movs r0, 0x40
ands r0, r2
cmp r0, 0
beq _0814E214
movs r0, 0x80
lsls r0, 17
ands r2, r0
ldr r7, =gText_TwoTrainersWantToBattle
cmp r2, 0
bne _0814E200
b _0814E6D8
_0814E200:
ldr r7, =gText_TwoTrainersWantToBattle3
b _0814E6D8
.pool
_0814E214:
ldr r0, =gTrainerBattleOpponent_A
ldrh r1, [r0]
movs r0, 0xC0
lsls r0, 4
cmp r1, r0
bne _0814E22C
ldr r7, =gText_TrainerXYWantsToBattle
b _0814E6D8
.pool
_0814E22C:
movs r0, 0x80
lsls r0, 17
ands r2, r0
ldr r7, =gText_TrainerXWantsToBattle
cmp r2, 0
bne _0814E23A
b _0814E6D8
_0814E23A:
ldr r7, =gText_TrainerWantsToBattle
b _0814E6D8
.pool
_0814E248:
movs r0, 0x80
lsls r0, 15
ands r0, r2
cmp r0, 0
bne _0814E260
movs r0, 0x80
lsls r0, 8
ands r2, r0
ldr r7, =gText_TrainerXYWantsToBattle
cmp r2, 0
bne _0814E260
b _0814E6D8
_0814E260:
ldr r7, =gText_TwoTrainersWantToBattle2
b _0814E6D8
.pool
_0814E26C:
movs r0, 0x80
lsls r0, 6
ands r0, r2
cmp r0, 0
beq _0814E280
ldr r7, =gText_WildPkmnAppeared2
b _0814E6D8
.pool
_0814E280:
movs r0, 0x1
ands r0, r2
cmp r0, 0
beq _0814E290
ldr r7, =gText_TwoWildPkmnAppeared
b _0814E6D8
.pool
_0814E290:
movs r0, 0x80
lsls r0, 2
ands r2, r0
ldr r7, =gText_WildPkmnAppeared
cmp r2, 0
bne _0814E29E
b _0814E6D8
_0814E29E:
ldr r7, =gText_WildPkmnAppearedPause
b _0814E6D8
.pool
_0814E2AC:
mov r1, r12
ldrb r0, [r1]
bl GetBankSide
lsls r0, 24
cmp r0, 0
bne _0814E310
ldr r0, =gBattleTypeFlags
ldr r1, [r0]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _0814E308
movs r0, 0x80
lsls r0, 15
ands r0, r1
cmp r0, 0
beq _0814E2DC
ldr r7, =gText_TrainerXYSentOutZGoN
b _0814E6D8
.pool
_0814E2DC:
movs r0, 0x80
lsls r0, 8
ands r0, r1
cmp r0, 0
beq _0814E2F0
ldr r7, =gText_GoTwoPkmn
b _0814E6D8
.pool
_0814E2F0:
movs r0, 0x40
ands r1, r0
ldr r7, =gText_GoTwoPkmn
cmp r1, 0
bne _0814E2FC
b _0814E6D8
_0814E2FC:
ldr r7, =gText_EnemySentOutPkmnGoPkmn
b _0814E6D8
.pool
_0814E308:
ldr r7, =gText_GoPkmn
b _0814E6D8
.pool
_0814E310:
ldr r0, =gBattleTypeFlags
ldr r1, [r0]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _0814E368
movs r0, 0x80
lsls r0, 8
ands r0, r1
cmp r0, 0
bne _0814E330
movs r0, 0x80
lsls r0, 16
ands r0, r1
cmp r0, 0
beq _0814E33C
_0814E330:
ldr r7, =gText_TwoTrainersSentPkmn
b _0814E6D8
.pool
_0814E33C:
movs r0, 0x40
ands r0, r1
cmp r0, 0
beq _0814E34C
ldr r7, =gText_TwoTrainersSentOutPkmn
b _0814E6D8
.pool
_0814E34C:
ldr r0, =0x02000002
ands r1, r0
ldr r7, =gText_TrainerXYSentOutTwoPkmn
cmp r1, 0
bne _0814E358
b _0814E6D8
_0814E358:
ldr r7, =gText_TrainerXSentOutTwoPkmn
b _0814E6D8
.pool
_0814E368:
ldr r0, =0x02000002
ands r1, r0
cmp r1, 0
beq _0814E380
ldr r0, =gTrainerBattleOpponent_A
ldrh r1, [r0]
movs r0, 0xC0
lsls r0, 4
ldr r7, =gText_TrainerXSentOutPkmn
cmp r1, r0
beq _0814E380
b _0814E6D8
_0814E380:
ldr r7, =gText_TrainerXYSentOutPkmn
b _0814E6D8
.pool
_0814E394:
mov r1, r12
ldrb r0, [r1]
bl GetBankSide
lsls r0, 24
cmp r0, 0
bne _0814E3EC
ldr r0, =gBattleStruct
ldr r0, [r0]
adds r0, 0xB1
ldrb r2, [r0]
cmp r2, 0
bne _0814E3BC
ldr r7, =gText_PkmnThatsEnough
b _0814E6D8
.pool
_0814E3BC:
cmp r2, 0x1
beq _0814E3CC
ldr r0, =gBattleTypeFlags
ldr r0, [r0]
movs r1, 0x1
ands r0, r1
cmp r0, 0
beq _0814E3D8
_0814E3CC:
ldr r7, =gText_PkmnComeBack
b _0814E6D8
.pool
_0814E3D8:
ldr r7, =gText_PkmnGoodComeBack
cmp r2, 0x2
beq _0814E3E0
b _0814E6D8
_0814E3E0:
ldr r7, =gText_PkmnOkComeBack
b _0814E6D8
.pool
_0814E3EC:
ldr r0, =gTrainerBattleOpponent_A
ldrh r1, [r0]
movs r0, 0x80
lsls r0, 4
ldr r2, =gBattleTypeFlags
cmp r1, r0
beq _0814E406
ldr r0, [r2]
movs r1, 0x80
lsls r1, 18
ands r0, r1
cmp r0, 0
beq _0814E428
_0814E406:
ldr r0, [r2]
movs r1, 0x40
ands r0, r1
ldr r7, =gText_TrainerXWithdrewPkmn
cmp r0, 0
bne _0814E414
b _0814E6D8
_0814E414:
ldr r7, =gText_TrainerXWithdrewPkmn2
b _0814E6D8
.pool
_0814E428:
ldr r7, =gText_TrainerXYWithdrewPkmn
b _0814E6D8
.pool
_0814E430:
mov r4, r9
ldrb r0, [r4, 0x17]
bl GetBankSide
lsls r0, 24
cmp r0, 0
bne _0814E488
ldr r0, =gBattleStruct
ldr r0, [r0]
adds r0, 0xB1
ldrb r2, [r0]
cmp r2, 0
beq _0814E456
ldr r0, =gBattleTypeFlags
ldr r0, [r0]
movs r1, 0x1
ands r0, r1
cmp r0, 0
beq _0814E468
_0814E456:
ldr r7, =gText_GoPkmn2
b _0814E6D8
.pool
_0814E468:
cmp r2, 0x1
bne _0814E474
ldr r7, =gText_DoItPkmn
b _0814E6D8
.pool
_0814E474:
ldr r7, =gText_YourFoesWeakGetEmPkmn
cmp r2, 0x2
beq _0814E47C
b _0814E6D8
_0814E47C:
ldr r7, =gText_GoForItPkmn
b _0814E6D8
.pool
_0814E488:
ldr r0, =gBattleTypeFlags
ldr r1, [r0]
ldr r0, =0x02000002
ands r0, r1
cmp r0, 0
beq _0814E4DC
movs r0, 0x80
lsls r0, 16
ands r0, r1
cmp r0, 0
beq _0814E4AC
ldrb r0, [r4, 0x17]
b _0814E4EA
.pool
_0814E4AC:
movs r0, 0x40
ands r1, r0
cmp r1, 0
beq _0814E4BC
ldr r7, =gText_TrainerXSentOutPkmn3
b _0814E6D8
.pool
_0814E4BC:
ldr r0, =gTrainerBattleOpponent_A
ldrh r1, [r0]
movs r0, 0xC0
lsls r0, 4
ldr r7, =gText_TrainerXSentOutPkmn2
cmp r1, r0
beq _0814E4CC
b _0814E6D8
_0814E4CC:
ldr r7, =gText_TrainerXYSentOutPkmn2
b _0814E6D8
.pool
_0814E4DC:
movs r0, 0x80
lsls r0, 8
ands r1, r0
cmp r1, 0
beq _0814E4CC
mov r1, r9
ldrb r0, [r1, 0x17]
_0814E4EA:
ldr r7, =gText_TrainerXYSentOutPkmn3
cmp r0, 0x1
beq _0814E4F2
b _0814E6D8
_0814E4F2:
b _0814E4CC
.pool
_0814E4F8:
mov r0, r10
bl sub_814F8F8
ldr r0, =gStringInfo
ldr r2, [r0]
ldrh r1, [r2]
movs r0, 0xB1
lsls r0, 1
cmp r1, r0
bls _0814E534
ldr r0, =gBattleTextBuff2
ldr r1, =gBattleStruct
ldr r1, [r1]
adds r1, 0x8E
ldrb r2, [r1]
lsls r1, r2, 4
adds r1, r2
ldr r2, =gText_UnknownMoveTypes
adds r1, r2
bl StringCopy
b _0814E544
.pool
_0814E534:
ldr r0, =gBattleTextBuff2
ldrh r2, [r2]
movs r1, 0xD
muls r1, r2
ldr r2, =gMoveNames
adds r1, r2
bl StringCopy
_0814E544:
ldr r0, =gBattleTextBuff2
bl sub_814F950
ldr r7, =gText_XUsedY2
b _0814E6D8
.pool
_0814E55C:
ldr r4, =gBattleTextBuff1
ldrb r1, [r4]
movs r0, 0x80
ands r0, r1
cmp r0, 0
beq _0814E5C4
movs r0, 0x7F
ands r0, r1
strb r0, [r4]
mov r1, r12
ldrb r0, [r1]
bl GetBankSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0814E58A
ldrb r1, [r4]
cmp r1, 0x3
beq _0814E58A
movs r0, 0x3
eors r0, r1
strb r0, [r4]
_0814E58A:
ldr r0, =gBattleTextBuff1
ldrb r0, [r0]
subs r0, 0x2
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bhi _0814E5A4
ldr r7, =gText_GotAwaySafely
b _0814E6D8
.pool
_0814E5A4:
ldr r0, =gBattleTypeFlags
ldr r0, [r0]
movs r1, 0x40
ands r0, r1
ldr r7, =gText_WildFled
cmp r0, 0
bne _0814E5B4
b _0814E6D8
_0814E5B4:
ldr r7, =gText_TwoWildFled
b _0814E6D8
.pool
_0814E5C4:
mov r1, r12
ldrb r0, [r1]
bl GetBankSide
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _0814E5E0
ldrb r1, [r4]
cmp r1, 0x3
beq _0814E5E0
movs r0, 0x3
eors r0, r1
strb r0, [r4]
_0814E5E0:
ldr r0, =gBattleTypeFlags
ldr r1, [r0]
movs r0, 0x40
ands r0, r1
cmp r0, 0
beq _0814E638
ldr r0, =gBattleTextBuff1
ldrb r0, [r0]
cmp r0, 0x2
beq _0814E628
cmp r0, 0x2
bgt _0814E608
cmp r0, 0x1
beq _0814E60E
b _0814E6D8
.pool
_0814E608:
cmp r0, 0x3
beq _0814E630
b _0814E6D8
_0814E60E:
movs r0, 0x80
lsls r0, 16
ands r1, r0
ldr r7, =gText_PlayerBeatTwo
cmp r1, 0
beq _0814E6D8
ldr r7, =gText_TwoEnemiesDefeated
b _0814E6D8
.pool
_0814E628:
ldr r7, =gText_PlayerLostToTwo
b _0814E6D8
.pool
_0814E630:
ldr r7, =gText_PlayerBattledToDrawVsTwo
b _0814E6D8
.pool
_0814E638:
ldr r0, =gTrainerBattleOpponent_A
ldrh r1, [r0]
movs r0, 0xC0
lsls r0, 4
cmp r1, r0
bne _0814E680
ldr r0, =gBattleTextBuff1
ldrb r0, [r0]
cmp r0, 0x2
beq _0814E670
cmp r0, 0x2
bgt _0814E660
cmp r0, 0x1
beq _0814E666
b _0814E6D8
.pool
_0814E660:
cmp r0, 0x3
beq _0814E678
b _0814E6D8
_0814E666:
ldr r7, =gText_PlayerDefeatedXY
b _0814E6D8
.pool
_0814E670:
ldr r7, =gText_PlayerLostAgainst2
b _0814E6D8
.pool
_0814E678:
ldr r7, =gText_PlayerBattledToDraw2
b _0814E6D8
.pool
_0814E680:
ldr r0, =gBattleTextBuff1
ldrb r0, [r0]
cmp r0, 0x2
beq _0814E6A8
cmp r0, 0x2
bgt _0814E698
cmp r0, 0x1
beq _0814E69E
b _0814E6D8
.pool
_0814E698:
cmp r0, 0x3
beq _0814E6B0
b _0814E6D8
_0814E69E:
ldr r7, =gText_PlayerDefeated
b _0814E6D8
.pool
_0814E6A8:
ldr r7, =gText_PlayerLostAgainst
b _0814E6D8
.pool
_0814E6B0:
ldr r7, =gText_PlayerBattledToDraw
b _0814E6D8
.pool
_0814E6B8:
movs r0, 0xBE
lsls r0, 1
cmp r6, r0
bls _0814E6CC
ldr r1, =gDisplayedStringBattle
movs r0, 0xFF
strb r0, [r1]
b _0814E6DE
.pool
_0814E6CC:
ldr r1, =gBattleStringsTable
adds r0, r6, 0
subs r0, 0xC
lsls r0, 2
adds r0, r1
ldr r7, [r0]
_0814E6D8:
adds r0, r7, 0
bl BattleStringExpandPlaceholdersToDisplayedString
_0814E6DE:
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end BufferStringBattle
thumb_func_start BattleStringExpandPlaceholdersToDisplayedString thumb_func_start BattleStringExpandPlaceholdersToDisplayedString
BattleStringExpandPlaceholdersToDisplayedString: @ 814E6F0 BattleStringExpandPlaceholdersToDisplayedString: @ 814E6F0
push {lr} push {lr}

File diff suppressed because it is too large Load Diff

View File

@ -604,7 +604,7 @@ struct BattleStruct
u8 field_8B; u8 field_8B;
u8 field_8C; u8 field_8C;
u8 field_8D; u8 field_8D;
u8 field_8E; u8 stringMoveType;
u8 expGetterBank; u8 expGetterBank;
u8 field_90; u8 field_90;
u8 field_91; u8 field_91;

View File

@ -206,11 +206,19 @@ u32 BattleStringExpandPlaceholdersToDisplayedString(const u8* src);
u32 BattleStringExpandPlaceholders(const u8* src, u8* dst); u32 BattleStringExpandPlaceholders(const u8* src, u8* dst);
void sub_814F9EC(const u8* text, u8 arg1); void sub_814F9EC(const u8* text, u8 arg1);
extern u8 gBattleTextBuff1[]; #define TEXT_BUFF_ARRAY_COUNT 16
extern u8 gBattleTextBuff2[];
extern u8 gBattleTextBuff3[];
extern u8 gDisplayedStringBattle[];
extern u8 gDisplayedStringBattle[300];
extern u8 gBattleTextBuff1[TEXT_BUFF_ARRAY_COUNT];
extern u8 gBattleTextBuff2[TEXT_BUFF_ARRAY_COUNT];
extern u8 gBattleTextBuff3[TEXT_BUFF_ARRAY_COUNT];
extern const u8* const gStatNamesTable[];
extern const u8* const gPokeblockWasTooXStringTable[];
extern const u8* const gRefereeStringsTable[]; extern const u8* const gRefereeStringsTable[];
extern const u8* const gStatNamesTable2[];
extern const u16 gMissStringIds[];
extern const u16 gTrappingMoves[];
#endif // GUARD_BATTLE_MESSAGE_H #endif // GUARD_BATTLE_MESSAGE_H

385
include/battle_string_ids.h Normal file
View File

@ -0,0 +1,385 @@
#ifndef GUARD_BATTLE_STRING_IDS_H
#define GUARD_BATTLE_STRING_IDS_H
#define BATTLESTRINGS_COUNT 369
#define BATTLESTRINGS_ID_ADDER 12 // all battlestrings have its ID + 12, because first 5 are reserved
#define STRINGID_INTROMSG 0
#define STRINGID_INTROSENDOUT 1
#define STRINGID_RETURNMON 2
#define STRINGID_SWITCHINMON 3
#define STRINGID_USEDMOVE 4
#define STRINGID_BATTLEEND 5
#define STRINGID_TRAINER1LOSETEXT 12
#define STRINGID_PKMNGAINEDEXP 13
#define STRINGID_PKMNGREWTOLV 14
#define STRINGID_PKMNLEARNEDMOVE 15
#define STRINGID_TRYTOLEARNMOVE1 16
#define STRINGID_TRYTOLEARNMOVE2 17
#define STRINGID_TRYTOLEARNMOVE3 18
#define STRINGID_PKMNFORGOTMOVE 19
#define STRINGID_STOPLEARNINGMOVE 20
#define STRINGID_DIDNOTLEARNMOVE 21
#define STRINGID_PKMNLEARNEDMOVE2 22
#define STRINGID_ATTACKMISSED 23
#define STRINGID_PKMNPROTECTEDITSELF 24
#define STRINGID_STATSWONTINCREASE2 25
#define STRINGID_AVOIDEDDAMAGE 26
#define STRINGID_ITDOESNTAFFECT 27
#define STRINGID_PKMNFAINTED 28
#define STRINGID_PKMNFAINTED2 29
#define STRINGID_PLAYERGOTMONEY 30
#define STRINGID_PLAYERWHITEOUT 31
#define STRINGID_PLAYERWHITEOUT2 32
#define STRINGID_PREVENTSESCAPE 33
#define STRINGID_HITXTIMES 34
#define STRINGID_PKMNFELLASLEEP 35
#define STRINGID_PKMNMADESLEEP 36
#define STRINGID_PKMNALREADYASLEEP 37
#define STRINGID_PKMNALREADYASLEEP2 38
#define STRINGID_PKMNWASNTAFFECTED 39
#define STRINGID_PKMNWASPOISONED 40
#define STRINGID_PKMNPOISONEDBY 41
#define STRINGID_PKMNHURTBYPOISON 42
#define STRINGID_PKMNALREADYPOISONED 43
#define STRINGID_PKMNBADLYPOISONED 44
#define STRINGID_PKMNENERGYDRAINED 45
#define STRINGID_PKMNWASBURNED 46
#define STRINGID_PKMNBURNEDBY 47
#define STRINGID_PKMNHURTBYBURN 48
#define STRINGID_PKMNWASFROZEN 49
#define STRINGID_PKMNFROZENBY 50
#define STRINGID_PKMNISFROZEN 51
#define STRINGID_PKMNWASDEFROSTED 52
#define STRINGID_PKMNWASDEFROSTED2 53
#define STRINGID_PKMNWASDEFROSTEDBY 54
#define STRINGID_PKMNWASPARALYZED 55
#define STRINGID_PKMNWASPARALYZEDBY 56
#define STRINGID_PKMNISPARALYZED 57
#define STRINGID_PKMNISALREADYPARALYZED 58
#define STRINGID_PKMNHEALEDPARALYSIS 59
#define STRINGID_PKMNDREAMEATEN 60
#define STRINGID_STATSWONTINCREASE 61
#define STRINGID_STATSWONTDECREASE 62
#define STRINGID_TEAMSTOPPEDWORKING 63
#define STRINGID_FOESTOPPEDWORKING 64
#define STRINGID_PKMNISCONFUSED 65
#define STRINGID_PKMNHEALEDCONFUSION 66
#define STRINGID_PKMNWASCONFUSED 67
#define STRINGID_PKMNALREADYCONFUSED 68
#define STRINGID_PKMNFELLINLOVE 69
#define STRINGID_PKMNINLOVE 70
#define STRINGID_PKMNIMMOBILIZEDBYLOVE 71
#define STRINGID_PKMNBLOWNAWAY 72
#define STRINGID_PKMNCHANGEDTYPE 73
#define STRINGID_PKMNFLINCHED 74
#define STRINGID_PKMNREGAINEDHEALTH 75
#define STRINGID_PKMNHPFULL 76
#define STRINGID_PKMNRAISEDSPDEF 77
#define STRINGID_PKMNRAISEDDEF 78
#define STRINGID_PKMNCOVEREDBYVEIL 79
#define STRINGID_PKMNUSEDSAFEGUARD 80
#define STRINGID_PKMNSAFEGUARDEXPIRED 81
#define STRINGID_PKMNWENTTOSLEEP 82
#define STRINGID_PKMNSLEPTHEALTHY 83
#define STRINGID_PKMNWHIPPEDWHIRLWIND 84
#define STRINGID_PKMNTOOKSUNLIGHT 85
#define STRINGID_PKMNLOWEREDHEAD 86
#define STRINGID_PKMNISGLOWING 87
#define STRINGID_PKMNFLEWHIGH 88
#define STRINGID_PKMNDUGHOLE 89
#define STRINGID_PKMNSQUEEZEDBYBIND 90
#define STRINGID_PKMNTRAPPEDINVORTEX 91
#define STRINGID_PKMNWRAPPEDBY 92
#define STRINGID_PKMNCLAMPED 93
#define STRINGID_PKMNHURTBY 94
#define STRINGID_PKMNFREEDFROM 95
#define STRINGID_PKMNCRASHED 96
#define STRINGID_PKMNSHROUDEDINMIST 97
#define STRINGID_PKMNPROTECTEDBYMIST 98
#define STRINGID_PKMNGETTINGPUMPED 99
#define STRINGID_PKMNHITWITHRECOIL 100
#define STRINGID_PKMNPROTECTEDITSELF2 101
#define STRINGID_PKMNBUFFETEDBYSANDSTORM 102
#define STRINGID_PKMNPELTEDBYHAIL 103
#define STRINGID_PKMNSEEDED 104
#define STRINGID_PKMNEVADEDATTACK 105
#define STRINGID_PKMNSAPPEDBYLEECHSEED 106
#define STRINGID_PKMNFASTASLEEP 107
#define STRINGID_PKMNWOKEUP 108
#define STRINGID_PKMNUPROARKEPTAWAKE 109
#define STRINGID_PKMNWOKEUPINUPROAR 110
#define STRINGID_PKMNCAUSEDUPROAR 111
#define STRINGID_PKMNMAKINGUPROAR 112
#define STRINGID_PKMNCALMEDDOWN 113
#define STRINGID_PKMNCANTSLEEPINUPROAR 114
#define STRINGID_PKMNSTOCKPILED 115
#define STRINGID_PKMNCANTSTOCKPILE 116
#define STRINGID_PKMNCANTSLEEPINUPROAR2 117
#define STRINGID_UPROARKEPTPKMNAWAKE 118
#define STRINGID_PKMNSTAYEDAWAKEUSING 119
#define STRINGID_PKMNSTORINGENERGY 120
#define STRINGID_PKMNUNLEASHEDENERGY 121
#define STRINGID_PKMNFATIGUECONFUSION 122
#define STRINGID_PKMNPICKEDUPITEM 123
#define STRINGID_PKMNUNAFFECTED 124
#define STRINGID_PKMNTRANSFORMEDINTO 125
#define STRINGID_PKMNMADESUBSTITUTE 126
#define STRINGID_PKMNHASSUBSTITUTE 127
#define STRINGID_SUBSTITUTEDAMAGED 128
#define STRINGID_PKMNSUBSTITUTEFADED 129
#define STRINGID_PKMNMUSTRECHARGE 130
#define STRINGID_PKMNRAGEBUILDING 131
#define STRINGID_PKMNMOVEWASDISABLED 132
#define STRINGID_PKMNMOVEISDISABLED 133
#define STRINGID_PKMNMOVEDISABLEDNOMORE 134
#define STRINGID_PKMNGOTENCORE 135
#define STRINGID_PKMNENCOREENDED 136
#define STRINGID_PKMNTOOKAIM 137
#define STRINGID_PKMNSKETCHEDMOVE 138
#define STRINGID_PKMNTRYINGTOTAKEFOE 139
#define STRINGID_PKMNTOOKFOE 140
#define STRINGID_PKMNREDUCEDPP 141
#define STRINGID_PKMNSTOLEITEM 142
#define STRINGID_PKMNCANTESCAPE 143
#define STRINGID_PKMNFELLINTONIGHTMARE 144
#define STRINGID_PKMNLOCKEDINNIGHTMARE 145
#define STRINGID_PKMNLAIDCURSE 146
#define STRINGID_PKMNAFFLICTEDBYCURSE 147
#define STRINGID_SPIKESSCATTERED 148
#define STRINGID_PKMNHURTBYSPIKES 149
#define STRINGID_PKMNIDENTIFIED 150
#define STRINGID_PKMNPERISHCOUNTFELL 151
#define STRINGID_PKMNBRACEDITSELF 152
#define STRINGID_PKMNENDUREDHIT 153
#define STRINGID_MAGNITUDESTRENGTH 154
#define STRINGID_PKMNCUTHPMAXEDATTACK 155
#define STRINGID_PKMNCOPIEDSTATCHANGES 156
#define STRINGID_PKMNGOTFREE 157
#define STRINGID_PKMNSHEDLEECHSEED 158
#define STRINGID_PKMNBLEWAWAYSPIKES 159
#define STRINGID_PKMNFLEDFROMBATTLE 160
#define STRINGID_PKMNFORESAWATTACK 161
#define STRINGID_PKMNTOOKATTACK 162
#define STRINGID_PKMNATTACK 163
#define STRINGID_PKMNCENTERATTENTION 164
#define STRINGID_PKMNCHARGINGPOWER 165
#define STRINGID_NATUREPOWERTURNEDINTO 166
#define STRINGID_PKMNSTATUSNORMAL 167
#define STRINGID_PKMNHASNOMOVESLEFT 168
#define STRINGID_PKMNSUBJECTEDTOTORMENT 169
#define STRINGID_PKMNCANTUSEMOVETORMENT 170
#define STRINGID_PKMNTIGHTENINGFOCUS 171
#define STRINGID_PKMNFELLFORTAUNT 172
#define STRINGID_PKMNCANTUSEMOVETAUNT 173
#define STRINGID_PKMNREADYTOHELP 174
#define STRINGID_PKMNSWITCHEDITEMS 175
#define STRINGID_PKMNCOPIEDFOE 176
#define STRINGID_PKMNMADEWISH 177
#define STRINGID_PKMNWISHCAMETRUE 178
#define STRINGID_PKMNPLANTEDROOTS 179
#define STRINGID_PKMNABSORBEDNUTRIENTS 180
#define STRINGID_PKMNANCHOREDITSELF 181
#define STRINGID_PKMNWASMADEDROWSY 182
#define STRINGID_PKMNKNOCKEDOFF 183
#define STRINGID_PKMNSWAPPEDABILITIES 184
#define STRINGID_PKMNSEALEDOPPONENTMOVE 185
#define STRINGID_PKMNCANTUSEMOVESEALED 186
#define STRINGID_PKMNWANTSGRUDGE 187
#define STRINGID_PKMNLOSTPPGRUDGE 188
#define STRINGID_PKMNSHROUDEDITSELF 189
#define STRINGID_PKMNMOVEBOUNCED 190
#define STRINGID_PKMNWAITSFORTARGET 191
#define STRINGID_PKMNSNATCHEDMOVE 192
#define STRINGID_PKMNMADEITRAIN 193
#define STRINGID_PKMNRAISEDSPEED 194
#define STRINGID_PKMNPROTECTEDBY 195
#define STRINGID_PKMNPREVENTSUSAGE 196
#define STRINGID_PKMNRESTOREDHPUSING 197
#define STRINGID_PKMNCHANGEDTYPEWITH 198
#define STRINGID_PKMNPREVENTSPARALYSISWITH 199
#define STRINGID_PKMNPREVENTSROMANCEWITH 200
#define STRINGID_PKMNPREVENTSPOISONINGWITH 201
#define STRINGID_PKMNPREVENTSCONFUSIONWITH 202
#define STRINGID_PKMNRAISEDFIREPOWERWITH 203
#define STRINGID_PKMNANCHORSITSELFWITH 204
#define STRINGID_PKMNCUTSATTACKWITH 205
#define STRINGID_PKMNPREVENTSSTATLOSSWITH 206
#define STRINGID_PKMNHURTSWITH 207
#define STRINGID_PKMNTRACED 208
#define STRINGID_STATSHARPLY 209
#define STRINGID_STATROSE 210
#define STRINGID_STATHARSHLY 211
#define STRINGID_STATFELL 212
#define STRINGID_PKMNSSTATCHANGED 213
#define STRINGID_PKMNSSTATCHANGED2 214
#define STRINGID_PKMNSSTATCHANGED3 215
#define STRINGID_PKMNSSTATCHANGED4 216
#define STRINGID_CRITICALHIT 217
#define STRINGID_ONEHITKO 218
#define STRINGID_123POOF 219
#define STRINGID_ANDELLIPSIS 220
#define STRINGID_NOTVERYEFFECTIVE 221
#define STRINGID_SUPEREFFECTIVE 222
#define STRINGID_GOTAWAYSAFELY 223
#define STRINGID_WILDPKMNFLED 224
#define STRINGID_NORUNNINGFROMTRAINERS 225
#define STRINGID_CANTESCAPE 226
#define STRINGID_DONTLEAVEBIRCH 227
#define STRINGID_BUTNOTHINGHAPPENED 228
#define STRINGID_BUTITFAILED 229
#define STRINGID_ITHURTCONFUSION 230
#define STRINGID_MIRRORMOVEFAILED 231
#define STRINGID_STARTEDTORAIN 232
#define STRINGID_DOWNPOURSTARTED 233
#define STRINGID_RAINCONTINUES 234
#define STRINGID_DOWNPOURCONTINUES 235
#define STRINGID_RAINSTOPPED 236
#define STRINGID_SANDSTORMBREWED 237
#define STRINGID_SANDSTORMRAGES 238
#define STRINGID_SANDSTORMSUBSIDED 239
#define STRINGID_SUNLIGHTGOTBRIGHT 240
#define STRINGID_SUNLIGHTSTRONG 241
#define STRINGID_SUNLIGHTFADED 242
#define STRINGID_STARTEDHAIL 243
#define STRINGID_HAILCONTINUES 244
#define STRINGID_HAILSTOPPED 245
#define STRINGID_FAILEDTOSPITUP 246
#define STRINGID_FAILEDTOSWALLOW 247
#define STRINGID_WINDBECAMEHEATWAVE 248
#define STRINGID_STATCHANGESGONE 249
#define STRINGID_COINSSCATTERED 250
#define STRINGID_TOOWEAKFORSUBSTITUTE 251
#define STRINGID_SHAREDPAIN 252
#define STRINGID_BELLCHIMED 253
#define STRINGID_FAINTINTHREE 254
#define STRINGID_NOPPLEFT 255
#define STRINGID_BUTNOPPLEFT 256
#define STRINGID_PLAYERUSEDITEM 257
#define STRINGID_WALLYUSEDITEM 258
#define STRINGID_TRAINERBLOCKEDBALL 259
#define STRINGID_DONTBEATHIEF 260
#define STRINGID_ITDODGEDBALL 261
#define STRINGID_YOUMISSEDPKMN 262
#define STRINGID_PKMNBROKEFREE 263
#define STRINGID_ITAPPEAREDCAUGHT 264
#define STRINGID_AARGHALMOSTHADIT 265
#define STRINGID_SHOOTSOCLOSE 266
#define STRINGID_GOTCHAPKMNCAUGHT 267
#define STRINGID_GOTCHAPKMNCAUGHT2 268
#define STRINGID_GIVENICKNAMECAPTURED 269
#define STRINGID_PKMNSENTTOPC 270
#define STRINGID_PKMNDATAADDEDTODEX 271
#define STRINGID_ITISRAINING 272
#define STRINGID_SANDSTORMISRAGING 273
#define STRINGID_CANTESCAPE2 274
#define STRINGID_PKMNIGNORESASLEEP 275
#define STRINGID_PKMNIGNOREDORDERS 276
#define STRINGID_PKMNBEGANTONAP 277
#define STRINGID_PKMNLOAFING 278
#define STRINGID_PKMNWONTOBEY 279
#define STRINGID_PKMNTURNEDAWAY 280
#define STRINGID_PKMNPRETENDNOTNOTICE 281
#define STRINGID_ENEMYABOUTTOSWITCHPKMN 282
#define STRINGID_CREPTCLOSER 283
#define STRINGID_CANTGETCLOSER 284
#define STRINGID_PKMNWATCHINGCAREFULLY 285
#define STRINGID_PKMNCURIOUSABOUTX 286
#define STRINGID_PKMNENTHRALLEDBYX 287
#define STRINGID_PKMNIGNOREDX 288
#define STRINGID_THREWPOKEBLOCKATPKMN 289
#define STRINGID_OUTOFSAFARIBALLS 290
#define STRINGID_PKMNSITEMCUREDPARALYSIS 291
#define STRINGID_PKMNSITEMCUREDPOISON 292
#define STRINGID_PKMNSITEMHEALEDBURN 293
#define STRINGID_PKMNSITEMDEFROSTEDIT 294
#define STRINGID_PKMNSITEMWOKEIT 295
#define STRINGID_PKMNSITEMSNAPPEDOUT 296
#define STRINGID_PKMNSITEMCUREDPROBLEM 297
#define STRINGID_PKMNSITEMRESTOREDHEALTH 298
#define STRINGID_PKMNSITEMRESTOREDPP 299
#define STRINGID_PKMNSITEMRESTOREDSTATUS 300
#define STRINGID_PKMNSITEMRESTOREDHPALITTLE 301
#define STRINGID_ITEMALLOWSONLYYMOVE 302
#define STRINGID_PKMNHUNGONWITHX 303
#define STRINGID_EMPTYSTRING3 304
#define STRINGID_PKMNSXPREVENTSBURNS 305
#define STRINGID_PKMNSXBLOCKSY 306
#define STRINGID_PKMNSXRESTOREDHPALITTLE2 307
#define STRINGID_PKMNSXWHIPPEDUPSANDSTORM 308
#define STRINGID_PKMNSXPREVENTSYLOSS 309
#define STRINGID_PKMNSXINFATUATEDY 310
#define STRINGID_PKMNSXMADEYINEFFECTIVE 311
#define STRINGID_PKMNSXCUREDYPROBLEM 312
#define STRINGID_ITSUCKEDLIQUIDOOZE 313
#define STRINGID_PKMNTRANSFORMED 314
#define STRINGID_ELECTRICITYWEAKENED 315
#define STRINGID_FIREWEAKENED 316
#define STRINGID_PKMNHIDUNDERWATER 317
#define STRINGID_PKMNSPRANGUP 318
#define STRINGID_HMMOVESCANTBEFORGOTTEN 319
#define STRINGID_XFOUNDONEY 320
#define STRINGID_PLAYERDEFEATEDTRAINER1 321
#define STRINGID_SOOTHINGAROMA 322
#define STRINGID_ITEMSCANTBEUSEDNOW 323
#define STRINGID_FORXCOMMAYZ 324
#define STRINGID_USINGXTHEYOFZN 325
#define STRINGID_PKMNUSEDXTOGETPUMPED 326
#define STRINGID_PKMNSXMADEYUSELESS 327
#define STRINGID_PKMNTRAPPEDBYSANDTOMB 328
#define STRINGID_EMPTYSTRING4 329
#define STRINGID_ABOOSTED 330
#define STRINGID_PKMNSXINTENSIFIEDSUN 331
#define STRINGID_PKMNMAKESGROUNDMISS 332
#define STRINGID_YOUTHROWABALLNOWRIGHT 333
#define STRINGID_PKMNSXTOOKATTACK 334
#define STRINGID_PKMNCHOSEXASDESTINY 335
#define STRINGID_PKMNLOSTFOCUS 336
#define STRINGID_USENEXTPKMN 337
#define STRINGID_PKMNFLEDUSINGITS 338
#define STRINGID_PKMNFLEDUSING 339
#define STRINGID_PKMNWASDRAGGEDOUT 340
#define STRINGID_PREVENTEDFROMWORKING 341
#define STRINGID_PKMNSITEMNORMALIZEDSTATUS 342
#define STRINGID_TRAINER1USEDITEM 343
#define STRINGID_BOXISFULL 344
#define STRINGID_PKMNAVOIDEDATTACK 345
#define STRINGID_PKMNSXMADEITINEFFECTIVE 346
#define STRINGID_PKMNSXPREVENTSFLINCHING 347
#define STRINGID_PKMNALREADYHASBURN 348
#define STRINGID_STATSWONTDECREASE2 349
#define STRINGID_PKMNSXBLOCKSY2 350
#define STRINGID_PKMNSXWOREOFF 351
#define STRINGID_PKMNRAISEDDEFALITTLE 352
#define STRINGID_PKMNRAISEDSPDEFALITTLE 353
#define STRINGID_THEWALLSHATTERED 354
#define STRINGID_PKMNSXPREVENTSYSZ 355
#define STRINGID_PKMNSXCUREDITSYPROBLEM 356
#define STRINGID_PKMNCANTESCAPE2 357
#define STRINGID_PKMNOBTAINEDX 358
#define STRINGID_PKMNOBTAINEDX2 359
#define STRINGID_PKMNOBTAINEDXYOBTAINEDZ 360
#define STRINGID_BUTNOEFFECT 361
#define STRINGID_PKMNSXHADNOEFFECTONY 362
#define STRINGID_TWOENEMIESDEFEATED 363
#define STRINGID_TRAINER2LOSETEXT 364
#define STRINGID_PKMNINCAPABLEOFPOWER 365
#define STRINGID_GLINTAPPEARSINEYE 366
#define STRINGID_PKMNGETTINGINTOPOSITION 367
#define STRINGID_PKMNBEGANGROWLINGDEEPLY 368
#define STRINGID_PKMNEAGERFORMORE 369
#define STRINGID_DEFEATEDOPPONENTBYREFEREE 370
#define STRINGID_LOSTTOOPPONENTBYREFEREE 371
#define STRINGID_TIEDOPPONENTBYREFEREE 372
#define STRINGID_QUESTIONFORFEITMATCH 373
#define STRINGID_FORFEITEDMATCH 374
#define STRINGID_PKMNTRANSFERREDSOMEONESPC 375
#define STRINGID_PKMNTRANSFERREDLANETTESPC 376
#define STRINGID_PKMNBOXSOMEONESPCFULL 377
#define STRINGID_PKMNBOXLANETTESPCFULL 378
#define STRINGID_TRAINER1WINTEXT 379
#define STRINGID_TRAINER2WINTEXT 380
#endif // GUARD_BATTLE_STRING_IDS_H

View File

@ -190,6 +190,7 @@ SECTIONS {
asm/fldeff_strength.o(.text); asm/fldeff_strength.o(.text);
asm/battle_transition.o(.text); asm/battle_transition.o(.text);
asm/battle_controller_linkpartner.o(.text); asm/battle_controller_linkpartner.o(.text);
src/battle_message.o(.text);
asm/battle_message.o(.text); asm/battle_message.o(.text);
asm/cable_car.o(.text); asm/cable_car.o(.text);
asm/math_util.o(.text); asm/math_util.o(.text);
@ -411,7 +412,7 @@ SECTIONS {
src/battle_ai_script_commands.o(.rodata); src/battle_ai_script_commands.o(.rodata);
data/data4.o(.rodata); data/data4.o(.rodata);
data/battle_controller_link_partner.o(.rodata); data/battle_controller_link_partner.o(.rodata);
data/battle_message.o(.rodata); src/battle_message.o(.rodata);
data/cable_car.o(.rodata); data/cable_car.o(.rodata);
data/save.o(.rodata); data/save.o(.rodata);
data/field_effect_helpers.o(.rodata); data/field_effect_helpers.o(.rodata);

View File

@ -41,6 +41,7 @@
#include "evolution_scene.h" #include "evolution_scene.h"
#include "roamer.h" #include "roamer.h"
#include "safari_zone.h" #include "safari_zone.h"
#include "battle_string_ids.h"
struct UnknownStruct6 struct UnknownStruct6
{ {
@ -3299,7 +3300,7 @@ static void BattleIntroPrintTrainerWantsToBattle(void)
if (gBattleExecBuffer == 0) if (gBattleExecBuffer == 0)
{ {
gActiveBank = GetBankByIdentity(IDENTITY_OPPONENT_MON1); gActiveBank = GetBankByIdentity(IDENTITY_OPPONENT_MON1);
PrepareStringBattle(0, gActiveBank); PrepareStringBattle(STRINGID_INTROMSG, gActiveBank);
gBattleMainFunc = BattleIntroPrintOpponentSendsOut; gBattleMainFunc = BattleIntroPrintOpponentSendsOut;
} }
} }
@ -3309,7 +3310,7 @@ static void BattleIntroPrintWildMonAttacked(void)
if (gBattleExecBuffer == 0) if (gBattleExecBuffer == 0)
{ {
gBattleMainFunc = BattleIntroPrintPlayerSendsOut; gBattleMainFunc = BattleIntroPrintPlayerSendsOut;
PrepareStringBattle(0, 0); PrepareStringBattle(STRINGID_INTROMSG, 0);
} }
} }
@ -3332,7 +3333,7 @@ static void BattleIntroPrintOpponentSendsOut(void)
else else
identity = IDENTITY_OPPONENT_MON1; identity = IDENTITY_OPPONENT_MON1;
PrepareStringBattle(1, GetBankByIdentity(identity)); PrepareStringBattle(STRINGID_INTROSENDOUT, GetBankByIdentity(identity));
gBattleMainFunc = BattleIntroOpponent1SendsOutMonAnimation; gBattleMainFunc = BattleIntroOpponent1SendsOutMonAnimation;
} }
@ -3535,7 +3536,7 @@ static void BattleIntroPrintPlayerSendsOut(void)
identity = IDENTITY_PLAYER_MON1; identity = IDENTITY_PLAYER_MON1;
if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI)) if (!(gBattleTypeFlags & BATTLE_TYPE_SAFARI))
PrepareStringBattle(1, GetBankByIdentity(identity)); PrepareStringBattle(STRINGID_INTROSENDOUT, GetBankByIdentity(identity));
gBattleMainFunc = BattleIntroPlayer1SendsOutMonAnimation; gBattleMainFunc = BattleIntroPlayer1SendsOutMonAnimation;
} }

1428
src/battle_message.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -34,6 +34,7 @@
#include "pokemon_storage_system.h" #include "pokemon_storage_system.h"
#include "task.h" #include "task.h"
#include "naming_screen.h" #include "naming_screen.h"
#include "battle_string_ids.h"
// variables // variables
@ -1375,7 +1376,7 @@ static void atk02_attackstring(void)
return; return;
if (!(gHitMarker & (HITMARKER_NO_ATTACKSTRING | HITMARKER_ATTACKSTRING_PRINTED))) if (!(gHitMarker & (HITMARKER_NO_ATTACKSTRING | HITMARKER_ATTACKSTRING_PRINTED)))
{ {
PrepareStringBattle(4, gBankAttacker); PrepareStringBattle(STRINGID_USEDMOVE, gBankAttacker);
gHitMarker |= HITMARKER_ATTACKSTRING_PRINTED; gHitMarker |= HITMARKER_ATTACKSTRING_PRINTED;
} }
gBattlescriptCurrInstr++; gBattlescriptCurrInstr++;
@ -2000,7 +2001,7 @@ static void atk0B_healthbarupdate(void)
if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBank].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE)) if (gBattleMons[gActiveBank].status2 & STATUS2_SUBSTITUTE && gDisableStructs[gActiveBank].substituteHP && !(gHitMarker & HITMARKER_IGNORE_SUBSTITUTE))
{ {
PrepareStringBattle(0x80, gActiveBank); PrepareStringBattle(STRINGID_SUBSTITUTEDAMAGED, gActiveBank);
} }
else else
{ {
@ -2157,7 +2158,7 @@ static void atk0D_critmessage(void)
{ {
if (gCritMultiplier == 2 && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT)) if (gCritMultiplier == 2 && !(gBattleMoveFlags & MOVESTATUS_NOEFFECT))
{ {
PrepareStringBattle(0xD9, gBankAttacker); PrepareStringBattle(STRINGID_CRITICALHIT, gBankAttacker);
gBattleCommunication[MSG_DISPLAY] = 1; gBattleCommunication[MSG_DISPLAY] = 1;
} }
gBattlescriptCurrInstr++; gBattlescriptCurrInstr++;
@ -2229,22 +2230,22 @@ static void atk0F_resultmessage(void)
switch (gBattleMoveFlags & (u8)(~(MOVESTATUS_MISSED))) switch (gBattleMoveFlags & (u8)(~(MOVESTATUS_MISSED)))
{ {
case MOVESTATUS_SUPEREFFECTIVE: case MOVESTATUS_SUPEREFFECTIVE:
stringId = 0xDE; stringId = STRINGID_SUPEREFFECTIVE;
break; break;
case MOVESTATUS_NOTVERYEFFECTIVE: case MOVESTATUS_NOTVERYEFFECTIVE:
stringId = 0xDD; stringId = STRINGID_NOTVERYEFFECTIVE;
break; break;
case MOVESTATUS_ONEHITKO: case MOVESTATUS_ONEHITKO:
stringId = 0xDA; stringId = STRINGID_ONEHITKO;
break; break;
case MOVESTATUS_ENDURED: case MOVESTATUS_ENDURED:
stringId = 0x99; stringId = STRINGID_PKMNENDUREDHIT;
break; break;
case MOVESTATUS_FAILED: case MOVESTATUS_FAILED:
stringId = 0xE5; stringId = STRINGID_BUTITFAILED;
break; break;
case MOVESTATUS_NOTAFFECTED: case MOVESTATUS_NOTAFFECTED:
stringId = 0x1B; stringId = STRINGID_ITDOESNTAFFECT;
break; break;
case MOVESTATUS_HUNGON: case MOVESTATUS_HUNGON:
gLastUsedItem = gBattleMons[gBankTarget].item; gLastUsedItem = gBattleMons[gBankTarget].item;
@ -2256,7 +2257,7 @@ static void atk0F_resultmessage(void)
default: default:
if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED) if (gBattleMoveFlags & MOVESTATUS_NOTAFFECTED)
{ {
stringId = 0x1B; stringId = STRINGID_ITDOESNTAFFECT;
} }
else if (gBattleMoveFlags & MOVESTATUS_ONEHITKO) else if (gBattleMoveFlags & MOVESTATUS_ONEHITKO)
{ {
@ -2285,7 +2286,7 @@ static void atk0F_resultmessage(void)
} }
else if (gBattleMoveFlags & MOVESTATUS_FAILED) else if (gBattleMoveFlags & MOVESTATUS_FAILED)
{ {
stringId = 0xE5; stringId = STRINGID_BUTITFAILED;
} }
else else
{ {
@ -3592,7 +3593,7 @@ static void atk23_getexp(void)
PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff3, 5, gBattleMoveDamage) PREPARE_WORD_NUMBER_BUFFER(gBattleTextBuff3, 5, gBattleMoveDamage)
PrepareStringBattle(0xD, gBattleStruct->expGetterBank); PrepareStringBattle(STRINGID_PKMNGAINEDEXP, gBattleStruct->expGetterBank);
MonGainEVs(&gPlayerParty[gBattleStruct->expGetterId], gBattleMons[gBank1].species); MonGainEVs(&gPlayerParty[gBattleStruct->expGetterId], gBattleMons[gBank1].species);
} }
gBattleStruct->sentInPokes >>= 1; gBattleStruct->sentInPokes >>= 1;
@ -6181,7 +6182,7 @@ static void atk5A_yesnoboxlearnmove(void)
u16 moveId = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_MOVE1 + movePosition); u16 moveId = GetMonData(&gPlayerParty[gBattleStruct->expGetterId], MON_DATA_MOVE1 + movePosition);
if (IsHMMove2(moveId)) if (IsHMMove2(moveId))
{ {
PrepareStringBattle(0x13F, gActiveBank); PrepareStringBattle(STRINGID_HMMOVESCANTBEFORGOTTEN, gActiveBank);
gBattleScripting.learnMoveState = 6; gBattleScripting.learnMoveState = 6;
} }
else else

View File

@ -238,26 +238,7 @@ gBattle_WIN1H: @ 2022E28
gBattle_WIN1V: @ 2022E2A gBattle_WIN1V: @ 2022E2A
.space 0x2 .space 0x2
gDisplayedStringBattle: @ 2022E2C .include "src/battle_message.o"
.space 0x12C
gBattleTextBuff1: @ 2022F58
.space 0x2
gUnknown_02022F5A: @ 2022F5A
.space 0x2
gUnknown_02022F5C: @ 2022F5C
.space 0xC
gBattleTextBuff2: @ 2022F68
.space 0x2
gUnknown_02022F6A: @ 2022F6A
.space 0xE
gBattleTextBuff3: @ 2022F78
.space 0x10
gUnknown_02022F88: @ 2022F88 gUnknown_02022F88: @ 2022F88
.space 0x64 .space 0x64