summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorDizzyEggg <jajkodizzy@wp.pl>2017-09-19 21:01:12 +0200
committerDizzyEggg <jajkodizzy@wp.pl>2017-09-19 21:01:12 +0200
commitb3c788f2ca9e3d0ab6e43617ed7fedfe605bc249 (patch)
tree8bc3e0c122096b01d363c367f3d8f836cd8319a1 /asm
parent148b995189f72acdad967f1c4bce0b5e0216cc2c (diff)
begin work on battle4, organize battle headers
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_2.s20
-rw-r--r--asm/battle_4.s1177
2 files changed, 27 insertions, 1170 deletions
diff --git a/asm/battle_2.s b/asm/battle_2.s
index 502f2bab8..3e1d67f4c 100644
--- a/asm/battle_2.s
+++ b/asm/battle_2.s
@@ -8409,7 +8409,7 @@ bc_battle_begin_message: @ 803B120
strb r0, [r1]
ldrb r1, [r1]
movs r0, 0
- bl b_std_message
+ bl PrepareStringBattle
ldr r1, =gBattleMainFunc
ldr r0, =sub_803B180
str r0, [r1]
@@ -8431,7 +8431,7 @@ bc_8013568: @ 803B158
str r0, [r1]
movs r0, 0
movs r1, 0
- bl b_std_message
+ bl PrepareStringBattle
_0803B170:
pop {r0}
bx r0
@@ -8473,7 +8473,7 @@ _0803B1BA:
lsls r1, 24
lsrs r1, 24
movs r0, 0x1
- bl b_std_message
+ bl PrepareStringBattle
ldr r1, =gBattleMainFunc
ldr r0, =sub_803B25C
str r0, [r1]
@@ -8743,7 +8743,7 @@ _0803B3F6:
lsls r1, 24
lsrs r1, 24
movs r0, 0x1
- bl b_std_message
+ bl PrepareStringBattle
_0803B412:
ldr r1, =gBattleMainFunc
ldr r0, =sub_803B4C8
@@ -15698,8 +15698,8 @@ _0803F47A:
bx r1
thumb_func_end get_battle_side_of_something
- thumb_func_start sub_803F480
-sub_803F480: @ 803F480
+ thumb_func_start PressurePPLose
+PressurePPLose: @ 803F480
push {r4-r7,lr}
sub sp, 0x4
lsls r0, 24
@@ -15795,7 +15795,7 @@ _0803F532:
pop {r0}
bx r0
.pool
- thumb_func_end sub_803F480
+ thumb_func_end PressurePPLose
thumb_func_start sub_803F548
sub_803F548: @ 803F548
@@ -16300,8 +16300,8 @@ _0803F95E:
bx r1
thumb_func_end sub_803F90C
- thumb_func_start b_std_message
-b_std_message: @ 803F964
+ thumb_func_start PrepareStringBattle
+PrepareStringBattle: @ 803F964
push {r4,lr}
adds r2, r0, 0
lsls r2, 16
@@ -16317,7 +16317,7 @@ b_std_message: @ 803F964
pop {r0}
bx r0
.pool
- thumb_func_end b_std_message
+ thumb_func_end PrepareStringBattle
thumb_func_start sub_803F988
sub_803F988: @ 803F988
diff --git a/asm/battle_4.s b/asm/battle_4.s
index 075321c71..8300024e6 100644
--- a/asm/battle_4.s
+++ b/asm/battle_4.s
@@ -5,1149 +5,6 @@
.text
-
- thumb_func_start atk00_attackcanceler
-atk00_attackcanceler: @ 8045FFC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- ldr r0, =gBattleOutcome
- ldrb r0, [r0]
- cmp r0, 0
- beq _08046020
- ldr r1, =gFightStateTracker
- movs r0, 0xC
- strb r0, [r1]
- b _08046398
- .pool
-_08046020:
- ldr r2, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- bne _08046064
- ldr r2, =gHitMarker
- ldr r1, [r2]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- bne _08046064
- movs r0, 0x80
- lsls r0, 12
- orrs r1, r0
- str r1, [r2]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082D8A4E
- b _08046396
- .pool
-_08046064:
- bl AtkCanceller_UnableToUseMove
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _08046072
- b _08046398
-_08046072:
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- str r2, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- beq _0804608A
- b _08046398
-_0804608A:
- ldr r4, =gBattleMons
- ldr r0, =gCurrMovePos
- ldrb r1, [r0]
- ldr r3, =gBankAttacker
- ldrb r2, [r3]
- movs r0, 0x58
- muls r2, r0
- adds r1, r2
- adds r0, r4, 0
- adds r0, 0x24
- adds r1, r0
- ldrb r0, [r1]
- ldr r5, =gHitMarker
- cmp r0, 0
- bne _08046108
- ldr r0, =gCurrentMove
- ldrh r0, [r0]
- cmp r0, 0xA5
- beq _08046108
- ldr r0, [r5]
- ldr r1, =0x00800200
- ands r0, r1
- cmp r0, 0
- bne _08046108
- adds r0, r4, 0
- adds r0, 0x50
- adds r0, r2, r0
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 5
- ands r0, r1
- cmp r0, 0
- bne _08046108
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB07A
- str r0, [r1]
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- b _08046398
- .pool
-_08046108:
- ldr r0, [r5]
- ldr r1, =0xff7fffff
- ands r0, r1
- str r0, [r5]
- movs r6, 0x80
- lsls r6, 18
- ands r0, r6
- cmp r0, 0
- bne _08046160
- ldrb r1, [r3]
- movs r0, 0x58
- muls r0, r1
- adds r1, r4, 0
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 5
- ands r0, r1
- cmp r0, 0
- bne _08046160
- bl IsPokeDisobedient
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _08046160
- cmp r2, 0x2
- bne _08046150
- ldr r0, [r5]
- orrs r0, r6
- str r0, [r5]
- b _08046398
- .pool
-_08046150:
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- b _08046398
- .pool
-_08046160:
- ldr r2, =gHitMarker
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 18
- orrs r0, r1
- str r0, [r2]
- ldr r2, =gProtectStructs
- ldr r1, =gBankTarget
- ldrb r3, [r1]
- lsls r0, r3, 4
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 27
- mov r8, r1
- mov r9, r2
- cmp r0, 0
- bge _080461E8
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x8]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080461E8
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- ldr r2, =0x00000115
- adds r1, r3, 0
- bl sub_803F480
- mov r0, r8
- ldrb r1, [r0]
- lsls r1, 4
- add r1, r9
- ldrb r2, [r1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB194
- b _08046396
- .pool
-_080461E8:
- movs r2, 0
- ldr r0, =gNoOfAllBanks
- ldrb r0, [r0]
- cmp r2, r0
- bge _0804622A
- ldr r6, =gProtectStructs
- ldr r1, =gBattleMoves
- mov r12, r1
- adds r5, r0, 0
- ldr r7, =gTurnOrder
-_080461FC:
- adds r4, r2, r7
- ldrb r3, [r4]
- lsls r0, r3, 4
- adds r0, r6
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _08046224
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- add r0, r12
- ldrb r1, [r0, 0x8]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08046224
- b _08046350
-_08046224:
- adds r2, 0x1
- cmp r2, r5
- blt _080461FC
-_0804622A:
- ldr r0, =gSpecialStatuses
- mov r1, r8
- ldrb r2, [r1]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r3, [r1]
- lsls r0, r3, 30
- cmp r0, 0
- bge _08046288
- movs r0, 0x3
- negs r0, r0
- ands r0, r3
- strb r0, [r1]
- ldr r4, =gLastUsedAbility
- movs r0, 0x1F
- strb r0, [r4]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB53E
- str r0, [r1]
- mov r1, r8
- ldrb r0, [r1]
- ldrb r1, [r4]
- bl RecordAbilityBattle
- b _08046398
- .pool
-_08046288:
- lsls r0, r2, 4
- add r0, r9
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- bne _08046296
- b _08046390
-_08046296:
- ldr r1, =gBattleMoves
- ldr r2, =gCurrentMove
- ldrh r3, [r2]
- lsls r0, r3, 1
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x8]
- movs r0, 0x2
- ands r0, r1
- adds r4, r2, 0
- cmp r0, 0
- beq _08046390
- cmp r3, 0xAE
- bne _080462D4
- ldr r2, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, 0x7
- beq _080462D4
- adds r0, r1, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0x7
- bne _08046390
-_080462D4:
- ldrh r0, [r4]
- bl sub_8052F48
- lsls r0, 24
- cmp r0, 0
- beq _080462FA
- ldr r1, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r2, [r0]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 5
- ands r0, r1
- cmp r0, 0
- beq _08046390
-_080462FA:
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl CancelMultiTurnMoves
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gUnknown_02024250
- ldr r3, =gBankTarget
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r1
- movs r2, 0
- strh r2, [r0]
- ldr r1, =gUnknown_02024258
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r1
- strh r2, [r0]
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x6]
- b _08046390
- .pool
-_08046350:
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- ldr r2, =0x00000121
- adds r1, r3, 0
- bl sub_803F480
- ldrb r1, [r4]
- lsls r1, 4
- adds r1, r6
- ldrb r2, [r1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r1, =gBattleScripting
- ldrb r0, [r4]
- strb r0, [r1, 0x17]
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB1AC
- b _08046396
- .pool
-_08046390:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
-_08046396:
- str r0, [r1]
-_08046398:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk00_attackcanceler
-
- thumb_func_start mcmd_jump_if_move_not_executed
-mcmd_jump_if_move_not_executed: @ 80463AC
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r6, r1, 16
- ldr r1, =gBattlescriptCurrInstr
- ldr r5, [r1]
- adds r4, r5, r0
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- beq _0804640C
- ldr r1, =gUnknown_02024250
- ldr r3, =gBankTarget
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r1
- movs r2, 0
- strh r2, [r0]
- ldr r1, =gUnknown_02024258
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r1
- strh r2, [r0]
- ldrb r4, [r5, 0x1]
- ldrb r0, [r5, 0x2]
- lsls r0, 8
- orrs r4, r0
- ldrb r0, [r5, 0x3]
- lsls r0, 16
- orrs r4, r0
- ldrb r0, [r5, 0x4]
- lsls r0, 24
- orrs r4, r0
- b _08046426
- .pool
-_0804640C:
- bl b_feature_update_destiny_bond
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- str r6, [sp]
- movs r0, 0x3
- movs r2, 0
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- bne _0804642A
-_08046426:
- ldr r0, =gBattlescriptCurrInstr
- str r4, [r0]
-_0804642A:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end mcmd_jump_if_move_not_executed
-
- thumb_func_start atk40_jump_if_move_affected_by_protect
-atk40_jump_if_move_affected_by_protect: @ 804643C
- push {lr}
- ldr r1, =gProtectStructs
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- beq _0804649C
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x8]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0804649C
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x5
- movs r1, 0
- bl mcmd_jump_if_move_not_executed
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x6]
- b _080464A4
- .pool
-_0804649C:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_080464A4:
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk40_jump_if_move_affected_by_protect
-
- thumb_func_start sub_80464AC
-sub_80464AC: @ 80464AC
- push {r4,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r4, 0
- ldr r1, =gProtectStructs
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- lsls r0, 4
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 31
- cmp r0, 0
- beq _080464F8
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x8]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080464F8
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x7
- adds r1, r3, 0
- bl mcmd_jump_if_move_not_executed
- ldr r1, =gBattleCommunication
- movs r0, 0x1
- strb r0, [r1, 0x6]
- movs r4, 0x1
-_080464F8:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_80464AC
-
- thumb_func_start sub_8046518
-sub_8046518: @ 8046518
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r2, =gStatuses3
- ldr r3, =gBankTarget
- ldrb r4, [r3]
- lsls r0, r4, 2
- adds r0, r2
- ldr r1, [r0]
- movs r0, 0x18
- ands r1, r0
- adds r6, r2, 0
- cmp r1, 0
- beq _0804654A
- ldr r1, =gDisableStructs
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r0, r1
- ldr r1, =gBankAttacker
- ldrb r0, [r0, 0x15]
- ldrb r1, [r1]
- cmp r0, r1
- beq _08046634
-_0804654A:
- ldr r0, =gHitMarker
- ldr r1, [r0]
- movs r2, 0x80
- lsls r2, 9
- ands r1, r2
- adds r2, r0, 0
- cmp r1, 0
- bne _08046590
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08046590
-_0804656A:
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- b _08046634
- .pool
-_08046590:
- ldr r0, [r2]
- ldr r1, =0xfffeffff
- ands r0, r1
- str r0, [r2]
- movs r1, 0x80
- lsls r1, 10
- ands r0, r1
- cmp r0, 0
- bne _080465B2
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0804656A
-_080465B2:
- ldr r0, [r2]
- ldr r1, =0xfffdffff
- ands r0, r1
- str r0, [r2]
- movs r1, 0x80
- lsls r1, 11
- ands r0, r1
- cmp r0, 0
- bne _080465D2
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- ands r0, r1
- cmp r0, 0
- bne _0804656A
-_080465D2:
- ldr r0, [r2]
- ldr r1, =0xfffbffff
- ands r0, r1
- str r0, [r2]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0xD
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r5, 1
- cmp r0, 0
- bne _08046622
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x4D
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- bne _08046622
- ldr r0, =gBattleWeather
- ldrh r1, [r0]
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- beq _08046622
- ldr r0, =gBattleMoves
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0x98
- beq _08046634
-_08046622:
- ldr r1, =gBattleMoves
- adds r0, r4, r5
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x11
- beq _08046634
- cmp r0, 0x4E
- bne _08046654
-_08046634:
- movs r0, 0x7
- adds r1, r5, 0
- bl mcmd_jump_if_move_not_executed
- movs r0, 0x1
- b _08046656
- .pool
-_08046654:
- movs r0, 0
-_08046656:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8046518
-
- thumb_func_start atk01_accuracycheck
-atk01_accuracycheck: @ 8046660
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r0, =gBattlescriptCurrInstr
- ldr r5, [r0]
- ldrb r6, [r5, 0x5]
- ldrb r1, [r5, 0x6]
- lsls r1, 8
- orrs r6, r1
- adds r1, r6, 0x2
- lsls r1, 16
- lsrs r1, 16
- adds r7, r0, 0
- cmp r1, 0x1
- bhi _0804671C
- ldr r2, =gStatuses3
- ldr r3, =gBankTarget
- ldrb r4, [r3]
- lsls r0, r4, 2
- adds r0, r2
- ldr r1, [r0]
- movs r0, 0x18
- ands r1, r0
- cmp r1, 0
- beq _080466D0
- ldr r0, =0x0000ffff
- cmp r6, r0
- bne _080466D0
- ldr r1, =gDisableStructs
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r0, r1
- ldr r1, =gBankAttacker
- ldrb r0, [r0, 0x15]
- ldrb r1, [r1]
- cmp r0, r1
- bne _080466D0
- adds r0, r5, 0x7
- str r0, [r7]
- b _080469D2
- .pool
-_080466D0:
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- ldr r1, =0x000400c0
- ands r0, r1
- cmp r0, 0
- beq _08046700
- ldr r2, [r7]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r7]
- b _080469D2
- .pool
-_08046700:
- movs r0, 0
- bl sub_80464AC
- lsls r0, 24
- cmp r0, 0
- beq _0804670E
- b _080469D2
-_0804670E:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x7
- str r0, [r1]
- b _080469D2
- .pool
-_0804671C:
- cmp r6, 0
- bne _08046724
- ldr r0, =gCurrentMove
- ldrh r6, [r0]
-_08046724:
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- ldrb r0, [r0, 0x13]
- cmp r0, 0
- beq _08046744
- movs r1, 0x3F
- mov r10, r1
- mov r2, r10
- ands r2, r0
- mov r10, r2
- b _08046752
- .pool
-_08046744:
- ldr r1, =gBattleMoves
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x2]
- mov r10, r0
-_08046752:
- adds r0, r6, 0
- bl sub_80464AC
- lsls r0, 24
- cmp r0, 0
- beq _08046760
- b _080469D2
-_08046760:
- adds r0, r6, 0
- bl sub_8046518
- lsls r0, 24
- cmp r0, 0
- beq _0804676E
- b _080469D2
-_0804676E:
- ldr r3, =gBattleMons
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- movs r2, 0x58
- adds r4, r0, 0
- muls r4, r2
- adds r0, r3, 0
- adds r0, 0x50
- adds r0, r4, r0
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 22
- ands r0, r1
- cmp r0, 0
- beq _080467A8
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- muls r0, r2
- adds r0, r3
- ldrb r5, [r0, 0x1E]
- b _080467BE
- .pool
-_080467A8:
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- muls r0, r2
- adds r0, r3
- ldrb r0, [r0, 0x1E]
- adds r0, 0x6
- adds r1, r4, r3
- ldrb r1, [r1, 0x1F]
- subs r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
-_080467BE:
- lsls r0, r5, 24
- cmp r0, 0
- bge _080467C6
- movs r5, 0
-_080467C6:
- lsls r0, r5, 24
- asrs r0, 24
- cmp r0, 0xC
- ble _080467D0
- movs r5, 0xC
-_080467D0:
- ldr r1, =gBattleMoves
- lsls r4, r6, 1
- adds r0, r4, r6
- lsls r0, 2
- adds r7, r0, r1
- ldrb r3, [r7, 0x3]
- mov r8, r3
- movs r0, 0
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0xD
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- lsrs r0, 24
- str r4, [sp, 0x4]
- cmp r0, 0
- bne _08046822
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x4D
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- bne _08046822
- ldr r0, =gBattleWeather
- ldrh r1, [r0]
- movs r0, 0x60
- ands r0, r1
- cmp r0, 0
- beq _08046822
- ldrb r0, [r7]
- cmp r0, 0x98
- bne _08046822
- movs r0, 0x32
- mov r8, r0
-_08046822:
- ldr r1, =gAccuracyStageRatios
- lsls r0, r5, 24
- asrs r0, 22
- adds r0, r1
- ldrb r1, [r0]
- mov r4, r8
- muls r4, r1
- ldrb r1, [r0, 0x1]
- adds r0, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r7, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- movs r5, 0x58
- muls r0, r5
- adds r0, r7
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0xE
- bne _08046860
- lsls r0, r4, 6
- adds r0, r4
- lsls r0, 1
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r4, r0, 16
-_08046860:
- movs r0, 0
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0xD
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080468B8
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x4D
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- bne _080468B8
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- muls r0, r5
- adds r0, r7
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x8
- bne _080468B8
- ldr r0, =gBattleWeather
- ldrh r1, [r0]
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0
- beq _080468B8
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r4, r0, 16
-_080468B8:
- ldr r2, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x20
- ldrb r0, [r0]
- mov r9, r2
- cmp r0, 0x37
- bne _080468E4
- mov r1, r10
- cmp r1, 0x8
- bhi _080468E4
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r4, r0, 16
-_080468E4:
- ldr r2, =gBankTarget
- mov r8, r2
- ldrb r2, [r2]
- movs r7, 0x58
- adds r0, r2, 0
- muls r0, r7
- mov r3, r9
- adds r1, r0, r3
- ldrh r0, [r1, 0x2E]
- cmp r0, 0xAF
- bne _08046928
- ldr r1, =gEnigmaBerries
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r5, [r0, 0x7]
- ldrb r2, [r0, 0x1A]
- b _08046944
- .pool
-_08046928:
- ldrh r0, [r1, 0x2E]
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r5, r0, 24
- mov r1, r8
- ldrb r0, [r1]
- muls r0, r7
- add r0, r9
- ldrh r0, [r0, 0x2E]
- bl ItemId_GetHoldEffectParam
- lsls r0, 24
- lsrs r2, r0, 24
-_08046944:
- ldr r0, =gStringBank
- ldr r1, =gBankTarget
- ldrb r1, [r1]
- strb r1, [r0]
- cmp r5, 0x16
- bne _08046960
- movs r0, 0x64
- subs r0, r2
- muls r0, r4
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r4, r0, 16
-_08046960:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- adds r0, 0x1
- cmp r0, r4
- ble _080469CA
- ldr r2, =gBattleMoveFlags
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080469C0
- ldr r1, =gBattleMoves
- ldr r2, [sp, 0x4]
- adds r0, r2, r6
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x6]
- cmp r0, 0x8
- beq _080469A2
- cmp r0, 0x20
- bne _080469C0
-_080469A2:
- ldr r1, =gBattleCommunication
- movs r0, 0x2
- b _080469C4
- .pool
-_080469C0:
- ldr r1, =gBattleCommunication
- movs r0, 0
-_080469C4:
- strb r0, [r1, 0x6]
- bl b_wonderguard_and_levitate
-_080469CA:
- movs r0, 0x7
- adds r1, r6, 0
- bl mcmd_jump_if_move_not_executed
-_080469D2:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk01_accuracycheck
-
- thumb_func_start atk02_attackstring
-atk02_attackstring: @ 80469E8
- push {r4,r5,lr}
- ldr r0, =gBattleExecBuffer
- ldr r5, [r0]
- cmp r5, 0
- bne _08046A20
- ldr r4, =gHitMarker
- ldr r0, [r4]
- movs r1, 0xC0
- lsls r1, 3
- ands r0, r1
- cmp r0, 0
- bne _08046A14
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x4
- bl b_std_message
- ldr r0, [r4]
- movs r1, 0x80
- lsls r1, 3
- orrs r0, r1
- str r0, [r4]
-_08046A14:
- ldr r0, =gBattlescriptCurrInstr
- ldr r1, [r0]
- adds r1, 0x1
- str r1, [r0]
- ldr r0, =gBattleCommunication
- strb r5, [r0, 0x7]
-_08046A20:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk02_attackstring
thumb_func_start atk03_ppreduce
atk03_ppreduce: @ 8046A3C
@@ -3519,7 +2376,7 @@ atk0B_healthbarupdate: @ 8047DE8
bne _08047E68
movs r0, 0x80
adds r1, r2, 0
- bl b_std_message
+ bl PrepareStringBattle
b _08047EA2
.pool
_08047E68:
@@ -4022,7 +2879,7 @@ atk0D_critmessage: @ 80482BC
ldr r0, =gBankAttacker
ldrb r1, [r0]
movs r0, 0xD9
- bl b_std_message
+ bl PrepareStringBattle
ldr r1, =gBattleCommunication
movs r0, 0x1
strb r0, [r1, 0x7]
@@ -4325,7 +3182,7 @@ _0804856E:
adds r0, r3, 0
ldr r1, =gBankAttacker
ldrb r1, [r1]
- bl b_std_message
+ bl PrepareStringBattle
_08048578:
ldr r1, =gBattlescriptCurrInstr
ldr r0, [r1]
@@ -4354,7 +3211,7 @@ atk10_printstring: @ 8048590
orrs r0, r1
ldr r1, =gBankAttacker
ldrb r1, [r1]
- bl b_std_message
+ bl PrepareStringBattle
ldr r0, [r4]
adds r0, 0x3
str r0, [r4]
@@ -4467,7 +3324,7 @@ atk13_printfromtable: @ 8048670
ldrh r0, [r1]
ldr r1, =gBankAttacker
ldrb r1, [r1]
- bl b_std_message
+ bl PrepareStringBattle
ldr r0, [r4]
adds r0, 0x5
str r0, [r4]
@@ -8175,7 +7032,7 @@ _0804A78E:
mov r2, r8
ldrb r1, [r2]
movs r0, 0xD
- bl b_std_message
+ bl PrepareStringBattle
ldr r0, [r6]
ldrb r1, [r0, 0x10]
movs r0, 0x64
@@ -14979,7 +13836,7 @@ _0804E224:
ldr r0, =0x0000013f
ldr r1, =gActiveBank
ldrb r1, [r1]
- bl b_std_message
+ bl PrepareStringBattle
ldr r1, =gBattleScripting
movs r0, 0x6
strb r0, [r1, 0x1F]
@@ -19656,7 +18513,7 @@ _08050B48:
cmp r0, 0x1
beq _08050B78
movs r0, 0
- bl sub_80464AC
+ bl JumpIfMoveAffectedByProtect
lsls r0, 24
cmp r0, 0
beq _08050B78
@@ -23356,7 +22213,7 @@ atkA6_settypetorandomresistance: @ 8052B34
cmp r1, r0
beq _08052B7E
ldrh r0, [r2]
- bl sub_8052F48
+ bl IsTwoTurnsMove
lsls r0, 24
cmp r0, 0
beq _08052C1C
@@ -23825,8 +22682,8 @@ _08052F32:
.pool
thumb_func_end atkA8_copymovepermanently
- thumb_func_start sub_8052F48
-sub_8052F48: @ 8052F48
+ thumb_func_start IsTwoTurnsMove
+IsTwoTurnsMove: @ 8052F48
push {lr}
lsls r0, 16
lsrs r0, 16
@@ -23857,7 +22714,7 @@ _08052F7C:
_08052F7E:
pop {r1}
bx r1
- thumb_func_end sub_8052F48
+ thumb_func_end IsTwoTurnsMove
thumb_func_start sub_8052F84
sub_8052F84: @ 8052F84
@@ -23986,7 +22843,7 @@ _08053036:
cmp r1, 0xFD
beq _08053076
adds r0, r1, 0
- bl sub_8052F48
+ bl IsTwoTurnsMove
lsls r0, 24
cmp r0, 0
beq _08053084
@@ -24100,8 +22957,8 @@ atkAA_set_destinybond: @ 8053150
.pool
thumb_func_end atkAA_set_destinybond
- thumb_func_start b_feature_update_destiny_bond
-b_feature_update_destiny_bond: @ 8053180
+ thumb_func_start DestinyBondFlagUpdate
+DestinyBondFlagUpdate: @ 8053180
push {r4,r5,lr}
ldr r0, =gBankAttacker
ldrb r0, [r0]
@@ -24142,12 +22999,12 @@ _080531CA:
pop {r0}
bx r0
.pool
- thumb_func_end b_feature_update_destiny_bond
+ thumb_func_end DestinyBondFlagUpdate
thumb_func_start atkAB_DestinyBondFlagUpdate
atkAB_DestinyBondFlagUpdate: @ 80531E0
push {lr}
- bl b_feature_update_destiny_bond
+ bl DestinyBondFlagUpdate
ldr r1, =gBattlescriptCurrInstr
ldr r0, [r1]
adds r0, 0x1