summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_2.s26
-rw-r--r--asm/battle_4.s5876
-rw-r--r--asm/battle_5.s12
-rw-r--r--asm/battle_7.s6
-rw-r--r--asm/battle_controller_linkopponent.s2
-rw-r--r--asm/battle_controller_linkpartner.s2
-rw-r--r--asm/battle_controller_opponent.s2
-rw-r--r--asm/battle_controller_player.s4
-rw-r--r--asm/battle_controller_player_partner.s2
-rw-r--r--asm/battle_controller_recorded_opponent.s2
-rw-r--r--asm/battle_controller_recorded_player.s2
-rw-r--r--asm/battle_controller_safari.s2
-rw-r--r--asm/battle_controller_wally.s2
-rw-r--r--asm/rom3.s18
14 files changed, 58 insertions, 5900 deletions
diff --git a/asm/battle_2.s b/asm/battle_2.s
index ad449bfdf..47db7e082 100644
--- a/asm/battle_2.s
+++ b/asm/battle_2.s
@@ -6513,7 +6513,7 @@ _0803A0AE:
ldr r5, =gPauseCounterBattle
ldr r6, =gBattleMoveDamage
ldr r7, =gUnknown_020243FC
- ldr r0, =gUnknown_03005D54
+ ldr r0, =gLeveledUpInBattle
mov r8, r0
ldr r1, =gAbsentBankFlags
mov r9, r1
@@ -7256,8 +7256,8 @@ _0803A6B4:
.pool
thumb_func_end sub_803A284
- thumb_func_start sub_803A75C
-sub_803A75C: @ 803A75C
+ thumb_func_start UndoEffectsAfterFainting
+UndoEffectsAfterFainting: @ 803A75C
push {r4-r7,lr}
mov r7, r10
mov r6, r9
@@ -7786,7 +7786,7 @@ _0803AB6C:
pop {r0}
bx r0
.pool
- thumb_func_end sub_803A75C
+ thumb_func_end UndoEffectsAfterFainting
thumb_func_start bc_8012FAC
bc_8012FAC: @ 803ABC0
@@ -12891,7 +12891,7 @@ _0803D920:
ands r2, r0
cmp r2, 0
beq _0803D95C
- bl sub_805EA60
+ bl BattleMusicStop
ldr r1, =gBattlescriptCurrInstr
ldr r0, =gUnknown_082DAA87
str r0, [r1]
@@ -12912,7 +12912,7 @@ _0803D95C:
beq _0803D968
b _0803DA9E
_0803D968:
- bl sub_805EA60
+ bl BattleMusicStop
ldr r1, =gBattlescriptCurrInstr
ldr r0, =gUnknown_082DA92D
str r0, [r1]
@@ -13371,7 +13371,7 @@ sub_803DE40: @ 803DE40
cmp r0, 0
bne _0803DE86
bl ResetSpriteData
- ldr r0, =gUnknown_03005D54
+ ldr r0, =gLeveledUpInBattle
ldrb r0, [r0]
cmp r0, 0
beq _0803DE62
@@ -13409,7 +13409,7 @@ _0803DEA2:
thumb_func_start bc_evolution_cutscene
bc_evolution_cutscene: @ 803DEB4
push {r4-r6,lr}
- ldr r0, =gUnknown_03005D54
+ ldr r0, =gLeveledUpInBattle
ldrb r1, [r0]
adds r3, r0, 0
cmp r1, 0
@@ -13454,7 +13454,7 @@ _0803DEC2:
.pool
_0803DF20:
adds r6, 0x1
- ldr r3, =gUnknown_03005D54
+ ldr r3, =gLeveledUpInBattle
cmp r6, 0x5
ble _0803DEC2
ldrb r0, [r3]
@@ -16323,7 +16323,7 @@ PrepareStringBattle: @ 803F964
sub_803F988: @ 803F988
push {r4-r6,lr}
movs r3, 0
- ldr r0, =gUnknown_020243FE
+ ldr r0, =gSentPokesToOpponent
strb r3, [r0]
strb r3, [r0, 0x1]
movs r1, 0
@@ -16351,7 +16351,7 @@ _0803F9B6:
ldrb r0, [r2]
cmp r1, r0
bge _0803F9D6
- ldr r5, =gUnknown_020243FE
+ ldr r5, =gSentPokesToOpponent
movs r4, 0x2
_0803F9C4:
adds r0, r1, 0
@@ -16389,7 +16389,7 @@ sub_803F9EC: @ 803F9EC
lsls r0, 24
lsrs r0, 25
mov r12, r0
- ldr r1, =gUnknown_020243FE
+ ldr r1, =gSentPokesToOpponent
adds r0, r1
strb r4, [r0]
adds r5, r4, 0
@@ -16453,7 +16453,7 @@ _0803FA8C:
ldrb r0, [r5]
cmp r3, r0
bge _0803FAC2
- ldr r0, =gUnknown_020243FE
+ ldr r0, =gSentPokesToOpponent
mov r12, r0
movs r7, 0x2
ldr r6, =gBitTable
diff --git a/asm/battle_4.s b/asm/battle_4.s
index 667b93ec8..ddde05c1d 100644
--- a/asm/battle_4.s
+++ b/asm/battle_4.s
@@ -6,5848 +6,6 @@
.text
- thumb_func_start SetMoveEffect
-SetMoveEffect: @ 8048760
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- movs r0, 0
- mov r10, r0
- movs r7, 0
- movs r1, 0x1
- str r1, [sp, 0x4]
- ldr r1, =gBattleCommunication
- ldrb r3, [r1, 0x3]
- movs r0, 0x40
- ands r0, r3
- cmp r0, 0
- beq _080487B8
- ldr r2, =gEffectBank
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- strb r0, [r2]
- movs r0, 0xBF
- ands r0, r3
- adds r3, r1, 0
- strb r0, [r3, 0x3]
- movs r7, 0x40
- ldr r1, =gBattleScripting
- ldr r0, =gBankTarget
- b _080487C4
- .pool
-_080487B8:
- ldr r2, =gEffectBank
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- strb r0, [r2]
- ldr r1, =gBattleScripting
- ldr r0, =gBankAttacker
-_080487C4:
- ldrb r0, [r0]
- strb r0, [r1, 0x17]
- mov r9, r2
- ldr r2, =gBattleMons
- mov r4, r9
- ldrb r1, [r4]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x13
- bne _08048828
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 6
- ands r0, r1
- cmp r0, 0
- bne _08048828
- cmp r5, 0
- bne _08048828
- ldr r1, =gBattleCommunication
- ldrb r0, [r1, 0x3]
- cmp r0, 0x9
- bhi _08048828
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- ldr r2, =gBattleCommunication
- strb r5, [r2, 0x3]
- bl _080499B8
- .pool
-_08048828:
- mov r3, r9
- ldrb r0, [r3]
- bl GetBankIdentity
- ldr r2, =gSideAffecting
- movs r1, 0x1
- ands r1, r0
- lsls r1, 1
- adds r1, r2
- ldrh r1, [r1]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08048880
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 6
- ands r0, r1
- cmp r0, 0
- bne _08048880
- cmp r5, 0
- bne _08048880
- ldr r0, =gBattleCommunication
- ldrb r1, [r0, 0x3]
- cmp r1, 0x7
- bhi _08048880
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- ldr r4, =gBattleCommunication
- strb r5, [r4, 0x3]
- bl _080499B8
- .pool
-_08048880:
- ldr r3, =gBattleMons
- ldr r2, =gEffectBank
- ldrb r1, [r2]
- movs r0, 0x58
- muls r0, r1
- adds r0, r3
- ldrh r4, [r0, 0x28]
- mov r9, r2
- mov r8, r3
- cmp r4, 0
- bne _080488C4
- ldr r1, =gBattleCommunication
- ldrb r0, [r1, 0x3]
- cmp r0, 0xB
- beq _080488C4
- cmp r0, 0x1F
- beq _080488C4
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- ldr r2, =gBattleCommunication
- strb r4, [r2, 0x3]
- bl _080499B8
- .pool
-_080488C4:
- mov r3, r9
- ldrb r1, [r3]
- movs r0, 0x58
- muls r0, r1
- mov r1, r8
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _080488FC
- cmp r7, 0x40
- beq _080488FC
- ldr r0, =gBattlescriptCurrInstr
- ldr r1, [r0]
- adds r1, 0x1
- str r1, [r0]
- movs r0, 0
- ldr r4, =gBattleCommunication
- strb r0, [r4, 0x3]
- bl _080499B8
- .pool
-_080488FC:
- ldr r1, =gBattleCommunication
- ldrb r0, [r1, 0x3]
- cmp r0, 0x6
- bls _08048906
- b _08048F40
-_08048906:
- ldr r1, =gStatusFlagsForMoveEffects
- ldr r2, =gBattleCommunication
- ldrb r0, [r2, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0x10
- bne _08048918
- b _08048AFC
-_08048918:
- cmp r0, 0x10
- bhi _08048930
- cmp r0, 0x7
- beq _0804894A
- cmp r0, 0x8
- beq _08048A00
- b _08048DF4
- .pool
-_08048930:
- cmp r0, 0x40
- bne _08048936
- b _08048C84
-_08048936:
- cmp r0, 0x40
- bhi _08048942
- cmp r0, 0x20
- bne _08048940
- b _08048BEA
-_08048940:
- b _08048DF4
-_08048942:
- cmp r0, 0x80
- bne _08048948
- b _08048D02
-_08048948:
- b _08048DF4
-_0804894A:
- mov r3, r9
- ldrb r1, [r3]
- movs r0, 0x58
- muls r0, r1
- add r0, r8
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x2B
- beq _080489AC
- ldr r0, =gActiveBank
- movs r1, 0
- strb r1, [r0]
- ldr r1, =gNoOfAllBanks
- ldrb r3, [r1]
- adds r7, r0, 0
- mov r12, r1
- cmp r3, 0
- beq _080489B8
- mov r4, r8
- ldr r0, [r4, 0x50]
- movs r1, 0x70
- ands r0, r1
- cmp r0, 0
- bne _080489B8
- adds r1, r7, 0
- mov r6, r8
- adds r6, 0x50
- movs r5, 0x58
- movs r4, 0x70
-_08048984:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r3
- bcs _080489B8
- ldrb r0, [r7]
- muls r0, r5
- adds r0, r6
- ldr r0, [r0]
- ands r0, r4
- cmp r0, 0
- beq _08048984
- b _080489B8
- .pool
-_080489AC:
- ldr r0, =gActiveBank
- ldr r2, =gNoOfAllBanks
- ldrb r1, [r2]
- strb r1, [r0]
- adds r7, r0, 0
- mov r12, r2
-_080489B8:
- mov r0, r9
- ldrb r2, [r0]
- movs r0, 0x58
- adds r1, r2, 0
- muls r1, r0
- mov r0, r8
- adds r0, 0x4C
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080489D0
- b _08048DF4
-_080489D0:
- ldrb r0, [r7]
- mov r3, r12
- ldrb r3, [r3]
- cmp r0, r3
- beq _080489DC
- b _08048DF4
-_080489DC:
- mov r4, r8
- adds r0, r1, r4
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x48
- bne _080489EA
- b _08048DF4
-_080489EA:
- cmp r0, 0xF
- bne _080489F0
- b _08048DF4
-_080489F0:
- adds r0, r2, 0
- bl CancelMultiTurnMoves
- b _08048DE4
- .pool
-_08048A00:
- mov r2, r9
- ldrb r1, [r2]
- movs r0, 0x58
- muls r0, r1
- add r0, r8
- adds r0, 0x20
- ldrb r1, [r0]
- cmp r1, 0x11
- bne _08048A70
- cmp r5, 0x1
- beq _08048A1A
- cmp r6, 0x80
- bne _08048A70
-_08048A1A:
- ldr r0, =gLastUsedAbility
- strb r1, [r0]
- mov r3, r9
- ldrb r0, [r3]
- movs r1, 0x11
- bl RecordAbilityBattle
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =BattleScript_PSNPrevention
- str r0, [r4]
- ldr r2, =gHitMarker
- ldr r1, [r2]
- movs r0, 0x80
- lsls r0, 6
- ands r0, r1
- cmp r0, 0
- bne _08048A46
- b _08048D20
-_08048A46:
- movs r0, 0x1
- ldr r4, =gBattleCommunication
- strb r0, [r4, 0x5]
-_08048A4C:
- ldr r0, =0xffffdfff
- ands r1, r0
- str r1, [r2]
- bl _080499B2
- .pool
-_08048A70:
- mov r2, r9
- ldrb r0, [r2]
- movs r1, 0x58
- muls r0, r1
- add r0, r8
- adds r1, r0, 0
- adds r1, 0x21
- ldrb r1, [r1]
- cmp r1, 0x3
- beq _08048A94
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _08048A94
- cmp r1, 0x8
- beq _08048A94
- cmp r0, 0x8
- bne _08048AAE
-_08048A94:
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 6
- ands r0, r1
- cmp r0, 0
- beq _08048AAE
- cmp r5, 0x1
- bne _08048AA8
- b _08048D66
-_08048AA8:
- cmp r6, 0x80
- bne _08048AAE
- b _08048D66
-_08048AAE:
- mov r3, r9
- ldrb r1, [r3]
- movs r0, 0x58
- muls r1, r0
- mov r4, r8
- adds r3, r1, r4
- adds r0, r3, 0
- adds r0, 0x21
- ldrb r4, [r0]
- cmp r4, 0x3
- bne _08048AC6
- b _08048DF4
-_08048AC6:
- adds r0, 0x1
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _08048AD0
- b _08048DF4
-_08048AD0:
- cmp r4, 0x8
- bne _08048AD6
- b _08048DF4
-_08048AD6:
- cmp r0, 0x8
- bne _08048ADC
- b _08048DF4
-_08048ADC:
- mov r0, r8
- adds r0, 0x4C
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _08048AEA
- b _08048DF4
-_08048AEA:
- adds r0, r3, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x11
- bne _08048AF6
- b _08048DF4
-_08048AF6:
- b _08048DE4
- .pool
-_08048AFC:
- mov r2, r9
- ldrb r1, [r2]
- movs r0, 0x58
- muls r0, r1
- add r0, r8
- adds r0, 0x20
- ldrb r1, [r0]
- cmp r1, 0x29
- bne _08048B54
- cmp r5, 0x1
- beq _08048B16
- cmp r6, 0x80
- bne _08048B54
-_08048B16:
- ldr r0, =gLastUsedAbility
- strb r1, [r0]
- mov r3, r9
- ldrb r0, [r3]
- movs r1, 0x29
- bl RecordAbilityBattle
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =BattleScript_BRNPrevention
- str r0, [r4]
- ldr r2, =gHitMarker
- ldr r1, [r2]
- movs r0, 0x80
- lsls r0, 6
- ands r0, r1
- cmp r0, 0
- beq _08048B42
- b _08048A46
-_08048B42:
- b _08048D20
- .pool
-_08048B54:
- mov r2, r9
- ldrb r1, [r2]
- movs r0, 0x58
- muls r0, r1
- mov r3, r8
- adds r1, r0, r3
- adds r0, r1, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, 0xA
- beq _08048B74
- adds r0, r1, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0xA
- bne _08048BA4
-_08048B74:
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 6
- ands r0, r1
- cmp r0, 0
- beq _08048BA4
- cmp r5, 0x1
- beq _08048B8A
- cmp r6, 0x80
- bne _08048BA4
-_08048B8A:
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =BattleScript_BRNPrevention
- b _08048D72
- .pool
-_08048BA4:
- mov r4, r9
- ldrb r0, [r4]
- movs r1, 0x58
- adds r2, r0, 0
- muls r2, r1
- mov r0, r8
- adds r1, r2, r0
- adds r0, r1, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, 0xA
- bne _08048BBE
- b _08048DF4
-_08048BBE:
- adds r0, r1, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0xA
- bne _08048BCA
- b _08048DF4
-_08048BCA:
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x29
- bne _08048BD6
- b _08048DF4
-_08048BD6:
- mov r0, r8
- adds r0, 0x4C
- adds r0, r2, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _08048BE4
- b _08048DF4
-_08048BE4:
- movs r1, 0x1
- mov r10, r1
- b _08048DF4
-_08048BEA:
- 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 _08048C26
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r2, 0x4D
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- bne _08048C26
- ldr r0, =gBattleWeather
- ldrh r1, [r0]
- movs r0, 0x60
- ands r0, r1
- cmp r0, 0
- beq _08048C26
- movs r2, 0
- str r2, [sp, 0x4]
-_08048C26:
- ldr r4, =gBattleMons
- ldr r0, =gEffectBank
- ldrb r3, [r0]
- movs r0, 0x58
- adds r2, r3, 0
- muls r2, r0
- adds r1, r2, r4
- adds r0, r1, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, 0xF
- bne _08048C40
- b _08048DF4
-_08048C40:
- adds r0, r1, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0xF
- bne _08048C4C
- b _08048DF4
-_08048C4C:
- adds r0, r4, 0
- adds r0, 0x4C
- adds r0, r2, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _08048C5A
- b _08048DF4
-_08048C5A:
- ldr r4, [sp, 0x4]
- cmp r4, 0
- bne _08048C62
- b _08048DF4
-_08048C62:
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x28
- bne _08048C6E
- b _08048DF4
-_08048C6E:
- adds r0, r3, 0
- bl CancelMultiTurnMoves
- b _08048DE4
- .pool
-_08048C84:
- mov r2, r9
- ldrb r1, [r2]
- movs r0, 0x58
- muls r1, r0
- mov r3, r8
- adds r0, r1, r3
- adds r0, 0x20
- ldrb r2, [r0]
- cmp r2, 0x7
- bne _08048CF4
- cmp r5, 0x1
- beq _08048CA2
- cmp r6, 0x80
- beq _08048CA2
- b _08048DF4
-_08048CA2:
- ldr r0, =gLastUsedAbility
- strb r2, [r0]
- mov r4, r9
- ldrb r0, [r4]
- movs r1, 0x7
- bl RecordAbilityBattle
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =BattleScript_PRLZPrevention
- str r0, [r4]
- ldr r2, =gHitMarker
- ldr r1, [r2]
- movs r0, 0x80
- lsls r0, 6
- ands r0, r1
- cmp r0, 0
- beq _08048CE8
- movs r0, 0x1
- ldr r3, =gBattleCommunication
- strb r0, [r3, 0x5]
- b _08048A4C
- .pool
-_08048CE8:
- ldr r4, =gBattleCommunication
- strb r0, [r4, 0x5]
- bl _080499B2
- .pool
-_08048CF4:
- mov r0, r8
- adds r0, 0x4C
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- bne _08048DF4
- b _08048DE4
-_08048D02:
- mov r2, r9
- ldrb r1, [r2]
- movs r0, 0x58
- muls r0, r1
- add r0, r8
- adds r0, 0x20
- ldrb r1, [r0]
- cmp r1, 0x11
- bne _08048D2C
- cmp r5, 0x1
- bne _08048D1A
- b _08048A1A
-_08048D1A:
- cmp r6, 0x80
- bne _08048D2C
- b _08048A1A
-_08048D20:
- ldr r1, =gBattleCommunication
- strb r0, [r1, 0x5]
- bl _080499B2
- .pool
-_08048D2C:
- mov r2, r9
- ldrb r0, [r2]
- movs r1, 0x58
- muls r0, r1
- add r0, r8
- adds r1, r0, 0
- adds r1, 0x21
- ldrb r1, [r1]
- cmp r1, 0x3
- beq _08048D50
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _08048D50
- cmp r1, 0x8
- beq _08048D50
- cmp r0, 0x8
- bne _08048D94
-_08048D50:
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 6
- ands r0, r1
- cmp r0, 0
- beq _08048D94
- cmp r5, 0x1
- beq _08048D66
- cmp r6, 0x80
- bne _08048D94
-_08048D66:
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =BattleScript_PSNPrevention
-_08048D72:
- str r0, [r4]
- ldr r1, =gBattleCommunication
- movs r2, 0
- movs r0, 0x2
- strb r0, [r1, 0x5]
- strb r2, [r1, 0x3]
- bl _080499B8
- .pool
-_08048D94:
- mov r3, r9
- ldrb r0, [r3]
- movs r6, 0x58
- muls r0, r6
- mov r2, r8
- adds r2, 0x4C
- adds r5, r0, r2
- ldr r4, [r5]
- cmp r4, 0
- bne _08048DF4
- mov r3, r8
- adds r1, r0, r3
- adds r0, r1, 0
- adds r0, 0x21
- ldrb r3, [r0]
- cmp r3, 0x3
- beq _08048DEA
- adds r0, 0x1
- ldrb r0, [r0]
- cmp r0, 0x3
- beq _08048DEA
- cmp r3, 0x8
- beq _08048DEA
- cmp r0, 0x8
- beq _08048DEA
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x11
- beq _08048DF4
- mov r4, r9
- ldrb r0, [r4]
- adds r1, r0, 0
- muls r1, r6
- adds r1, r2
- ldr r0, [r1]
- movs r2, 0x9
- negs r2, r2
- ands r0, r2
- str r0, [r1]
-_08048DE4:
- movs r0, 0x1
- mov r10, r0
- b _08048DF4
-_08048DEA:
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0]
-_08048DF4:
- mov r1, r10
- cmp r1, 0x1
- beq _08048DFC
- b _08048F1C
-_08048DFC:
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r1, =gStatusFlagsForMoveEffects
- ldr r0, =gBattleCommunication
- ldrb r0, [r0, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r3, [r0]
- cmp r3, 0x7
- bne _08048E50
- bl Random
- ldr r2, =gBattleMons
- ldr r1, =gEffectBank
- ldrb r3, [r1]
- movs r1, 0x58
- muls r3, r1
- adds r2, 0x4C
- adds r3, r2
- movs r1, 0x3
- ands r1, r0
- adds r1, 0x2
- ldr r0, [r3]
- orrs r0, r1
- str r0, [r3]
- b _08048E64
- .pool
-_08048E50:
- ldr r2, =gBattleMons
- ldr r0, =gEffectBank
- ldrb r1, [r0]
- movs r0, 0x58
- muls r1, r0
- adds r2, 0x4C
- adds r1, r2
- ldr r0, [r1]
- orrs r0, r3
- str r0, [r1]
-_08048E64:
- ldr r2, =gBattlescriptCurrInstr
- ldr r1, =gMoveEffectBS_Ptrs
- ldr r5, =gBattleCommunication
- ldrb r0, [r5, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [r2]
- ldr r4, =gActiveBank
- ldr r1, =gEffectBank
- ldrb r0, [r1]
- strb r0, [r4]
- ldrb r1, [r1]
- movs r0, 0x58
- muls r0, r1
- ldr r1, =gBattleMons + 0x4C
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- movs r1, 0x28
- movs r2, 0
- movs r3, 0x4
- bl EmitSetAttributes
- ldrb r0, [r4]
- bl MarkBufferBankForExecution
- ldr r2, =gHitMarker
- ldr r1, [r2]
- movs r0, 0x80
- lsls r0, 6
- ands r0, r1
- cmp r0, 0
- beq _08048ED8
- movs r0, 0x1
- strb r0, [r5, 0x5]
- ldr r0, =0xffffdfff
- ands r1, r0
- str r1, [r2]
- b _08048EDA
- .pool
-_08048ED8:
- strb r0, [r5, 0x5]
-_08048EDA:
- ldr r0, =gBattleCommunication
- ldrb r2, [r0, 0x3]
- cmp r2, 0x2
- beq _08048EF2
- cmp r2, 0x6
- beq _08048EF2
- cmp r2, 0x5
- beq _08048EF2
- cmp r2, 0x3
- beq _08048EF2
- bl _080499B8
-_08048EF2:
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0xB2
- ldr r2, =gBattleCommunication
- ldrb r1, [r2, 0x3]
- strb r1, [r0]
- ldr r2, =gHitMarker
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 7
- orrs r0, r1
- str r0, [r2]
- bl _080499B8
- .pool
-_08048F1C:
- mov r3, r10
- cmp r3, 0
- beq _08048F26
- bl _080499B8
-_08048F26:
- ldr r0, =gBattleCommunication
- strb r3, [r0, 0x3]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bl _080499B8
- .pool
-_08048F40:
- mov r4, r9
- ldrb r1, [r4]
- movs r0, 0x58
- muls r1, r0
- mov r0, r8
- adds r0, 0x50
- adds r1, r0
- ldr r2, =gStatusFlagsForMoveEffects
- ldr r0, =gBattleCommunication
- ldrb r3, [r0, 0x3]
- lsls r0, r3, 2
- adds r0, r2
- ldr r1, [r1]
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _08048F66
- bl _08049994
-_08048F66:
- subs r0, r3, 0x7
- cmp r0, 0x34
- bls _08048F70
- bl _080499B2
-_08048F70:
- lsls r0, 2
- ldr r1, =_08048F88
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_08048F88:
- .4byte _0804905C
- .4byte _080490D0
- .4byte _08049244
- .4byte _0804915C
- .4byte _080491D8
- .4byte _0804927C
- .4byte _080492C4
- .4byte _08049390
- .4byte _080493D4
- .4byte _080493D4
- .4byte _080493D4
- .4byte _080493D4
- .4byte _080493D4
- .4byte _080493D4
- .4byte _080493D4
- .4byte _0804941C
- .4byte _0804941C
- .4byte _0804941C
- .4byte _0804941C
- .4byte _0804941C
- .4byte _0804941C
- .4byte _0804941C
- .4byte _080494FC
- .4byte _08049544
- .4byte _08049564
- .4byte _08049720
- .4byte _0804975C
- .4byte _08049778
- .4byte _08049790
- .4byte _080497A8
- .4byte _08049808
- .4byte _08049820
- .4byte _08049468
- .4byte _08049468
- .4byte _08049468
- .4byte _08049468
- .4byte _08049468
- .4byte _08049468
- .4byte _08049468
- .4byte _080494B0
- .4byte _080494B0
- .4byte _080494B0
- .4byte _080494B0
- .4byte _080494B0
- .4byte _080494B0
- .4byte _080494B0
- .4byte _08049864
- .4byte _080498C0
- .4byte _080499B2
- .4byte _080499B2
- .4byte _080499B2
- .4byte _080499B2
- .4byte _080499A4
-_0804905C:
- mov r1, r9
- ldrb r0, [r1]
- movs r5, 0x58
- adds r1, r0, 0
- muls r1, r5
- mov r2, r8
- adds r0, r1, r2
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x14
- bne _08049076
- bl _08049994
-_08049076:
- mov r4, r8
- adds r4, 0x50
- adds r0, r1, r4
- ldr r0, [r0]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- beq _0804908A
- bl _08049994
-_0804908A:
- bl Random
- mov r3, r9
- ldrb r1, [r3]
- adds r2, r1, 0
- muls r2, r5
- adds r2, r4
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r0
- lsrs r1, 16
- adds r1, 0x2
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r1, =gMoveEffectBS_Ptrs
- ldr r0, =gBattleCommunication
- ldrb r0, [r0, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _080499B0
- .pool
-_080490D0:
- mov r4, r9
- ldrb r2, [r4]
- movs r4, 0x58
- adds r0, r2, 0
- muls r0, r4
- add r0, r8
- adds r0, 0x20
- ldrb r1, [r0]
- cmp r1, 0x27
- bne _08049114
- cmp r5, 0x1
- beq _080490F0
- cmp r6, 0x80
- beq _080490F0
- bl _08049994
-_080490F0:
- ldr r0, =gLastUsedAbility
- strb r1, [r0]
- mov r1, r9
- ldrb r0, [r1]
- movs r1, 0x27
- bl RecordAbilityBattle
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =BattleScript_FlinchPrevention
- str r0, [r1]
- bl _080499B2
- .pool
-_08049114:
- adds r0, r2, 0
- bl BankGetTurnOrder
- ldr r1, =gCurrentMoveTurn
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bhi _0804912A
- bl _08049994
-_0804912A:
- mov r2, r9
- ldrb r0, [r2]
- adds r2, r0, 0
- muls r2, r4
- mov r0, r8
- adds r0, 0x50
- adds r2, r0
- ldr r1, =gStatusFlagsForMoveEffects
- ldr r0, =gBattleCommunication
- ldrb r0, [r0, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r2]
- ldr r0, [r0]
- orrs r1, r0
- str r1, [r2]
- bl _08049994
- .pool
-_0804915C:
- mov r3, r9
- ldrb r0, [r3]
- movs r5, 0x58
- muls r0, r5
- mov r4, r8
- adds r4, 0x50
- adds r2, r0, r4
- ldr r1, [r2]
- movs r0, 0x70
- ands r0, r1
- cmp r0, 0
- beq _08049178
- bl _08049994
-_08049178:
- movs r0, 0x80
- lsls r0, 5
- orrs r1, r0
- str r1, [r2]
- ldr r1, =gLockedMoves
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r1
- ldr r1, =gCurrentMove
- ldrh r1, [r1]
- strh r1, [r0]
- bl Random
- mov r2, r9
- ldrb r1, [r2]
- adds r2, r1, 0
- muls r2, r5
- adds r2, r4
- movs r1, 0x3
- ands r1, r0
- adds r1, 0x2
- lsls r1, 4
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r1, =gMoveEffectBS_Ptrs
- ldr r0, =gBattleCommunication
- ldrb r0, [r0, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _080499B0
- .pool
-_080491D8:
- ldr r5, =gBankAttacker
- ldrb r0, [r5]
- bl GetBankIdentity
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- bne _08049210
- ldr r4, =gPaydayMoney
- ldrh r3, [r4]
- ldr r2, =gBattleMons
- ldrb r1, [r5]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x2A
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- adds r0, r3, r0
- strh r0, [r4]
- lsls r0, 16
- lsrs r0, 16
- cmp r3, r0
- bls _08049210
- ldr r3, =0x0000ffff
- adds r0, r3, 0
- strh r0, [r4]
-_08049210:
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r1, =gMoveEffectBS_Ptrs
- ldr r0, =gBattleCommunication
- ldrb r0, [r0, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- b _080499B0
- .pool
-_08049244:
- mov r4, r9
- ldrb r1, [r4]
- movs r0, 0x58
- muls r0, r1
- mov r1, r8
- adds r1, 0x4C
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _0804925A
- b _08049994
-_0804925A:
- bl Random
- ldr r4, =gBattleCommunication
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- adds r0, 0x3
- strb r0, [r4, 0x3]
- movs r0, 0
- movs r1, 0
- bl SetMoveEffect
- b _080499B2
- .pool
-_0804927C:
- mov r0, r9
- ldrb r1, [r0]
- movs r0, 0x58
- adds r2, r1, 0
- muls r2, r0
- mov r0, r8
- adds r0, 0x50
- adds r2, r0
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 5
- orrs r0, r1
- str r0, [r2]
- ldr r1, =gLockedMoves
- mov r2, r9
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r1
- ldr r1, =gCurrentMove
- ldrh r1, [r1]
- strh r1, [r0]
- ldr r0, =gProtectStructs
- ldrb r1, [r2]
- lsls r1, 4
- adds r1, r0
- ldrb r0, [r1, 0x1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1, 0x1]
- b _08049994
- .pool
-_080492C4:
- mov r3, r9
- ldrb r0, [r3]
- movs r6, 0x58
- muls r0, r6
- mov r4, r8
- adds r4, 0x50
- adds r0, r4
- ldr r5, [r0]
- movs r0, 0xE0
- lsls r0, 8
- ands r5, r0
- cmp r5, 0
- beq _080492E0
- b _08049994
-_080492E0:
- bl Random
- mov r2, r9
- ldrb r1, [r2]
- adds r2, r1, 0
- muls r2, r6
- adds r2, r4
- movs r1, 0x3
- ands r1, r0
- adds r1, 0x3
- lsls r1, 13
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
- mov r3, r9
- ldrb r1, [r3]
- ldr r2, =gBattleStruct
- ldr r0, [r2]
- lsls r1, 1
- adds r1, r0
- ldr r6, =gCurrentMove
- ldrh r0, [r6]
- strb r0, [r1, 0x4]
- ldrb r1, [r3]
- ldr r0, [r2]
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r6]
- lsrs r0, 8
- strb r0, [r1, 0x5]
- ldrb r1, [r3]
- ldr r0, [r2]
- adds r1, r0
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- strb r0, [r1, 0x14]
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r1, =gMoveEffectBS_Ptrs
- ldr r2, =gBattleCommunication
- ldrb r0, [r2, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [r4]
- strb r5, [r2, 0x5]
- ldr r3, =gTrappingMoves
- ldrh r0, [r3]
- ldrh r4, [r6]
- cmp r0, r4
- bne _0804934E
- b _080499B2
-_0804934E:
- adds r1, r2, 0
- adds r2, r6, 0
-_08049352:
- ldrb r0, [r1, 0x5]
- adds r0, 0x1
- strb r0, [r1, 0x5]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bls _08049362
- b _080499B2
-_08049362:
- ldrb r0, [r1, 0x5]
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- ldrh r4, [r2]
- cmp r0, r4
- bne _08049352
- b _080499B2
- .pool
-_08049390:
- ldr r1, =gBattleMoveDamage
- ldr r0, =gHpDealt
- ldr r0, [r0]
- cmp r0, 0
- bge _0804939C
- adds r0, 0x3
-_0804939C:
- asrs r0, 2
- str r0, [r1]
- cmp r0, 0
- bne _080493A8
- movs r0, 0x1
- str r0, [r1]
-_080493A8:
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r1, =gMoveEffectBS_Ptrs
- ldr r0, =gBattleCommunication
- ldrb r0, [r0, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- b _080499B0
- .pool
-_080493D4:
- ldr r4, =gBattleCommunication
- ldrb r1, [r4, 0x3]
- adds r1, 0xF2
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x10
- adds r2, r7, 0
- movs r3, 0
- bl ChangeStatBuffs
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _080493F2
- b _08049994
-_080493F2:
- ldr r2, =gBattleScripting
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2, 0x10]
- strb r3, [r2, 0x11]
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =BattleScript_StatUp
- b _080499B0
- .pool
-_0804941C:
- movs r0, 0x70
- negs r0, r0
- ldr r4, =gBattleCommunication
- ldrb r1, [r4, 0x3]
- adds r1, 0xEB
- lsls r1, 24
- lsrs r1, 24
- adds r2, r7, 0
- movs r3, 0
- bl ChangeStatBuffs
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _0804943C
- b _08049994
-_0804943C:
- ldr r2, =gBattleScripting
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2, 0x10]
- strb r3, [r2, 0x11]
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =BattleScript_StatDown
- b _080499B0
- .pool
-_08049468:
- ldr r4, =gBattleCommunication
- ldrb r1, [r4, 0x3]
- adds r1, 0xDA
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x20
- adds r2, r7, 0
- movs r3, 0
- bl ChangeStatBuffs
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _08049486
- b _08049994
-_08049486:
- ldr r2, =gBattleScripting
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2, 0x10]
- strb r3, [r2, 0x11]
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =BattleScript_StatUp
- b _080499B0
- .pool
-_080494B0:
- movs r0, 0x60
- negs r0, r0
- ldr r4, =gBattleCommunication
- ldrb r1, [r4, 0x3]
- adds r1, 0xD3
- lsls r1, 24
- lsrs r1, 24
- adds r2, r7, 0
- movs r3, 0
- bl ChangeStatBuffs
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _080494D0
- b _08049994
-_080494D0:
- ldr r2, =gBattleScripting
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2, 0x10]
- strb r3, [r2, 0x11]
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =BattleScript_StatDown
- b _080499B0
- .pool
-_080494FC:
- mov r0, r9
- ldrb r1, [r0]
- movs r0, 0x58
- adds r2, r1, 0
- muls r2, r0
- mov r0, r8
- adds r0, 0x50
- adds r2, r0
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 15
- orrs r0, r1
- str r0, [r2]
- ldr r2, =gDisableStructs
- mov r3, r9
- ldrb r1, [r3]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x2
- strb r1, [r0, 0x19]
- ldr r1, =gLockedMoves
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r1
- ldr r1, =gCurrentMove
- ldrh r1, [r1]
- strh r1, [r0]
- b _08049994
- .pool
-_08049544:
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x58
- adds r2, r1, 0
- muls r2, r0
- mov r0, r8
- adds r0, 0x50
- adds r2, r0
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 16
-_0804955A:
- orrs r0, r1
- str r0, [r2]
- b _08049994
- .pool
-_08049564:
- ldr r5, =gBattleTypeFlags
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 19
- ands r0, r1
- cmp r0, 0
- beq _08049574
- b _08049994
-_08049574:
- ldr r6, =gBankAttacker
- ldrb r0, [r6]
- bl GetBankSide
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r6]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080495A8
- ldr r0, [r5]
- ldr r1, =0x0a3f0902
- ands r0, r1
- cmp r0, 0
- bne _080495D4
- b _08049994
- .pool
-_080495A8:
- ldr r0, [r5]
- ldr r1, =0x0a3f0902
- ands r0, r1
- cmp r0, 0
- bne _080495D4
- ldr r0, =gWishFutureKnock
- adds r0, 0x29
- adds r0, r4, r0
- ldrb r1, [r0]
- ldr r3, =gBitTable
- ldr r2, =gBattlePartyID
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _080495D4
- b _08049994
-_080495D4:
- ldr r2, =gBattleMons
- ldr r1, =gBankTarget
- ldrb r0, [r1]
- movs r5, 0x58
- muls r0, r5
- adds r4, r0, r2
- ldrh r0, [r4, 0x2E]
- adds r7, r1, 0
- mov r8, r2
- cmp r0, 0
- beq _0804963C
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x3C
- bne _0804963C
- bl b_movescr_stack_push_cursor
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =BattleScript_NoItemSteal
- str r0, [r1]
- ldr r1, =gLastUsedAbility
- ldrb r0, [r7]
- muls r0, r5
- add r0, r8
- adds r0, 0x20
- ldrb r0, [r0]
- strb r0, [r1]
- ldrb r0, [r7]
- ldrb r1, [r1]
- bl RecordAbilityBattle
- b _080499B2
- .pool
-_0804963C:
- ldr r4, =gBankAttacker
- mov r10, r4
- ldrb r2, [r4]
- movs r0, 0x58
- mov r9, r0
- mov r0, r9
- muls r0, r2
- add r0, r8
- ldrh r4, [r0, 0x2E]
- cmp r4, 0
- beq _08049654
- b _08049994
-_08049654:
- ldrb r0, [r7]
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
- add r0, r8
- ldrh r3, [r0, 0x2E]
- adds r1, r3, 0
- cmp r1, 0xAF
- bne _08049668
- b _08049994
-_08049668:
- adds r0, r3, 0
- subs r0, 0x79
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xB
- bhi _08049676
- b _08049994
-_08049676:
- cmp r1, 0
- bne _0804967C
- b _08049994
-_0804967C:
- ldr r5, =gBattleStruct
- lsls r0, r2, 1
- adds r0, 0xD0
- ldr r1, [r5]
- adds r1, r0
- ldr r2, =gLastUsedItem
- strh r3, [r1]
- strh r3, [r2]
- ldrb r0, [r7]
- mov r3, r9
- muls r3, r0
- adds r0, r3, 0
- add r0, r8
- movs r6, 0
- strh r4, [r0, 0x2E]
- ldr r4, =gActiveBank
- mov r1, r10
- ldrb r0, [r1]
- strb r0, [r4]
- str r2, [sp]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x2
- bl EmitSetAttributes
- mov r2, r10
- ldrb r0, [r2]
- bl MarkBufferBankForExecution
- ldrb r0, [r7]
- strb r0, [r4]
- ldrb r0, [r7]
- mov r3, r9
- muls r3, r0
- adds r0, r3, 0
- mov r1, r8
- adds r1, 0x2E
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x2
- bl EmitSetAttributes
- ldrb r0, [r7]
- bl MarkBufferBankForExecution
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =BattleScript_ItemSteal
- str r0, [r4]
- ldrb r0, [r7]
- ldr r1, [r5]
- lsls r0, 1
- adds r0, r1
- adds r0, 0xC8
- strb r6, [r0]
- ldrb r0, [r7]
- ldr r1, [r5]
- lsls r0, 1
- adds r0, r1
- adds r0, 0xC9
- strb r6, [r0]
- b _080499B2
- .pool
-_08049720:
- ldr r3, =gBankTarget
- ldrb r1, [r3]
- movs r0, 0x58
- adds r2, r1, 0
- muls r2, r0
- mov r0, r8
- adds r0, 0x50
- adds r2, r0
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 19
- orrs r0, r1
- str r0, [r2]
- ldr r2, =gDisableStructs
- ldrb r1, [r3]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, =gBankAttacker
- ldrb r1, [r1]
- strb r1, [r0, 0x14]
- b _08049994
- .pool
-_0804975C:
- ldr r0, =gBankTarget
- ldrb r1, [r0]
- movs r0, 0x58
- adds r2, r1, 0
- muls r2, r0
- mov r0, r8
- adds r0, 0x50
- adds r2, r0
- ldr r0, [r2]
- movs r1, 0x80
- lsls r1, 20
- b _0804955A
- .pool
-_08049778:
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =BattleScript_AllStatsUp
- b _080499B0
- .pool
-_08049790:
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =BattleScript_RapidSpinAway
- b _080499B0
- .pool
-_080497A8:
- ldr r6, =gBankTarget
- ldrb r0, [r6]
- movs r2, 0x58
- muls r0, r2
- mov r1, r8
- adds r1, 0x4C
- adds r5, r0, r1
- ldr r4, [r5]
- movs r0, 0x40
- ands r0, r4
- cmp r0, 0
- bne _080497C2
- b _08049994
-_080497C2:
- movs r0, 0x41
- negs r0, r0
- ands r4, r0
- str r4, [r5]
- ldr r4, =gActiveBank
- ldrb r0, [r6]
- strb r0, [r4]
- ldrb r0, [r4]
- muls r0, r2
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- movs r1, 0x28
- movs r2, 0
- movs r3, 0x4
- bl EmitSetAttributes
- ldrb r0, [r4]
- bl MarkBufferBankForExecution
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =BattleScript_TargetPRLZHeal
- b _080499B0
- .pool
-_08049808:
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =BattleScript_AtkDefDown
- b _080499B0
- .pool
-_08049820:
- ldr r4, =gBattleMoveDamage
- ldr r0, =gHpDealt
- ldr r0, [r0]
- movs r1, 0x3
- bl __divsi3
- str r0, [r4]
- cmp r0, 0
- bne _08049836
- movs r0, 0x1
- str r0, [r4]
-_08049836:
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r1, =gMoveEffectBS_Ptrs
- ldr r0, =gBattleCommunication
- ldrb r0, [r0, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- b _080499B0
- .pool
-_08049864:
- mov r4, r9
- ldrb r0, [r4]
- movs r5, 0x58
- muls r0, r5
- mov r4, r8
- adds r4, 0x50
- adds r2, r0, r4
- ldr r1, [r2]
- movs r0, 0xC0
- lsls r0, 4
- ands r0, r1
- cmp r0, 0
- beq _08049880
- b _08049994
-_08049880:
- movs r0, 0x80
- lsls r0, 5
- orrs r1, r0
- str r1, [r2]
- ldr r1, =gLockedMoves
- mov r2, r9
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r1
- ldr r1, =gCurrentMove
- ldrh r1, [r1]
- strh r1, [r0]
- bl Random
- mov r3, r9
- ldrb r1, [r3]
- adds r2, r1, 0
- muls r2, r5
- adds r2, r4
- movs r1, 0x1
- ands r1, r0
- adds r1, 0x2
- lsls r1, 10
- ldr r0, [r2]
- orrs r0, r1
- str r0, [r2]
- b _080499B2
- .pool
-_080498C0:
- mov r4, r9
- ldrb r3, [r4]
- movs r5, 0x58
- adds r0, r3, 0
- muls r0, r5
- mov r2, r8
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r2, [r0]
- cmp r2, 0x3C
- bne _08049900
- ldrh r0, [r1, 0x2E]
- cmp r0, 0
- beq _08049994
- ldr r0, =gLastUsedAbility
- strb r2, [r0]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB63F
- str r0, [r1]
- ldrb r0, [r4]
- movs r1, 0x3C
- bl RecordAbilityBattle
- b _080499B2
- .pool
-_08049900:
- ldrh r0, [r1, 0x2E]
- cmp r0, 0
- beq _08049994
- adds r0, r3, 0
- bl GetBankSide
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gLastUsedItem
- mov r3, r9
- ldrb r0, [r3]
- muls r0, r5
- add r0, r8
- ldrh r0, [r0, 0x2E]
- strh r0, [r1]
- ldrb r0, [r3]
- muls r0, r5
- add r0, r8
- movs r5, 0
- movs r1, 0
- strh r1, [r0, 0x2E]
- ldr r2, =gWishFutureKnock
- adds r2, 0x29
- adds r2, r4, r2
- ldr r3, =gBitTable
- ldr r1, =gBattlePartyID
- mov r4, r9
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =BattleScript_KnockedOff
- str r0, [r4]
- mov r1, r9
- ldrb r0, [r1]
- ldr r2, =gBattleStruct
- ldr r1, [r2]
- lsls r0, 1
- adds r0, r1
- adds r0, 0xC8
- strb r5, [r0]
- mov r3, r9
- ldrb r0, [r3]
- ldr r1, [r2]
- lsls r0, 1
- adds r0, r1
- adds r0, 0xC9
- strb r5, [r0]
- b _080499B2
- .pool
-_08049994:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- b _080499B2
- .pool
-_080499A4:
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x1
- bl b_movescr_stack_push
- ldr r0, =BattleScript_SAtkDown2
-_080499B0:
- str r0, [r4]
-_080499B2:
- ldr r1, =gBattleCommunication
- movs r0, 0
- strb r0, [r1, 0x3]
-_080499B8:
- 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 SetMoveEffect
-
- thumb_func_start atk15_seteffectwithchancetarget
-atk15_seteffectwithchancetarget: @ 80499D4
- push {r4,lr}
- ldr r2, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x20
- bne _08049A10
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x5]
- lsls r4, r0, 1
- b _08049A20
- .pool
-_08049A10:
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r4, [r0, 0x5]
-_08049A20:
- ldr r3, =gBattleCommunication
- ldrb r2, [r3, 0x3]
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _08049A50
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- bne _08049A50
- movs r0, 0x7F
- ands r0, r2
- strb r0, [r3, 0x3]
- b _08049A7E
- .pool
-_08049A50:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r4
- bcs _08049A9A
- ldr r0, =gBattleCommunication
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- beq _08049A9A
- ldr r0, =gBattleMoveFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- bne _08049A9A
- cmp r4, 0x63
- bls _08049A90
-_08049A7E:
- movs r0, 0
- movs r1, 0x80
- bl SetMoveEffect
- b _08049AA2
- .pool
-_08049A90:
- movs r0, 0
- movs r1, 0
- bl SetMoveEffect
- b _08049AA2
-_08049A9A:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
-_08049AA2:
- ldr r0, =gBattleCommunication
- movs r1, 0
- strb r1, [r0, 0x3]
- ldr r0, =gBattleScripting
- strb r1, [r0, 0x16]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk15_seteffectwithchancetarget
-
- thumb_func_start atk16_seteffectprimary
-atk16_seteffectprimary: @ 8049AC0
- push {lr}
- movs r0, 0x1
- movs r1, 0
- bl SetMoveEffect
- pop {r0}
- bx r0
- thumb_func_end atk16_seteffectprimary
-
- thumb_func_start atk17_seteffectsecondary
-atk17_seteffectsecondary: @ 8049AD0
- push {lr}
- movs r0, 0
- movs r1, 0
- bl SetMoveEffect
- pop {r0}
- bx r0
- thumb_func_end atk17_seteffectsecondary
-
- thumb_func_start atk18_status_effect_clear
-atk18_status_effect_clear: @ 8049AE0
- push {lr}
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- bl GetBattleBank
- ldr r2, =gActiveBank
- strb r0, [r2]
- ldr r3, =gBattleCommunication
- ldrb r0, [r3, 0x3]
- cmp r0, 0x6
- bhi _08049B14
- ldr r1, =gBattleMons
- ldrb r2, [r2]
- movs r0, 0x58
- muls r2, r0
- adds r1, 0x4C
- b _08049B1E
- .pool
-_08049B14:
- ldr r1, =gBattleMons
- ldrb r2, [r2]
- movs r0, 0x58
- muls r2, r0
- adds r1, 0x50
-_08049B1E:
- adds r2, r1
- ldr r1, =gStatusFlagsForMoveEffects
- ldrb r0, [r3, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- ldr r0, [r2]
- bics r0, r1
- str r0, [r2]
- ldr r0, =gBattleCommunication
- movs r2, 0
- strb r2, [r0, 0x3]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
- ldr r0, =gBattleScripting
- strb r2, [r0, 0x16]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk18_status_effect_clear
-
- thumb_func_start atk19_faint_pokemon
-atk19_faint_pokemon: @ 8049B5C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- ldr r0, =gBattlescriptCurrInstr
- ldr r2, [r0]
- ldrb r1, [r2, 0x2]
- adds r6, r0, 0
- cmp r1, 0
- beq _08049BE0
- ldrb r0, [r2, 0x1]
- bl GetBattleBank
- ldr r5, =gActiveBank
- strb r0, [r5]
- ldr r2, =gHitMarker
- ldr r1, =gBitTable
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- lsls r1, 28
- ldr r0, [r2]
- ands r0, r1
- cmp r0, 0
- bne _08049B94
- b _08049E2C
-_08049B94:
- ldr r1, [r6]
- ldrb r4, [r1, 0x3]
- ldrb r0, [r1, 0x4]
- lsls r0, 8
- orrs r4, r0
- ldrb r0, [r1, 0x5]
- lsls r0, 16
- orrs r4, r0
- ldrb r0, [r1, 0x6]
- lsls r0, 24
- orrs r4, r0
- bl b_movescr_stack_pop_cursor
- str r4, [r6]
- ldrb r0, [r5]
- bl GetBankSide
- ldr r1, =gSideAffecting
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r2, [r0]
- ldr r1, =0x0000fdff
- ands r1, r2
- strh r1, [r0]
- b _08049E32
- .pool
-_08049BE0:
- ldrb r0, [r2, 0x1]
- cmp r0, 0x1
- bne _08049C08
- ldr r1, =gActiveBank
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- mov r9, r0
- ldr r4, =gUnknown_082DA7AA
- b _08049C18
- .pool
-_08049C08:
- ldr r1, =gActiveBank
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- mov r9, r0
- ldr r4, =gUnknown_082DA7B7
-_08049C18:
- mov r8, r1
- ldr r0, =gAbsentBankFlags
- ldrb r1, [r0]
- ldr r2, =gBitTable
- mov r7, r8
- ldrb r3, [r7]
- lsls r0, r3, 2
- adds r0, r2
- ldr r2, [r0]
- ands r1, r2
- cmp r1, 0
- beq _08049C32
- b _08049E2C
-_08049C32:
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r3
- adds r0, r1
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _08049C42
- b _08049E2C
-_08049C42:
- ldr r5, =gHitMarker
- lsls r1, r2, 28
- ldr r0, [r5]
- orrs r0, r1
- str r0, [r5]
- ldr r0, [r6]
- adds r0, 0x7
- bl b_movescr_stack_push
- str r4, [r6]
- ldrb r0, [r7]
- bl GetBankSide
- lsls r0, 24
- cmp r0, 0
- bne _08049CA4
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 15
- orrs r0, r1
- str r0, [r5]
- ldr r1, =gBattleResults
- ldrb r0, [r1]
- cmp r0, 0xFE
- bhi _08049C78
- adds r0, 0x1
- strb r0, [r1]
-_08049C78:
- ldrb r0, [r7]
- bl sub_80570F4
- b _08049CCE
- .pool
-_08049CA4:
- ldr r4, =gBattleResults
- ldrb r0, [r4, 0x1]
- cmp r0, 0xFE
- bhi _08049CB0
- adds r0, 0x1
- strb r0, [r4, 0x1]
-_08049CB0:
- ldr r1, =gBattlePartyID
- mov r2, r8
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gEnemyParty
- adds r0, r1
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- strh r0, [r4, 0x20]
-_08049CCE:
- ldr r2, =gHitMarker
- ldr r1, [r2]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08049D0C
- ldr r6, =gBattleMons
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- movs r5, 0x58
- muls r0, r5
- adds r0, r6
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _08049D0C
- movs r0, 0x41
- negs r0, r0
- ands r1, r0
- str r1, [r2]
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- bl b_movescr_stack_push
- ldr r1, =gBattleMoveDamage
- mov r0, r9
- muls r0, r5
- adds r0, r6
- ldrh r0, [r0, 0x28]
- str r0, [r1]
- ldr r0, =gUnknown_082DAE3E
- str r0, [r4]
-_08049D0C:
- ldr r1, =gStatuses3
- ldr r6, =gBankTarget
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 7
- ands r0, r1
- cmp r0, 0
- bne _08049D24
- b _08049E32
-_08049D24:
- ldr r0, =gHitMarker
- ldr r5, [r0]
- movs r0, 0x80
- lsls r0, 17
- ands r5, r0
- cmp r5, 0
- beq _08049D34
- b _08049E32
-_08049D34:
- ldr r3, =gBankAttacker
- mov r8, r3
- ldrb r0, [r3]
- bl GetBankSide
- adds r4, r0, 0
- ldrb r0, [r6]
- bl GetBankSide
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- beq _08049E32
- ldr r0, =gBattleMons
- mov r9, r0
- mov r2, r8
- ldrb r1, [r2]
- movs r7, 0x58
- adds r2, r1, 0
- muls r2, r7
- adds r0, r2, r0
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _08049E32
- ldr r0, =gCurrentMove
- ldrh r0, [r0]
- cmp r0, 0xA5
- beq _08049E32
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, r1, r0
- adds r0, 0x80
- ldrb r4, [r0]
- adds r0, r4, r2
- mov r6, r9
- adds r6, 0x24
- adds r0, r6
- strb r5, [r0]
- ldr r5, =gBattlescriptCurrInstr
- ldr r0, [r5]
- bl b_movescr_stack_push
- ldr r0, =gUnknown_082DB18D
- str r0, [r5]
- ldr r5, =gActiveBank
- mov r3, r8
- ldrb r0, [r3]
- strb r0, [r5]
- adds r1, r4, 0
- adds r1, 0x9
- lsls r1, 24
- lsrs r1, 24
- ldrb r0, [r5]
- muls r0, r7
- adds r0, r6
- adds r0, r4
- str r0, [sp]
- movs r0, 0
- movs r2, 0
- movs r3, 0x1
- bl EmitSetAttributes
- ldrb r0, [r5]
- bl MarkBufferBankForExecution
- ldr r1, =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x2
- strb r0, [r1, 0x1]
- lsls r4, 1
- mov r2, r8
- ldrb r0, [r2]
- muls r0, r7
- adds r0, r4, r0
- mov r2, r9
- adds r2, 0xC
- adds r0, r2
- ldrh r0, [r0]
- strb r0, [r1, 0x2]
- mov r3, r8
- ldrb r0, [r3]
- muls r0, r7
- adds r4, r0
- adds r4, r2
- ldrh r0, [r4]
- lsrs r0, 8
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- b _08049E32
- .pool
-_08049E2C:
- ldr r0, [r6]
- adds r0, 0x7
- str r0, [r6]
-_08049E32:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end atk19_faint_pokemon
-
- thumb_func_start atk1A_faint_animation
-atk1A_faint_animation: @ 8049E40
- push {r4,r5,lr}
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- bne _08049E6A
- ldr r5, =gBattlescriptCurrInstr
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- bl GetBattleBank
- ldr r4, =gActiveBank
- strb r0, [r4]
- movs r0, 0
- bl dp01_build_cmdbuf_x0A_A_A_A
- ldrb r0, [r4]
- bl MarkBufferBankForExecution
- ldr r0, [r5]
- adds r0, 0x2
- str r0, [r5]
-_08049E6A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk1A_faint_animation
-
- thumb_func_start atk1B_faint_effects_clear
-atk1B_faint_effects_clear: @ 8049E7C
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, =gBattleExecBuffer
- ldr r5, [r0]
- cmp r5, 0
- bne _08049EE8
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- bl GetBattleBank
- ldr r4, =gActiveBank
- strb r0, [r4]
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 11
- ands r0, r1
- cmp r0, 0
- beq _08049EB4
- ldr r2, =gBattleMons
- ldrb r1, [r4]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- bne _08049EDC
-_08049EB4:
- ldr r1, =gBattleMons
- ldrb r0, [r4]
- movs r2, 0x58
- muls r0, r2
- adds r1, 0x4C
- adds r0, r1
- str r5, [r0]
- ldrb r0, [r4]
- muls r0, r2
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- movs r1, 0x28
- movs r2, 0
- movs r3, 0x4
- bl EmitSetAttributes
- ldrb r0, [r4]
- bl MarkBufferBankForExecution
-_08049EDC:
- bl sub_803A75C
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
-_08049EE8:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk1B_faint_effects_clear
-
- thumb_func_start atk1C_jumpifstatus
-atk1C_jumpifstatus: @ 8049F04
- push {r4,r5,lr}
- ldr r5, =gBattlescriptCurrInstr
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- bl GetBattleBank
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [r5]
- ldrb r4, [r2, 0x2]
- ldrb r1, [r2, 0x3]
- lsls r1, 8
- adds r4, r1
- ldrb r1, [r2, 0x4]
- lsls r1, 16
- adds r4, r1
- ldrb r1, [r2, 0x5]
- lsls r1, 24
- adds r4, r1
- ldrb r3, [r2, 0x6]
- ldrb r1, [r2, 0x7]
- lsls r1, 8
- adds r3, r1
- ldrb r1, [r2, 0x8]
- lsls r1, 16
- adds r3, r1
- ldrb r1, [r2, 0x9]
- lsls r1, 24
- adds r3, r1
- ldr r2, =gBattleMons
- movs r1, 0x58
- muls r1, r0
- adds r0, r2, 0
- adds r0, 0x4C
- adds r0, r1, r0
- ldr r0, [r0]
- ands r0, r4
- cmp r0, 0
- beq _08049F68
- adds r0, r1, r2
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _08049F68
- str r3, [r5]
- b _08049F70
- .pool
-_08049F68:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0xA
- str r0, [r1]
-_08049F70:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk1C_jumpifstatus
-
- thumb_func_start atk1D_jumpifstatus2
-atk1D_jumpifstatus2: @ 8049F7C
- push {r4,r5,lr}
- ldr r5, =gBattlescriptCurrInstr
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- bl GetBattleBank
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [r5]
- ldrb r4, [r2, 0x2]
- ldrb r1, [r2, 0x3]
- lsls r1, 8
- adds r4, r1
- ldrb r1, [r2, 0x4]
- lsls r1, 16
- adds r4, r1
- ldrb r1, [r2, 0x5]
- lsls r1, 24
- adds r4, r1
- ldrb r3, [r2, 0x6]
- ldrb r1, [r2, 0x7]
- lsls r1, 8
- adds r3, r1
- ldrb r1, [r2, 0x8]
- lsls r1, 16
- adds r3, r1
- ldrb r1, [r2, 0x9]
- lsls r1, 24
- adds r3, r1
- ldr r2, =gBattleMons
- movs r1, 0x58
- muls r1, r0
- adds r0, r2, 0
- adds r0, 0x50
- adds r0, r1, r0
- ldr r0, [r0]
- ands r0, r4
- cmp r0, 0
- beq _08049FE0
- adds r0, r1, r2
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _08049FE0
- str r3, [r5]
- b _08049FE8
- .pool
-_08049FE0:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0xA
- str r0, [r1]
-_08049FE8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk1D_jumpifstatus2
-
- thumb_func_start atk1E_jumpifability
-atk1E_jumpifability: @ 8049FF4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r6, =gBattlescriptCurrInstr
- ldr r2, [r6]
- ldrb r5, [r2, 0x2]
- mov r8, r5
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x4]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 24
- adds r7, r1, r0
- ldrb r0, [r2, 0x1]
- cmp r0, 0x8
- bne _0804A054
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xD
- adds r2, r5, 0
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _0804A0C8
- ldr r1, =gLastUsedAbility
- strb r5, [r1]
- str r7, [r6]
- subs r4, 0x1
- lsls r0, r4, 24
- lsrs r0, 24
- ldrb r1, [r1]
- b _0804A0B0
- .pool
-_0804A054:
- cmp r0, 0x9
- bne _0804A08C
- ldr r0, =gBankAttacker
- ldrb r1, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC
- adds r2, r5, 0
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _0804A0C8
- ldr r1, =gLastUsedAbility
- strb r5, [r1]
- str r7, [r6]
- subs r4, 0x1
- lsls r0, r4, 24
- lsrs r0, 24
- ldrb r1, [r1]
- b _0804A0B0
- .pool
-_0804A08C:
- ldrb r0, [r2, 0x1]
- bl GetBattleBank
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, =gBattleMons
- movs r0, 0x58
- muls r0, r4
- adds r0, r1
- adds r0, 0x20
- ldrb r1, [r0]
- cmp r1, r8
- bne _0804A0C8
- ldr r0, =gLastUsedAbility
- strb r1, [r0]
- str r7, [r6]
- ldrb r1, [r0]
- adds r0, r4, 0
-_0804A0B0:
- bl RecordAbilityBattle
- ldr r0, =gBattleScripting
- strb r4, [r0, 0x15]
- b _0804A0CE
- .pool
-_0804A0C8:
- ldr r0, [r6]
- adds r0, 0x7
- str r0, [r6]
-_0804A0CE:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end atk1E_jumpifability
-
- thumb_func_start atk1F_jumpifsideaffecting
-atk1F_jumpifsideaffecting: @ 804A0DC
- push {r4-r6,lr}
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r4, [r0, 0x1]
- cmp r4, 0x1
- bne _0804A0FC
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl GetBankIdentity
- b _0804A106
- .pool
-_0804A0FC:
- ldr r0, =gBankTarget
- ldrb r0, [r0]
- bl GetBankIdentity
- movs r4, 0x1
-_0804A106:
- ands r4, r0
- ldr r6, =gBattlescriptCurrInstr
- ldr r3, [r6]
- ldrb r2, [r3, 0x2]
- ldrb r0, [r3, 0x3]
- lsls r0, 8
- orrs r2, r0
- ldrb r1, [r3, 0x4]
- ldrb r0, [r3, 0x5]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r3, 0x6]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r3, 0x7]
- lsls r0, 24
- adds r5, r1, r0
- ldr r1, =gSideAffecting
- lsls r0, r4, 1
- adds r0, r1
- ldrh r0, [r0]
- ands r2, r0
- cmp r2, 0
- beq _0804A148
- str r5, [r6]
- b _0804A14E
- .pool
-_0804A148:
- adds r0, r3, 0
- adds r0, 0x8
- str r0, [r6]
-_0804A14E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end atk1F_jumpifsideaffecting
-
- thumb_func_start atk20_jumpifstat
-atk20_jumpifstat: @ 804A154
- push {r4,r5,lr}
- movs r5, 0
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl GetBattleBank
- lsls r0, 24
- lsrs r0, 24
- ldr r2, =gBattleMons
- ldr r3, [r4]
- movs r1, 0x58
- muls r0, r1
- ldrb r1, [r3, 0x3]
- adds r0, r1
- adds r2, 0x18
- adds r0, r2
- ldrb r2, [r0]
- ldrb r0, [r3, 0x2]
- cmp r0, 0x5
- bhi _0804A212
- lsls r0, 2
- ldr r1, =_0804A194
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0804A194:
- .4byte _0804A1AC
- .4byte _0804A1BC
- .4byte _0804A1CC
- .4byte _0804A1DC
- .4byte _0804A1EC
- .4byte _0804A200
-_0804A1AC:
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r2, r0
- bne _0804A212
- b _0804A20C
- .pool
-_0804A1BC:
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r2, r0
- beq _0804A212
- b _0804A20C
- .pool
-_0804A1CC:
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r2, r0
- bls _0804A212
- b _0804A20C
- .pool
-_0804A1DC:
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r2, r0
- bcs _0804A212
- b _0804A20C
- .pool
-_0804A1EC:
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- ands r2, r0
- cmp r2, 0
- beq _0804A212
- b _0804A20C
- .pool
-_0804A200:
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- ands r2, r0
- cmp r2, 0
- bne _0804A212
-_0804A20C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_0804A212:
- cmp r5, 0
- beq _0804A238
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- adds r1, r0
- str r1, [r3]
- b _0804A240
- .pool
-_0804A238:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x9
- str r0, [r1]
-_0804A240:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk20_jumpifstat
-
- thumb_func_start atk21_jumpifstatus3
-atk21_jumpifstatus3: @ 804A24C
- push {r4-r6,lr}
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl GetBattleBank
- ldr r5, =gActiveBank
- strb r0, [r5]
- ldr r2, [r4]
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- adds r6, r1, r0
- ldrb r1, [r2, 0x7]
- ldrb r0, [r2, 0x8]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x9]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0xA]
- lsls r0, 24
- adds r3, r1, r0
- ldrb r0, [r2, 0x6]
- cmp r0, 0
- beq _0804A2AC
- ldr r0, =gStatuses3
- ldrb r1, [r5]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- ands r0, r6
- cmp r0, 0
- bne _0804A2C4
- b _0804A2BC
- .pool
-_0804A2AC:
- ldr r0, =gStatuses3
- ldrb r1, [r5]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- ands r0, r6
- cmp r0, 0
- beq _0804A2C4
-_0804A2BC:
- str r3, [r4]
- b _0804A2CA
- .pool
-_0804A2C4:
- adds r0, r2, 0
- adds r0, 0xB
- str r0, [r4]
-_0804A2CA:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end atk21_jumpifstatus3
-
- thumb_func_start atk22_jumpiftype
-atk22_jumpiftype: @ 804A2D0
- push {r4-r6,lr}
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl GetBattleBank
- lsls r0, 24
- lsrs r0, 24
- ldr r3, [r4]
- ldrb r5, [r3, 0x2]
- ldrb r2, [r3, 0x3]
- ldrb r1, [r3, 0x4]
- lsls r1, 8
- adds r2, r1
- ldrb r1, [r3, 0x5]
- lsls r1, 16
- adds r2, r1
- ldrb r1, [r3, 0x6]
- lsls r1, 24
- adds r6, r2, r1
- ldr r2, =gBattleMons
- movs r1, 0x58
- muls r0, r1
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, r5
- beq _0804A314
- adds r0, r1, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, r5
- bne _0804A320
-_0804A314:
- str r6, [r4]
- b _0804A324
- .pool
-_0804A320:
- adds r0, r3, 0x7
- str r0, [r4]
-_0804A324:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end atk22_jumpiftype
-
- thumb_func_start atk23_getexp
-atk23_getexp: @ 804A32C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r6, 0
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x50
- mov r9, r0
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- bl GetBattleBank
- ldr r1, =gBank1
- strb r0, [r1]
- ldr r2, =gUnknown_020243FE
- movs r1, 0x2
- ands r1, r0
- lsls r1, 24
- lsrs r1, 25
- adds r1, r2
- ldrb r1, [r1]
- mov r8, r1
- ldr r0, =gBattleScripting
- ldrb r0, [r0, 0x1C]
- cmp r0, 0x6
- bls _0804A368
- bl _0804ACB2
-_0804A368:
- lsls r0, 2
- ldr r1, =_0804A38C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0804A38C:
- .4byte _0804A3A8
- .4byte _0804A414
- .4byte _0804A52E
- .4byte _0804A850
- .4byte _0804A954
- .4byte _0804AC40
- .4byte _0804AC88
-_0804A3A8:
- ldr r4, =gBank1
- ldrb r0, [r4]
- bl GetBankSide
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0804A3BC
- bl _0804AC7C
-_0804A3BC:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- ldr r1, =0x063f0982
- ands r0, r1
- cmp r0, 0
- beq _0804A3CC
- bl _0804AC7C
-_0804A3CC:
- ldr r1, =gBattleScripting
- ldrb r0, [r1, 0x1C]
- adds r0, 0x1
- strb r0, [r1, 0x1C]
- ldr r0, =gBattleStruct
- ldr r2, [r0]
- adds r2, 0xDF
- ldr r3, =gBitTable
- ldr r1, =gBattlePartyID
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- bl _0804ACB2
- .pool
-_0804A414:
- movs r5, 0
- movs r7, 0
-_0804A418:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0804A486
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0804A486
- ldr r0, =gBitTable
- lsls r1, r7, 2
- adds r1, r0
- ldr r0, [r1]
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _0804A44C
- adds r5, 0x1
-_0804A44C:
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _0804A478
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r2, =0x00003226
- adds r0, r2
- ldrb r4, [r0]
- b _0804A480
- .pool
-_0804A478:
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r4, r0, 24
-_0804A480:
- cmp r4, 0x19
- bne _0804A486
- adds r6, 0x1
-_0804A486:
- adds r7, 0x1
- cmp r7, 0x5
- ble _0804A418
- ldr r3, =gBaseStats
- ldr r2, =gBattleMons
- ldr r0, =gBank1
- ldrb r1, [r0]
- movs r0, 0x58
- muls r1, r0
- adds r1, r2
- ldrh r2, [r1]
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r3
- ldrb r2, [r0, 0x9]
- adds r1, 0x2A
- ldrb r0, [r1]
- muls r0, r2
- movs r1, 0x7
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r6, 0
- beq _0804A4FC
- lsrs r4, r0, 17
- adds r0, r4, 0
- adds r1, r5, 0
- bl __divsi3
- mov r1, r9
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bne _0804A4D2
- movs r0, 0x1
- strh r0, [r1]
-_0804A4D2:
- ldr r5, =gUnknown_02024402
- adds r0, r4, 0
- adds r1, r6, 0
- bl __divsi3
- strh r0, [r5]
- lsls r0, 16
- cmp r0, 0
- bne _0804A516
- movs r0, 0x1
- strh r0, [r5]
- b _0804A516
- .pool
-_0804A4FC:
- adds r0, r1, 0
- adds r1, r5, 0
- bl __divsi3
- mov r2, r9
- strh r0, [r2]
- lsls r0, 16
- cmp r0, 0
- bne _0804A512
- movs r0, 0x1
- strh r0, [r2]
-_0804A512:
- ldr r0, =gUnknown_02024402
- strh r6, [r0]
-_0804A516:
- ldr r1, =gBattleScripting
- ldrb r0, [r1, 0x1C]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1, 0x1C]
- ldr r1, =gBattleStruct
- ldr r0, [r1]
- strb r2, [r0, 0x10]
- ldr r0, [r1]
- adds r0, 0x53
- mov r4, r8
- strb r4, [r0]
-_0804A52E:
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- beq _0804A538
- b _0804ACB2
-_0804A538:
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- ldrb r1, [r0, 0x10]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _0804A57C
- ldr r0, =gSaveBlock1Ptr
- ldr r0, [r0]
- ldr r1, =0x00003226
- adds r0, r1
- ldrb r4, [r0]
- b _0804A584
- .pool
-_0804A57C:
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r4, r0, 24
-_0804A584:
- ldr r5, =gBattleStruct
- cmp r4, 0x19
- beq _0804A5AC
- ldr r0, [r5]
- adds r1, r0, 0
- adds r1, 0x53
- ldrb r0, [r1]
- movs r2, 0x1
- ands r2, r0
- cmp r2, 0
- bne _0804A5AC
- lsrs r0, 1
- strb r0, [r1]
- ldr r1, =gBattleScripting
- b _0804A5D0
- .pool
-_0804A5AC:
- ldr r0, [r5]
- ldrb r1, [r0, 0x10]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x38
- bl GetMonData
- cmp r0, 0x64
- bne _0804A5E8
- ldr r1, [r5]
- adds r1, 0x53
- ldrb r0, [r1]
- lsrs r0, 1
- strb r0, [r1]
- ldr r1, =gBattleScripting
- movs r2, 0
-_0804A5D0:
- movs r0, 0x5
- strb r0, [r1, 0x1C]
- ldr r0, =gBattleMoveDamage
- str r2, [r0]
- b _0804ACB2
- .pool
-_0804A5E8:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- bne _0804A616
- ldr r0, =gBattleMons
- ldrh r0, [r0, 0x28]
- cmp r0, 0
- beq _0804A616
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- cmp r0, 0
- bne _0804A616
- bl sub_805EA60
- ldr r0, =0x00000161
- bl PlayBGM
- ldr r1, [r5]
- ldrb r0, [r1, 0x12]
- adds r0, 0x1
- strb r0, [r1, 0x12]
-_0804A616:
- ldr r5, =gBattleStruct
- ldr r0, [r5]
- ldrb r1, [r0, 0x10]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _0804A630
- b _0804A824
-_0804A630:
- ldr r0, [r5]
- adds r0, 0x53
- ldrb r0, [r0]
- movs r3, 0x1
- ands r3, r0
- cmp r3, 0
- beq _0804A664
- ldr r1, =gBattleMoveDamage
- mov r2, r9
- ldrh r0, [r2]
- str r0, [r1]
- mov r9, r1
- b _0804A66A
- .pool
-_0804A664:
- ldr r0, =gBattleMoveDamage
- str r3, [r0]
- mov r9, r0
-_0804A66A:
- cmp r4, 0x19
- bne _0804A67A
- ldr r0, =gUnknown_02024402
- ldrh r1, [r0]
- mov r2, r9
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
-_0804A67A:
- cmp r4, 0x28
- bne _0804A68E
- mov r4, r9
- ldr r1, [r4]
- movs r0, 0x96
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- str r0, [r4]
-_0804A68E:
- ldr r5, =gBattleTypeFlags
- ldr r0, [r5]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0804A6AA
- ldr r4, =gBattleMoveDamage
- ldr r1, [r4]
- movs r0, 0x96
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- str r0, [r4]
-_0804A6AA:
- ldr r4, =gBattleStruct
- ldr r0, [r4]
- ldrb r1, [r0, 0x10]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- bl IsTradedMon
- lsls r0, 24
- cmp r0, 0
- beq _0804A714
- ldr r0, [r5]
- movs r1, 0x80
- lsls r1, 15
- ands r0, r1
- cmp r0, 0
- beq _0804A6F8
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- cmp r0, 0x2
- bls _0804A6F8
- ldr r7, =0x00000149
- ldr r0, =gBattleMoveDamage
- mov r9, r0
- b _0804A71A
- .pool
-_0804A6F8:
- ldr r4, =gBattleMoveDamage
- ldr r1, [r4]
- movs r0, 0x96
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- str r0, [r4]
- movs r7, 0xA5
- lsls r7, 1
- mov r9, r4
- b _0804A71A
- .pool
-_0804A714:
- ldr r7, =0x00000149
- ldr r1, =gBattleMoveDamage
- mov r9, r1
-_0804A71A:
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- beq _0804A786
- ldr r0, =gBattlePartyID
- ldr r1, =gBattleStruct
- ldr r4, [r1]
- ldrh r0, [r0, 0x4]
- adds r5, r1, 0
- ldr r3, =gBitTable
- ldr r2, =gAbsentBankFlags
- ldrb r1, [r4, 0x10]
- cmp r0, r1
- bne _0804A76C
- ldrb r1, [r2]
- ldr r0, [r3, 0x8]
- ands r1, r0
- cmp r1, 0
- bne _0804A76C
- adds r1, r4, 0
- adds r1, 0x8F
- movs r0, 0x2
- strb r0, [r1]
- b _0804A78E
- .pool
-_0804A76C:
- ldrb r2, [r2]
- ldr r0, [r3]
- ands r2, r0
- cmp r2, 0
- bne _0804A77E
- ldr r0, [r5]
- adds r0, 0x8F
- strb r2, [r0]
- b _0804A78E
-_0804A77E:
- ldr r0, [r5]
- adds r0, 0x8F
- movs r1, 0x2
- b _0804A78C
-_0804A786:
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x8F
-_0804A78C:
- strb r1, [r0]
-_0804A78E:
- ldr r1, =gBattleTextBuff1
- movs r2, 0
- mov r12, r2
- movs r3, 0xFD
- strb r3, [r1]
- movs r5, 0x4
- strb r5, [r1, 0x1]
- ldr r6, =gBattleStruct
- ldr r2, [r6]
- movs r4, 0x8F
- adds r4, r2
- mov r8, r4
- ldrb r0, [r4]
- strb r0, [r1, 0x2]
- ldrb r0, [r2, 0x10]
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldr r1, =gBattleTextBuff2
- strb r3, [r1]
- mov r0, r12
- strb r0, [r1, 0x1]
- strb r7, [r1, 0x2]
- movs r4, 0xFF
- lsls r4, 8
- ands r7, r4
- asrs r0, r7, 8
- strb r0, [r1, 0x3]
- movs r0, 0x1
- negs r0, r0
- strb r0, [r1, 0x4]
- ldr r1, =gBattleTextBuff3
- strb r3, [r1]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- strb r5, [r1, 0x2]
- movs r0, 0x5
- strb r0, [r1, 0x3]
- mov r0, r9
- ldr r2, [r0]
- strb r2, [r1, 0x4]
- adds r0, r2, 0
- ands r0, r4
- asrs r0, 8
- strb r0, [r1, 0x5]
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r2
- asrs r0, 16
- strb r0, [r1, 0x6]
- lsrs r2, 24
- strb r2, [r1, 0x7]
- movs r0, 0x1
- negs r0, r0
- strb r0, [r1, 0x8]
- mov r2, r8
- ldrb r1, [r2]
- movs r0, 0xD
- bl PrepareStringBattle
- ldr r0, [r6]
- ldrb r1, [r0, 0x10]
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- ldr r3, =gBattleMons
- ldr r1, =gBank1
- ldrb r2, [r1]
- movs r1, 0x58
- muls r1, r2
- adds r1, r3
- ldrh r1, [r1]
- bl MonGainEVs
-_0804A824:
- ldr r0, =gBattleStruct
- ldr r1, [r0]
- adds r1, 0x53
- ldrb r0, [r1]
- lsrs r0, 1
- strb r0, [r1]
- b _0804A92A
- .pool
-_0804A850:
- ldr r0, =gBattleExecBuffer
- ldr r2, [r0]
- cmp r2, 0
- beq _0804A85A
- b _0804ACB2
-_0804A85A:
- ldr r1, =gBattleBufferB
- ldr r7, =gBattleStruct
- ldr r0, [r7]
- adds r0, 0x8F
- ldrb r0, [r0]
- lsls r0, 9
- adds r0, r1
- strb r2, [r0]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- movs r6, 0x64
- muls r0, r6
- ldr r5, =gPlayerParty
- adds r0, r5
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0804A92A
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r6
- adds r0, r5
- movs r1, 0x38
- bl GetMonData
- cmp r0, 0x64
- beq _0804A92A
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r6
- adds r0, r5
- movs r1, 0x3A
- bl GetMonData
- ldr r4, =gBattleResources
- ldr r1, [r4]
- ldr r1, [r1, 0x10]
- strh r0, [r1]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r6
- adds r0, r5
- movs r1, 0x3B
- bl GetMonData
- ldr r1, [r4]
- ldr r1, [r1, 0x10]
- strh r0, [r1, 0x2]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r6
- adds r0, r5
- movs r1, 0x3C
- bl GetMonData
- ldr r1, [r4]
- ldr r1, [r1, 0x10]
- strh r0, [r1, 0x4]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r6
- adds r0, r5
- movs r1, 0x3D
- bl GetMonData
- ldr r1, [r4]
- ldr r1, [r1, 0x10]
- strh r0, [r1, 0x6]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r6
- adds r0, r5
- movs r1, 0x3E
- bl GetMonData
- ldr r1, [r4]
- ldr r1, [r1, 0x10]
- strh r0, [r1, 0x8]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r6
- adds r0, r5
- movs r1, 0x3F
- bl GetMonData
- ldr r1, [r4]
- ldr r1, [r1, 0x10]
- strh r0, [r1, 0xA]
- ldr r4, =gActiveBank
- ldr r1, [r7]
- adds r0, r1, 0
- adds r0, 0x8F
- ldrb r0, [r0]
- strb r0, [r4]
- ldrb r1, [r1, 0x10]
- ldr r0, =gBattleMoveDamage
- ldrh r2, [r0]
- movs r0, 0
- bl dp01_build_cmdbuf_x19_a_bb
- ldrb r0, [r4]
- bl MarkBufferBankForExecution
-_0804A92A:
- ldr r1, =gBattleScripting
- ldrb r0, [r1, 0x1C]
- adds r0, 0x1
- strb r0, [r1, 0x1C]
- b _0804ACB2
- .pool
-_0804A954:
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- beq _0804A95E
- b _0804ACB2
-_0804A95E:
- ldr r1, =gActiveBank
- ldr r0, =gBattleStruct
- ldr r4, [r0]
- adds r0, r4, 0
- adds r0, 0x8F
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r3, =gBattleBufferB
- ldrb r2, [r1]
- lsls r1, r2, 9
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0x21
- beq _0804A97C
- b _0804AC28
-_0804A97C:
- adds r0, r3, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r0, 0xB
- beq _0804A988
- b _0804AC28
-_0804A988:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0804A9B2
- ldr r0, =gBattlePartyID
- lsls r1, r2, 1
- adds r1, r0
- ldrh r0, [r1]
- ldrb r4, [r4, 0x10]
- cmp r0, r4
- bne _0804A9B2
- adds r1, r0, 0
- movs r0, 0x64
- muls r0, r1
- ldr r1, =gPlayerParty
- adds r0, r1
- adds r1, r2, 0
- bl sub_805E990
-_0804A9B2:
- ldr r1, =gBattleTextBuff1
- movs r3, 0xFD
- strb r3, [r1]
- movs r0, 0x4
- strb r0, [r1, 0x1]
- ldr r6, =gActiveBank
- ldrb r0, [r6]
- strb r0, [r1, 0x2]
- ldr r4, =gBattleStruct
- mov r9, r4
- ldr r2, [r4]
- ldrb r0, [r2, 0x10]
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldr r4, =gBattleTextBuff2
- strb r3, [r4]
- movs r0, 0x1
- strb r0, [r4, 0x1]
- strb r0, [r4, 0x2]
- movs r0, 0x3
- strb r0, [r4, 0x3]
- ldrb r0, [r2, 0x10]
- movs r1, 0x64
- mov r8, r1
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- ldr r7, =gPlayerParty
- adds r0, r7
- movs r1, 0x38
- bl GetMonData
- strb r0, [r4, 0x4]
- movs r0, 0x1
- negs r0, r0
- strb r0, [r4, 0x5]
- bl b_movescr_stack_push_cursor
- ldr r2, =gUnknown_03005D54
- ldr r1, =gBitTable
- mov r4, r9
- ldr r5, [r4]
- ldrb r0, [r5, 0x10]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DABBD
- str r0, [r1]
- ldr r4, =gBattleMoveDamage
- ldr r2, =gBattleBufferB
- ldrb r1, [r6]
- lsls r1, 9
- adds r0, r2, 0x2
- adds r0, r1, r0
- ldrb r3, [r0]
- adds r2, 0x3
- adds r1, r2
- ldrb r0, [r1]
- lsls r0, 8
- orrs r3, r0
- str r3, [r4]
- ldrb r0, [r5, 0x10]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r7
- movs r1, 0
- bl AdjustFriendship
- ldr r1, =gBattlePartyID
- mov r2, r9
- ldr r0, [r2]
- ldrb r2, [r0, 0x10]
- ldrh r0, [r1]
- cmp r0, r2
- bne _0804AB1E
- ldr r4, =gBattleMons
- ldrh r0, [r4, 0x28]
- cmp r0, 0
- beq _0804AB1E
- mov r0, r8
- muls r0, r2
- adds r0, r7
- movs r1, 0x38
- bl GetMonData
- adds r1, r4, 0
- adds r1, 0x2A
- strb r0, [r1]
- mov r1, r9
- ldr r0, [r1]
- ldrb r0, [r0, 0x10]
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- adds r0, r7
- movs r1, 0x39
- bl GetMonData
- strh r0, [r4, 0x28]
- mov r1, r9
- ldr r0, [r1]
- ldrb r0, [r0, 0x10]
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- adds r0, r7
- movs r1, 0x3A
- bl GetMonData
- strh r0, [r4, 0x2C]
- mov r1, r9
- ldr r0, [r1]
- ldrb r0, [r0, 0x10]
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- adds r0, r7
- movs r1, 0x3B
- bl GetMonData
- strh r0, [r4, 0x2]
- mov r1, r9
- ldr r0, [r1]
- ldrb r0, [r0, 0x10]
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- adds r0, r7
- movs r1, 0x3C
- bl GetMonData
- strh r0, [r4, 0x4]
- mov r1, r9
- ldr r0, [r1]
- ldrb r0, [r0, 0x10]
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- adds r0, r7
- movs r1, 0x3D
- bl GetMonData
- strh r0, [r4, 0x6]
- mov r1, r9
- ldr r0, [r1]
- ldrb r0, [r0, 0x10]
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- adds r0, r7
- movs r1, 0x3D
- bl GetMonData
- strh r0, [r4, 0x6]
- mov r1, r9
- ldr r0, [r1]
- ldrb r0, [r0, 0x10]
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- adds r0, r7
- movs r1, 0x3E
- bl GetMonData
- strh r0, [r4, 0x8]
- mov r1, r9
- ldr r0, [r1]
- ldrb r0, [r0, 0x10]
- mov r2, r8
- muls r2, r0
- adds r0, r2, 0
- adds r0, r7
- movs r1, 0x3F
- bl GetMonData
- strh r0, [r4, 0xA]
-_0804AB1E:
- ldr r0, =gBattlePartyID
- ldr r7, =gBattleStruct
- ldr r1, [r7]
- ldrb r2, [r1, 0x10]
- ldrh r0, [r0, 0x4]
- cmp r0, r2
- beq _0804AB2E
- b _0804AC2E
-_0804AB2E:
- ldr r6, =gBattleMons
- movs r4, 0xD8
- adds r4, r6
- mov r8, r4
- ldrh r0, [r4]
- cmp r0, 0
- beq _0804AC2E
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0804AC2E
- movs r5, 0x64
- adds r0, r2, 0
- muls r0, r5
- ldr r4, =gPlayerParty
- adds r0, r4
- movs r1, 0x38
- bl GetMonData
- adds r1, r6, 0
- adds r1, 0xDA
- strb r0, [r1]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r5
- adds r0, r4
- movs r1, 0x39
- bl GetMonData
- mov r1, r8
- strh r0, [r1]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r5
- adds r0, r4
- movs r1, 0x3A
- bl GetMonData
- adds r1, r6, 0
- adds r1, 0xDC
- strh r0, [r1]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r5
- adds r0, r4
- movs r1, 0x3B
- bl GetMonData
- adds r1, r6, 0
- adds r1, 0xB2
- strh r0, [r1]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r5
- adds r0, r4
- movs r1, 0x3C
- bl GetMonData
- adds r1, r6, 0
- adds r1, 0xB4
- strh r0, [r1]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r5
- adds r0, r4
- movs r1, 0x3D
- bl GetMonData
- movs r2, 0xB6
- adds r2, r6
- mov r8, r2
- strh r0, [r2]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r5
- adds r0, r4
- movs r1, 0x3D
- bl GetMonData
- mov r1, r8
- strh r0, [r1]
- ldr r0, [r7]
- ldrb r0, [r0, 0x10]
- muls r0, r5
- adds r0, r4
- movs r1, 0x3E
- bl GetMonData
- adds r1, r6, 0
- adds r1, 0xB8
- strh r0, [r1]
- b _0804AC2E
- .pool
-_0804AC28:
- ldr r1, =gBattleMoveDamage
- movs r0, 0
- str r0, [r1]
-_0804AC2E:
- ldr r1, =gBattleScripting
- movs r0, 0x5
- strb r0, [r1, 0x1C]
- b _0804ACB2
- .pool
-_0804AC40:
- ldr r0, =gBattleMoveDamage
- ldr r0, [r0]
- cmp r0, 0
- beq _0804AC58
- ldr r1, =gBattleScripting
- movs r0, 0x3
- strb r0, [r1, 0x1C]
- b _0804ACB2
- .pool
-_0804AC58:
- ldr r2, =gBattleStruct
- ldr r1, [r2]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- ldr r0, [r2]
- ldrb r0, [r0, 0x10]
- cmp r0, 0x5
- bhi _0804AC7C
- ldr r1, =gBattleScripting
- movs r0, 0x2
- strb r0, [r1, 0x1C]
- b _0804ACB2
- .pool
-_0804AC7C:
- ldr r1, =gBattleScripting
- movs r0, 0x6
- strb r0, [r1, 0x1C]
- b _0804ACB2
- .pool
-_0804AC88:
- ldr r0, =gBattleExecBuffer
- ldr r5, [r0]
- cmp r5, 0
- bne _0804ACB2
- ldr r4, =gBattleMons
- ldr r2, =gBank1
- ldrb r0, [r2]
- movs r1, 0x58
- muls r0, r1
- adds r0, r4
- movs r3, 0
- strh r5, [r0, 0x2E]
- ldrb r0, [r2]
- muls r0, r1
- adds r0, r4
- adds r0, 0x20
- strb r3, [r0]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
-_0804ACB2:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk23_getexp
-
- thumb_func_start atk24
-atk24: @ 804ACD0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r6, 0
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- beq _0804ACE2
- b _0804AF22
-_0804ACE2:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 15
- ands r0, r1
- cmp r0, 0
- beq _0804AD48
- ldr r0, =gPartnerTrainerId
- ldrh r1, [r0]
- ldr r0, =0x00000c03
- cmp r1, r0
- bne _0804AD48
- movs r5, 0
-_0804ACFC:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0804AD2C
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0804AD2C
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- adds r0, r6, r0
- lsls r0, 16
- lsrs r6, r0, 16
-_0804AD2C:
- adds r5, 0x1
- cmp r5, 0x2
- ble _0804ACFC
- b _0804ADA8
- .pool
-_0804AD48:
- movs r5, 0
-_0804AD4A:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gPlayerParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0804ADA2
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0804ADA2
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 11
- ands r0, r1
- cmp r0, 0
- beq _0804AD94
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- movs r1, 0xA8
- lsls r1, 2
- adds r0, r1
- ldrb r1, [r0]
- ldr r2, =gBitTable
- lsls r0, r5, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _0804ADA2
-_0804AD94:
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- adds r0, r6, r0
- lsls r0, 16
- lsrs r6, r0, 16
-_0804ADA2:
- adds r5, 0x1
- cmp r5, 0x5
- ble _0804AD4A
-_0804ADA8:
- cmp r6, 0
- bne _0804ADB6
- ldr r0, =gBattleOutcome
- ldrb r1, [r0]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0]
-_0804ADB6:
- movs r6, 0
- movs r5, 0
-_0804ADBA:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, =gEnemyParty
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0804AE10
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0804AE10
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 11
- ands r0, r1
- cmp r0, 0
- beq _0804AE02
- ldr r0, =gBattleStruct
- ldr r0, [r0]
- ldr r1, =0x000002a1
- adds r0, r1
- ldrb r1, [r0]
- ldr r2, =gBitTable
- lsls r0, r5, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _0804AE10
-_0804AE02:
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- adds r0, r6, r0
- lsls r0, 16
- lsrs r6, r0, 16
-_0804AE10:
- adds r5, 0x1
- cmp r5, 0x5
- ble _0804ADBA
- ldr r2, =gBattleOutcome
- cmp r6, 0
- bne _0804AE24
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
-_0804AE24:
- ldrb r0, [r2]
- cmp r0, 0
- bne _0804AF1A
- ldr r0, =gBattleTypeFlags
- ldr r1, [r0]
- ldr r2, =0x02000002
- ands r1, r2
- mov r8, r0
- cmp r1, 0
- beq _0804AF1A
- movs r3, 0
- movs r5, 0
- ldr r0, =gNoOfAllBanks
- ldrb r1, [r0]
- mov r12, r0
- ldr r7, =gBattlescriptCurrInstr
- cmp r3, r1
- bge _0804AE70
- ldr r0, =gHitMarker
- movs r6, 0x80
- lsls r6, 21
- ldr r4, [r0]
- adds r2, r1, 0
- ldr r1, =gSpecialStatuses
-_0804AE54:
- adds r0, r6, 0
- lsls r0, r5
- ands r0, r4
- cmp r0, 0
- beq _0804AE68
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- blt _0804AE68
- adds r3, 0x1
-_0804AE68:
- adds r1, 0x28
- adds r5, 0x2
- cmp r5, r2
- blt _0804AE54
-_0804AE70:
- movs r2, 0
- movs r5, 0x1
- mov r4, r12
- ldrb r1, [r4]
- cmp r5, r1
- bge _0804AEAA
- ldr r0, =gHitMarker
- movs r4, 0x80
- lsls r4, 21
- mov r12, r4
- ldr r6, [r0]
- ldr r0, =gSpecialStatuses
- adds r4, r1, 0
- adds r1, r0, 0
- adds r1, 0x14
-_0804AE8E:
- mov r0, r12
- lsls r0, r5
- ands r0, r6
- cmp r0, 0
- beq _0804AEA2
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- blt _0804AEA2
- adds r2, 0x1
-_0804AEA2:
- adds r1, 0x28
- adds r5, 0x2
- cmp r5, r4
- blt _0804AE8E
-_0804AEAA:
- mov r1, r8
- ldr r0, [r1]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0804AEF0
- adds r0, r2, r3
- cmp r0, 0x1
- bgt _0804AEF8
- b _0804AF12
- .pool
-_0804AEF0:
- cmp r2, 0
- beq _0804AF12
- cmp r3, 0
- beq _0804AF12
-_0804AEF8:
- ldr r2, [r7]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- adds r1, r0
- str r1, [r7]
- b _0804AF22
-_0804AF12:
- ldr r0, [r7]
- adds r0, 0x5
- str r0, [r7]
- b _0804AF22
-_0804AF1A:
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_0804AF22:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk24
-
- thumb_func_start sub_804AF30
-sub_804AF30: @ 804AF30
- ldr r1, =gBattleMoveFlags
- movs r0, 0
- strb r0, [r1]
- ldr r0, =gBattleScripting
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0, 0xE]
- ldr r0, =gCritMultiplier
- strb r1, [r0]
- ldr r0, =gBattleCommunication
- strb r2, [r0, 0x3]
- strb r2, [r0, 0x6]
- ldr r2, =gHitMarker
- ldr r0, [r2]
- subs r1, 0x42
- ands r0, r1
- ldr r1, =0xffffbfff
- ands r0, r1
- str r0, [r2]
- bx lr
- .pool
- thumb_func_end sub_804AF30
-
- thumb_func_start atk25_move_values_cleanup
-atk25_move_values_cleanup: @ 804AF70
- push {lr}
- bl sub_804AF30
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk25_move_values_cleanup
-
- thumb_func_start atk26_set_multihit
-atk26_set_multihit: @ 804AF88
- ldr r3, =gMultiHitCounter
- ldr r2, =gBattlescriptCurrInstr
- ldr r0, [r2]
- ldrb r1, [r0, 0x1]
- strb r1, [r3]
- adds r0, 0x2
- str r0, [r2]
- bx lr
- .pool
- thumb_func_end atk26_set_multihit
-
- thumb_func_start atk27_decrement_multihit
-atk27_decrement_multihit: @ 804AFA0
- push {lr}
- ldr r1, =gMultiHitCounter
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bne _0804AFC4
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _0804AFDE
- .pool
-_0804AFC4:
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- adds r1, r0
- str r1, [r3]
-_0804AFDE:
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk27_decrement_multihit
-
- thumb_func_start atk28_goto
-atk28_goto: @ 804AFE8
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- adds r1, r0
- str r1, [r3]
- bx lr
- .pool
- thumb_func_end atk28_goto
-
- thumb_func_start atk29_jumpifbyte
-atk29_jumpifbyte: @ 804B008
- push {r4-r6,lr}
- ldr r3, =gBattlescriptCurrInstr
- ldr r1, [r3]
- ldrb r6, [r1, 0x1]
- ldrb r2, [r1, 0x2]
- ldrb r0, [r1, 0x3]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0x5]
- lsls r0, 24
- adds r5, r2, r0
- ldrb r4, [r1, 0x6]
- ldrb r2, [r1, 0x7]
- ldrb r0, [r1, 0x8]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0x9]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0xA]
- lsls r0, 24
- adds r2, r0
- adds r1, 0xB
- str r1, [r3]
- cmp r6, 0x5
- bhi _0804B0A0
- lsls r0, r6, 2
- ldr r1, =_0804B054
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0804B054:
- .4byte _0804B06C
- .4byte _0804B074
- .4byte _0804B07C
- .4byte _0804B084
- .4byte _0804B08C
- .4byte _0804B096
-_0804B06C:
- ldrb r0, [r5]
- cmp r0, r4
- bne _0804B0A0
- b _0804B09E
-_0804B074:
- ldrb r0, [r5]
- cmp r0, r4
- beq _0804B0A0
- b _0804B09E
-_0804B07C:
- ldrb r0, [r5]
- cmp r0, r4
- bls _0804B0A0
- b _0804B09E
-_0804B084:
- ldrb r0, [r5]
- cmp r0, r4
- bcs _0804B0A0
- b _0804B09E
-_0804B08C:
- ldrb r0, [r5]
- ands r4, r0
- cmp r4, 0
- beq _0804B0A0
- b _0804B09E
-_0804B096:
- ldrb r0, [r5]
- ands r4, r0
- cmp r4, 0
- bne _0804B0A0
-_0804B09E:
- str r2, [r3]
-_0804B0A0:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end atk29_jumpifbyte
-
- thumb_func_start atk2A_jumpifhalfword
-atk2A_jumpifhalfword: @ 804B0A8
- push {r4-r6,lr}
- ldr r3, =gBattlescriptCurrInstr
- ldr r1, [r3]
- ldrb r6, [r1, 0x1]
- ldrb r2, [r1, 0x2]
- ldrb r0, [r1, 0x3]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0x5]
- lsls r0, 24
- adds r5, r2, r0
- ldrb r4, [r1, 0x6]
- ldrb r0, [r1, 0x7]
- lsls r0, 8
- orrs r4, r0
- ldrb r2, [r1, 0x8]
- ldrb r0, [r1, 0x9]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0xA]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0xB]
- lsls r0, 24
- adds r2, r0
- adds r1, 0xC
- str r1, [r3]
- cmp r6, 0x5
- bhi _0804B148
- lsls r0, r6, 2
- ldr r1, =_0804B0FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0804B0FC:
- .4byte _0804B114
- .4byte _0804B11C
- .4byte _0804B124
- .4byte _0804B12C
- .4byte _0804B134
- .4byte _0804B13E
-_0804B114:
- ldrh r0, [r5]
- cmp r0, r4
- bne _0804B148
- b _0804B146
-_0804B11C:
- ldrh r0, [r5]
- cmp r0, r4
- beq _0804B148
- b _0804B146
-_0804B124:
- ldrh r0, [r5]
- cmp r0, r4
- bls _0804B148
- b _0804B146
-_0804B12C:
- ldrh r0, [r5]
- cmp r0, r4
- bcs _0804B148
- b _0804B146
-_0804B134:
- ldrh r0, [r5]
- ands r4, r0
- cmp r4, 0
- beq _0804B148
- b _0804B146
-_0804B13E:
- ldrh r0, [r5]
- ands r4, r0
- cmp r4, 0
- bne _0804B148
-_0804B146:
- str r2, [r3]
-_0804B148:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end atk2A_jumpifhalfword
-
- thumb_func_start atk2B_jumpifword
-atk2B_jumpifword: @ 804B150
- push {r4-r6,lr}
- ldr r3, =gBattlescriptCurrInstr
- ldr r1, [r3]
- ldrb r6, [r1, 0x1]
- ldrb r2, [r1, 0x2]
- ldrb r0, [r1, 0x3]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0x5]
- lsls r0, 24
- adds r5, r2, r0
- ldrb r4, [r1, 0x6]
- ldrb r0, [r1, 0x7]
- lsls r0, 8
- orrs r4, r0
- ldrb r0, [r1, 0x8]
- lsls r0, 16
- orrs r4, r0
- ldrb r0, [r1, 0x9]
- lsls r0, 24
- orrs r4, r0
- ldrb r2, [r1, 0xA]
- ldrb r0, [r1, 0xB]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0xC]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0xD]
- lsls r0, 24
- adds r2, r0
- adds r1, 0xE
- str r1, [r3]
- cmp r6, 0x5
- bhi _0804B1FC
- lsls r0, r6, 2
- ldr r1, =_0804B1B0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .pool
- .align 2, 0
-_0804B1B0:
- .4byte _0804B1C8
- .4byte _0804B1D0
- .4byte _0804B1D8
- .4byte _0804B1E0
- .4byte _0804B1E8
- .4byte _0804B1F2
-_0804B1C8:
- ldr r0, [r5]
- cmp r0, r4
- bne _0804B1FC
- b _0804B1FA
-_0804B1D0:
- ldr r0, [r5]
- cmp r0, r4
- beq _0804B1FC
- b _0804B1FA
-_0804B1D8:
- ldr r0, [r5]
- cmp r0, r4
- bls _0804B1FC
- b _0804B1FA
-_0804B1E0:
- ldr r0, [r5]
- cmp r0, r4
- bcs _0804B1FC
- b _0804B1FA
-_0804B1E8:
- ldr r0, [r5]
- ands r0, r4
- cmp r0, 0
- beq _0804B1FC
- b _0804B1FA
-_0804B1F2:
- ldr r0, [r5]
- ands r0, r4
- cmp r0, 0
- bne _0804B1FC
-_0804B1FA:
- str r2, [r3]
-_0804B1FC:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end atk2B_jumpifword
-
- thumb_func_start atk2C_jumpifarrayequal
-atk2C_jumpifarrayequal: @ 804B204
- push {r4-r7,lr}
- ldr r2, =gBattlescriptCurrInstr
- ldr r3, [r2]
- ldrb r1, [r3, 0x1]
- ldrb r0, [r3, 0x2]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r3, 0x3]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 24
- adds r5, r1, r0
- ldrb r1, [r3, 0x5]
- ldrb r0, [r3, 0x6]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r3, 0x7]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r3, 0x8]
- lsls r0, 24
- adds r4, r1, r0
- ldrb r6, [r3, 0x9]
- ldrb r1, [r3, 0xA]
- ldrb r0, [r3, 0xB]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r3, 0xC]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r3, 0xD]
- lsls r0, 24
- adds r1, r0
- mov r12, r1
- movs r1, 0
- cmp r1, r6
- bcs _0804B27C
- ldrb r0, [r5]
- ldrb r7, [r4]
- cmp r0, r7
- beq _0804B260
- adds r0, r3, 0
- b _0804B278
- .pool
-_0804B260:
- adds r5, 0x1
- adds r4, 0x1
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r6
- bcs _0804B27C
- ldrb r0, [r5]
- ldrb r3, [r4]
- cmp r0, r3
- beq _0804B260
- ldr r0, [r2]
-_0804B278:
- adds r0, 0xE
- str r0, [r2]
-_0804B27C:
- cmp r1, r6
- bne _0804B284
- mov r7, r12
- str r7, [r2]
-_0804B284:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end atk2C_jumpifarrayequal
-
- thumb_func_start atk2D_jumpifarraynotequal
-atk2D_jumpifarraynotequal: @ 804B28C
- push {r4-r7,lr}
- movs r7, 0
- ldr r3, =gBattlescriptCurrInstr
- ldr r1, [r3]
- ldrb r2, [r1, 0x1]
- ldrb r0, [r1, 0x2]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0x3]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 24
- adds r5, r2, r0
- ldrb r2, [r1, 0x5]
- ldrb r0, [r1, 0x6]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0x7]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0x8]
- lsls r0, 24
- adds r4, r2, r0
- ldrb r6, [r1, 0x9]
- ldrb r2, [r1, 0xA]
- ldrb r0, [r1, 0xB]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0xC]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0xD]
- lsls r0, 24
- adds r2, r0
- mov r12, r2
- movs r1, 0
- cmp r7, r6
- bcs _0804B2F6
-_0804B2DA:
- ldrb r0, [r5]
- ldrb r2, [r4]
- cmp r0, r2
- bne _0804B2E8
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_0804B2E8:
- adds r5, 0x1
- adds r4, 0x1
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r6
- bcc _0804B2DA
-_0804B2F6:
- cmp r7, r6
- beq _0804B304
- mov r0, r12
- b _0804B308
- .pool
-_0804B304:
- ldr r0, [r3]
- adds r0, 0xE
-_0804B308:
- str r0, [r3]
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end atk2D_jumpifarraynotequal
-
- thumb_func_start atk2E_setbyte
-atk2E_setbyte: @ 804B310
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- adds r1, r0
- ldrb r0, [r2, 0x5]
- strb r0, [r1]
- ldr r0, [r3]
- adds r0, 0x6
- str r0, [r3]
- bx lr
- .pool
- thumb_func_end atk2E_setbyte
-
- thumb_func_start atk2F_addbyte
-atk2F_addbyte: @ 804B338
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- adds r1, r0
- ldrb r0, [r2, 0x5]
- ldrb r2, [r1]
- adds r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- adds r0, 0x6
- str r0, [r3]
- bx lr
- .pool
- thumb_func_end atk2F_addbyte
-
- thumb_func_start atk30_subbyte
-atk30_subbyte: @ 804B364
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- adds r1, r0
- ldrb r0, [r1]
- ldrb r2, [r2, 0x5]
- subs r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- adds r0, 0x6
- str r0, [r3]
- bx lr
- .pool
- thumb_func_end atk30_subbyte
-
- thumb_func_start atk31_copyarray
-atk31_copyarray: @ 804B390
- push {r4-r6,lr}
- ldr r3, =gBattlescriptCurrInstr
- ldr r1, [r3]
- ldrb r2, [r1, 0x1]
- ldrb r0, [r1, 0x2]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0x3]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 24
- adds r6, r2, r0
- ldrb r2, [r1, 0x5]
- ldrb r0, [r1, 0x6]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0x7]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0x8]
- lsls r0, 24
- adds r5, r2, r0
- ldrb r4, [r1, 0x9]
- movs r2, 0
- cmp r2, r4
- bge _0804B3D4
-_0804B3C6:
- adds r0, r6, r2
- adds r1, r5, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, r4
- blt _0804B3C6
-_0804B3D4:
- ldr r0, [r3]
- adds r0, 0xA
- str r0, [r3]
- pop {r4-r6}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk31_copyarray
-
- thumb_func_start atk32_copyarray_withindex
-atk32_copyarray_withindex: @ 804B3E4
- push {r4-r7,lr}
- ldr r3, =gBattlescriptCurrInstr
- ldr r1, [r3]
- ldrb r2, [r1, 0x1]
- ldrb r0, [r1, 0x2]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0x3]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 24
- adds r7, r2, r0
- ldrb r2, [r1, 0x5]
- ldrb r0, [r1, 0x6]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0x7]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0x8]
- lsls r0, 24
- adds r6, r2, r0
- ldrb r2, [r1, 0x9]
- ldrb r0, [r1, 0xA]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r1, 0xB]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r1, 0xC]
- lsls r0, 24
- adds r5, r2, r0
- ldrb r4, [r1, 0xD]
- movs r2, 0
- cmp r2, r4
- bge _0804B440
-_0804B42E:
- adds r0, r7, r2
- ldrb r1, [r5]
- adds r1, r2, r1
- adds r1, r6, r1
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, r4
- blt _0804B42E
-_0804B440:
- ldr r0, [r3]
- adds r0, 0xE
- str r0, [r3]
- pop {r4-r7}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk32_copyarray_withindex
-
- thumb_func_start atk33_orbyte
-atk33_orbyte: @ 804B450
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- adds r1, r0
- ldrb r0, [r1]
- ldrb r2, [r2, 0x5]
- orrs r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- adds r0, 0x6
- str r0, [r3]
- bx lr
- .pool
- thumb_func_end atk33_orbyte
-
- thumb_func_start atk34_orhalfword
-atk34_orhalfword: @ 804B47C
- push {r4,lr}
- ldr r4, =gBattlescriptCurrInstr
- ldr r3, [r4]
- ldrb r2, [r3, 0x1]
- ldrb r0, [r3, 0x2]
- lsls r0, 8
- adds r2, r0
- ldrb r0, [r3, 0x3]
- lsls r0, 16
- adds r2, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 24
- adds r2, r0
- ldrb r1, [r3, 0x5]
- ldrb r0, [r3, 0x6]
- lsls r0, 8
- orrs r1, r0
- ldrh r0, [r2]
- orrs r1, r0
- strh r1, [r2]
- ldr r0, [r4]
- adds r0, 0x7
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk34_orhalfword
-
- thumb_func_start atk35_orword
-atk35_orword: @ 804B4B4
- push {r4,lr}
- ldr r4, =gBattlescriptCurrInstr
- ldr r2, [r4]
- ldrb r3, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- adds r3, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- adds r3, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- adds r3, r0
- ldrb r1, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- adds r1, r0
- ldr r0, [r3]
- orrs r0, r1
- str r0, [r3]
- ldr r0, [r4]
- adds r0, 0x9
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk35_orword
-
- thumb_func_start atk36_bicbyte
-atk36_bicbyte: @ 804B4F8
- ldr r3, =gBattlescriptCurrInstr
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- adds r1, r0
- ldrb r2, [r2, 0x5]
- ldrb r0, [r1]
- bics r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- adds r0, 0x6
- str r0, [r3]
- bx lr
- .pool
- thumb_func_end atk36_bicbyte
-
- thumb_func_start atk37_bichalfword
-atk37_bichalfword: @ 804B524
- push {r4,lr}
- ldr r4, =gBattlescriptCurrInstr
- ldr r3, [r4]
- ldrb r1, [r3, 0x1]
- ldrb r0, [r3, 0x2]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r3, 0x3]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 24
- adds r1, r0
- ldrb r2, [r3, 0x5]
- ldrb r0, [r3, 0x6]
- lsls r0, 8
- orrs r2, r0
- ldrh r0, [r1]
- bics r0, r2
- strh r0, [r1]
- ldr r0, [r4]
- adds r0, 0x7
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk37_bichalfword
-
- thumb_func_start atk38_bicword
-atk38_bicword: @ 804B55C
- push {r4,lr}
- ldr r4, =gBattlescriptCurrInstr
- ldr r2, [r4]
- ldrb r3, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- adds r3, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- adds r3, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- adds r3, r0
- ldrb r1, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- adds r1, r0
- ldr r0, [r3]
- bics r0, r1
- str r0, [r3]
- ldr r0, [r4]
- adds r0, 0x9
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk38_bicword
-
- thumb_func_start atk39_pause
-atk39_pause: @ 804B5A0
- push {r4,r5,lr}
- ldr r0, =gBattleExecBuffer
- ldr r4, [r0]
- cmp r4, 0
- bne _0804B5CC
- ldr r5, =gBattlescriptCurrInstr
- ldr r2, [r5]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldr r3, =gPauseCounterBattle
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r1
- bcc _0804B5CC
- strh r4, [r3]
- adds r0, r2, 0x3
- str r0, [r5]
-_0804B5CC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk39_pause
-
- thumb_func_start atk3A_waitstate
-atk3A_waitstate: @ 804B5E0
- push {lr}
- ldr r0, =gBattleExecBuffer
- ldr r0, [r0]
- cmp r0, 0
- bne _0804B5F2
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
-_0804B5F2:
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk3A_waitstate
-
- thumb_func_start atk3B_healthbar_update
-atk3B_healthbar_update: @ 804B600
- push {lr}
- ldr r0, =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- bne _0804B620
- ldr r0, =gActiveBank
- ldr r1, =gBankTarget
- b _0804B624
- .pool
-_0804B620:
- ldr r0, =gActiveBank
- ldr r1, =gBankAttacker
-_0804B624:
- ldrb r1, [r1]
- strb r1, [r0]
- ldr r0, =gBattleMoveDamage
- ldrh r1, [r0]
- movs r0, 0
- bl EmitHealthBarUpdate
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl MarkBufferBankForExecution
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk3B_healthbar_update
-
- thumb_func_start atk3C_return
-atk3C_return: @ 804B658
- push {lr}
- bl b_movescr_stack_pop_cursor
- pop {r0}
- bx r0
- thumb_func_end atk3C_return
-
- thumb_func_start atk3D_end
-atk3D_end: @ 804B664
- push {lr}
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 11
- ands r0, r1
- cmp r0, 0
- beq _0804B67C
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- bl sub_81A5718
-_0804B67C:
- ldr r0, =gBattleMoveFlags
- movs r1, 0
- strb r1, [r0]
- ldr r0, =gActiveBank
- strb r1, [r0]
- ldr r1, =gFightStateTracker
- movs r0, 0xB
- strb r0, [r1]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk3D_end
-
- thumb_func_start atk3E_end2
-atk3E_end2: @ 804B6A4
- ldr r1, =gActiveBank
- movs r0, 0
- strb r0, [r1]
- ldr r1, =gFightStateTracker
- movs r0, 0xB
- strb r0, [r1]
- bx lr
- .pool
- thumb_func_end atk3E_end2
-
- thumb_func_start atk3F_end3
-atk3F_end3: @ 804B6BC
- push {lr}
- bl b_movescr_stack_pop_cursor
- ldr r3, =gBattleResources
- ldr r0, [r3]
- ldr r0, [r0, 0xC]
- adds r1, r0, 0
- adds r1, 0x20
- ldrb r0, [r1]
- cmp r0, 0
- beq _0804B6D6
- subs r0, 0x1
- strb r0, [r1]
-_0804B6D6:
- ldr r2, =gBattleMainFunc
- ldr r0, [r3]
- ldr r1, [r0, 0xC]
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r0, [r0]
- lsls r0, 2
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2]
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk3F_end3
-
- thumb_func_start atk41_call
-atk41_call: @ 804B6F8
- push {r4,lr}
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- adds r0, 0x5
- bl b_movescr_stack_push
- ldr r2, [r4]
- 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, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk41_call
-
- thumb_func_start atk42_jumpiftype2
-atk42_jumpiftype2: @ 804B728
- push {r4,lr}
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl GetBattleBank
- lsls r0, 24
- lsrs r0, 24
- ldr r3, [r4]
- ldr r2, =gBattleMons
- movs r1, 0x58
- muls r0, r1
- adds r0, r2
- adds r1, r0, 0
- adds r1, 0x21
- ldrb r2, [r3, 0x2]
- ldrb r1, [r1]
- cmp r2, r1
- beq _0804B756
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r2, r0
- bne _0804B778
-_0804B756:
- ldrb r1, [r3, 0x3]
- ldrb r0, [r3, 0x4]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x5]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x6]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _0804B77C
- .pool
-_0804B778:
- adds r0, r3, 0x7
- str r0, [r4]
-_0804B77C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end atk42_jumpiftype2
-
- thumb_func_start atk43_jumpifabilitypresent
-atk43_jumpifabilitypresent: @ 804B784
- push {r4,lr}
- sub sp, 0x4
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r2, [r0, 0x1]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x13
- movs r1, 0
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- beq _0804B7C0
- ldr r2, [r4]
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _0804B7C6
- .pool
-_0804B7C0:
- ldr r0, [r4]
- adds r0, 0x6
- str r0, [r4]
-_0804B7C6:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end atk43_jumpifabilitypresent
-
- thumb_func_start atk44
-atk44: @ 804B7D0
- ldr r0, =gBankAttacker
- ldrb r0, [r0]
- ldr r1, =gBattleStruct
- ldr r1, [r1]
- adds r0, r1
- adds r0, 0x54
- movs r1, 0x1
- strb r1, [r0]
- bx lr
- .pool
- thumb_func_end atk44
-
- thumb_func_start atk45_playanimation
-atk45_playanimation: @ 804B7EC
- push {r4-r6,lr}
- ldr r5, =gBattlescriptCurrInstr
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- bl GetBattleBank
- ldr r6, =gActiveBank
- strb r0, [r6]
- ldr r2, [r5]
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x4]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 24
- adds r3, r1, r0
- ldrb r4, [r2, 0x2]
- adds r0, r4, 0
- cmp r0, 0x1
- beq _0804B822
- cmp r0, 0x11
- beq _0804B822
- cmp r0, 0x2
- bne _0804B848
-_0804B822:
- ldr r4, =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r1, [r0, 0x2]
- ldrh r2, [r3]
- movs r0, 0
- bl dp01_build_cmdbuf_x34_a_bb_aka_battle_anim
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl MarkBufferBankForExecution
- ldr r0, [r4]
- adds r0, 0x7
- str r0, [r4]
- b _0804B8AA
- .pool
-_0804B848:
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0804B868
- adds r0, r2, 0x7
- bl b_movescr_stack_push
- ldr r0, =BattleScript_Pausex20
- b _0804B8A8
- .pool
-_0804B868:
- adds r0, r4, 0
- subs r0, 0xA
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _0804B894
- ldr r1, =gStatuses3
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x000400c0
- ands r0, r1
- cmp r0, 0
- beq _0804B894
- adds r0, r2, 0x7
- b _0804B8A8
- .pool
-_0804B894:
- ldrb r1, [r2, 0x2]
- ldrh r2, [r3]
- movs r0, 0
- bl dp01_build_cmdbuf_x34_a_bb_aka_battle_anim
- ldrb r0, [r6]
- bl MarkBufferBankForExecution
- ldr r0, [r5]
- adds r0, 0x7
-_0804B8A8:
- str r0, [r5]
-_0804B8AA:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end atk45_playanimation
-
- thumb_func_start atk46_playanimation2
-atk46_playanimation2: @ 804B8B0
- push {r4-r7,lr}
- ldr r6, =gBattlescriptCurrInstr
- ldr r0, [r6]
- ldrb r0, [r0, 0x1]
- bl GetBattleBank
- ldr r7, =gActiveBank
- strb r0, [r7]
- ldr r2, [r6]
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- adds r3, r1, r0
- ldrb r1, [r2, 0x6]
- ldrb r0, [r2, 0x7]
- lsls r0, 8
- adds r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 16
- adds r1, r0
- ldrb r0, [r2, 0x9]
- lsls r0, 24
- adds r4, r1, r0
- ldrb r5, [r3]
- adds r0, r5, 0
- cmp r0, 0x1
- beq _0804B8FA
- cmp r0, 0x11
- beq _0804B8FA
- cmp r0, 0x2
- bne _0804B920
-_0804B8FA:
- ldrb r1, [r3]
- ldrh r2, [r4]
- movs r0, 0
- bl dp01_build_cmdbuf_x34_a_bb_aka_battle_anim
- ldr r0, =gActiveBank
- ldrb r0, [r0]
- bl MarkBufferBankForExecution
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0xA
- str r0, [r1]
- b _0804B976
- .pool
-_0804B920:
- ldr r0, =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0804B934
- adds r0, r2, 0
- b _0804B972
- .pool
-_0804B934:
- adds r0, r5, 0
- subs r0, 0xA
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _0804B960
- ldr r1, =gStatuses3
- ldrb r0, [r7]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, =0x000400c0
- ands r0, r1
- cmp r0, 0
- beq _0804B960
- adds r0, r2, 0
- b _0804B972
- .pool
-_0804B960:
- ldrb r1, [r3]
- ldrh r2, [r4]
- movs r0, 0
- bl dp01_build_cmdbuf_x34_a_bb_aka_battle_anim
- ldrb r0, [r7]
- bl MarkBufferBankForExecution
- ldr r0, [r6]
-_0804B972:
- adds r0, 0xA
- str r0, [r6]
-_0804B976:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end atk46_playanimation2
-
- thumb_func_start atk47_setgraphicalstatchangevalues
-atk47_setgraphicalstatchangevalues: @ 804B97C
- push {r4,lr}
- movs r3, 0
- ldr r1, =gBattleScripting
- ldrb r0, [r1, 0x1A]
- movs r2, 0xF0
- ands r2, r0
- adds r4, r1, 0
- cmp r2, 0x20
- beq _0804B9AA
- cmp r2, 0x20
- bgt _0804B99C
- cmp r2, 0x10
- beq _0804B9A6
- b _0804B9B4
- .pool
-_0804B99C:
- cmp r2, 0x90
- beq _0804B9AE
- cmp r2, 0xA0
- beq _0804B9B2
- b _0804B9B4
-_0804B9A6:
- movs r3, 0xF
- b _0804B9B4
-_0804B9AA:
- movs r3, 0x27
- b _0804B9B4
-_0804B9AE:
- movs r3, 0x16
- b _0804B9B4
-_0804B9B2:
- movs r3, 0x2E
-_0804B9B4:
- ldrb r1, [r4, 0x1A]
- movs r0, 0xF
- ands r0, r1
- adds r0, r3, r0
- subs r0, 0x1
- movs r1, 0
- strb r0, [r4, 0x10]
- strb r1, [r4, 0x11]
- ldr r1, =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .pool
- thumb_func_end atk47_setgraphicalstatchangevalues
-
thumb_func_start atk48_playstatchangeanimation
atk48_playstatchangeanimation: @ 804B9D8
push {r4-r7,lr}
@@ -6061,7 +219,7 @@ _0804BB6C:
movs r1, 0x1
mov r2, r8
str r3, [sp]
- bl dp01_build_cmdbuf_x34_a_bb_aka_battle_anim
+ bl EmitBattleAnimation
ldr r0, =gActiveBank
ldrb r0, [r0]
bl MarkBufferBankForExecution
@@ -6198,7 +356,7 @@ _0804BCAC:
str r0, [r5]
ldr r0, =gBattleScripting
strb r4, [r0, 0x14]
- bl sub_804AF30
+ bl MoveValuesCleanUp
ldr r2, =gUnknown_082D86A8
mov r0, r8
ldrh r1, [r0]
@@ -6210,7 +368,7 @@ _0804BCAC:
lsls r0, 2
adds r0, r2
ldr r0, [r0]
- bl b_movescr_stack_push
+ bl BattleScriptPush
ldr r1, =gBattlescriptCurrInstr
ldr r0, =gUnknown_082DB87D
bl _0804C5B8
@@ -6360,7 +518,7 @@ _0804BE14:
_0804BE26:
adds r0, r2, 0x1
strb r0, [r1, 0x19]
- bl b_movescr_stack_push_cursor
+ bl BattleScriptPushCursor
ldr r1, =gBattlescriptCurrInstr
ldr r0, =gUnknown_082DAE0D
str r0, [r1]
@@ -6440,7 +598,7 @@ _0804BEBA:
bl EmitSetAttributes
ldrb r0, [r4]
bl MarkBufferBankForExecution
- bl b_movescr_stack_push_cursor
+ bl BattleScriptPushCursor
ldr r1, =gBattlescriptCurrInstr
ldr r0, =gUnknown_082DB282
str r0, [r1]
@@ -9718,7 +3876,7 @@ _0804DBC8:
ldr r0, =gBattleScripting
ldrb r1, [r4]
strb r1, [r0, 0x17]
- bl b_movescr_stack_push_cursor
+ bl BattleScriptPushCursor
mov r7, r9
ldr r0, [r7]
ldrb r0, [r0, 0x1]
@@ -15079,7 +9237,7 @@ _08050AA8:
.pool
_08050B10:
mov r0, r8
- bl b_movescr_stack_push
+ bl BattleScriptPush
ldr r1, =gBattleScripting
ldr r6, =gActiveBank
ldrb r0, [r6]
@@ -15159,7 +9317,7 @@ _08050B94:
.pool
_08050BD4:
mov r0, r8
- bl b_movescr_stack_push
+ bl BattleScriptPush
ldr r1, =gBattleScripting
ldr r2, =gActiveBank
ldrb r0, [r2]
@@ -15208,7 +9366,7 @@ _08050C2C:
cmp r5, 0x1
bne _08050B68
mov r0, r8
- bl b_movescr_stack_push
+ bl BattleScriptPush
ldr r1, =gBattleScripting
ldr r3, =gActiveBank
ldrb r0, [r3]
@@ -15248,7 +9406,7 @@ _08050C8C:
b _08050B68
_08050CAE:
mov r0, r8
- bl b_movescr_stack_push
+ bl BattleScriptPush
ldr r1, =gBattleScripting
ldr r2, =gActiveBank
ldrb r0, [r2]
@@ -16403,7 +10561,7 @@ atk91_givepaydaymoney: @ 80515C8
ldr r4, =gBattlescriptCurrInstr
ldr r0, [r4]
adds r0, 0x1
- bl b_movescr_stack_push
+ bl BattleScriptPush
ldr r0, =gUnknown_082DB307
str r0, [r4]
b _08051658
@@ -21438,7 +15596,7 @@ atkBE_breakfree: @ 805417C
strb r0, [r1, 0x3]
movs r0, 0xFF
strb r0, [r1, 0x4]
- bl b_movescr_stack_push_cursor
+ bl BattleScriptPushCursor
ldr r1, =gBattlescriptCurrInstr
ldr r0, =gUnknown_082DAFC5
b _080542BA
@@ -21464,7 +15622,7 @@ _08054210:
negs r2, r2
ands r0, r2
str r0, [r1]
- bl b_movescr_stack_push_cursor
+ bl BattleScriptPushCursor
ldr r1, =gBattlescriptCurrInstr
ldr r0, =gUnknown_082DAFD6
b _080542BA
@@ -21501,7 +15659,7 @@ _08054250:
lsls r1, 2
adds r1, r2
strb r4, [r1, 0xA]
- bl b_movescr_stack_push_cursor
+ bl BattleScriptPushCursor
ldr r1, =gBattlescriptCurrInstr
ldr r0, =gUnknown_082DAFDD
b _080542BA
@@ -22608,7 +16766,7 @@ atkCC_callterrainattack: @ 8054BEC
lsls r0, 2
adds r0, r3
ldr r0, [r0]
- bl b_movescr_stack_push
+ bl BattleScriptPush
ldr r1, =gBattlescriptCurrInstr
ldr r0, [r1]
adds r0, 0x1
@@ -23039,7 +17197,7 @@ _08054FDC:
cmp r0, 0x3C
bne _08055010
ldr r1, =gBattlescriptCurrInstr
- ldr r0, =gUnknown_082DB63F
+ ldr r0, =BattleScript_StickyHoldOnKnockOff
str r0, [r1]
ldr r1, =gLastUsedAbility
ldrb r0, [r7]
@@ -24725,7 +18883,7 @@ _08055E2C:
ldrb r2, [r0]
movs r0, 0
movs r1, 0
- bl dp01_build_cmdbuf_x34_a_bb_aka_battle_anim
+ bl EmitBattleAnimation
ldrb r0, [r4]
bl MarkBufferBankForExecution
ldr r1, =gBattlescriptCurrInstr
diff --git a/asm/battle_5.s b/asm/battle_5.s
index 3db603531..9c35a8913 100644
--- a/asm/battle_5.s
+++ b/asm/battle_5.s
@@ -183,8 +183,8 @@ _080570D0:
.pool
thumb_func_end sub_8057028
- thumb_func_start sub_80570F4
-sub_80570F4: @ 80570F4
+ thumb_func_start AdjustFriendshipOnBattleFaint
+AdjustFriendshipOnBattleFaint: @ 80570F4
push {r4,r5,lr}
lsls r0, 24
lsrs r5, r0, 24
@@ -285,7 +285,7 @@ _080571CE:
pop {r0}
bx r0
.pool
- thumb_func_end sub_80570F4
+ thumb_func_end AdjustFriendshipOnBattleFaint
thumb_func_start sub_80571DC
sub_80571DC: @ 80571DC
@@ -414,7 +414,7 @@ _0805729A:
ldr r1, =0xf7ffffff
ands r0, r1
str r0, [r2]
- bl b_movescr_stack_push_cursor
+ bl BattleScriptPushCursor
movs r0, 0x1
mov r2, r10
strb r0, [r2, 0x5]
@@ -474,7 +474,7 @@ _08057354:
ldr r1, =0xf7ffffff
ands r0, r1
str r0, [r2]
- bl b_movescr_stack_push_cursor
+ bl BattleScriptPushCursor
ldr r0, =gBattleCommunication
strb r4, [r0, 0x5]
ldr r1, =gBattlescriptCurrInstr
@@ -523,7 +523,7 @@ _080573D4:
negs r1, r1
ands r0, r1
str r0, [r4]
- bl b_movescr_stack_push_cursor
+ bl BattleScriptPushCursor
ldr r1, =gBattlescriptCurrInstr
ldr r0, =BattleScript_MoveUsedUnfroze
str r0, [r1]
diff --git a/asm/battle_7.s b/asm/battle_7.s
index fd8c3b4a5..10fabc389 100644
--- a/asm/battle_7.s
+++ b/asm/battle_7.s
@@ -2937,8 +2937,8 @@ _0805EA5A:
bx r0
thumb_func_end sub_805E990
- thumb_func_start sub_805EA60
-sub_805EA60: @ 805EA60
+ thumb_func_start BattleMusicStop
+BattleMusicStop: @ 805EA60
push {r4-r6,lr}
movs r0, 0
bl GetBankByPlayerAI
@@ -2977,7 +2977,7 @@ _0805EAA2:
pop {r0}
bx r0
.pool
- thumb_func_end sub_805EA60
+ thumb_func_end BattleMusicStop
thumb_func_start sub_805EAB4
sub_805EAB4: @ 805EAB4
diff --git a/asm/battle_controller_linkopponent.s b/asm/battle_controller_linkopponent.s
index d28823a8b..e8975a7aa 100644
--- a/asm/battle_controller_linkopponent.s
+++ b/asm/battle_controller_linkopponent.s
@@ -5565,7 +5565,7 @@ sub_806743C: @ 806743C
ldrb r0, [r0]
cmp r0, 0
beq _08067478
- bl sub_805EA60
+ bl BattleMusicStop
ldrb r1, [r5]
lsls r1, 9
adds r0, r4, 0x1
diff --git a/asm/battle_controller_linkpartner.s b/asm/battle_controller_linkpartner.s
index 881228279..e02a967d0 100644
--- a/asm/battle_controller_linkpartner.s
+++ b/asm/battle_controller_linkpartner.s
@@ -4874,7 +4874,7 @@ sub_814D9D8: @ 814D9D8
ldrb r0, [r0]
cmp r0, 0
beq _0814DA14
- bl sub_805EA60
+ bl BattleMusicStop
ldrb r1, [r5]
lsls r1, 9
adds r0, r4, 0x1
diff --git a/asm/battle_controller_opponent.s b/asm/battle_controller_opponent.s
index 639ef0ce6..1bfa3ff12 100644
--- a/asm/battle_controller_opponent.s
+++ b/asm/battle_controller_opponent.s
@@ -6015,7 +6015,7 @@ sub_8062630: @ 8062630
ldrb r0, [r0]
cmp r0, 0
beq _0806266C
- bl sub_805EA60
+ bl BattleMusicStop
ldrb r1, [r5]
lsls r1, 9
adds r0, r4, 0x1
diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s
index 0e9318dc9..d9d5c5e6a 100644
--- a/asm/battle_controller_player.s
+++ b/asm/battle_controller_player.s
@@ -8913,7 +8913,7 @@ _0805C3BC:
sub_805C3EC: @ 805C3EC
push {lr}
sub sp, 0x4
- bl sub_805EA60
+ bl BattleMusicStop
movs r0, 0x1
negs r0, r0
movs r1, 0
@@ -9595,7 +9595,7 @@ sub_805C9B0: @ 805C9B0
ldrb r0, [r0]
cmp r0, 0
beq _0805C9EC
- bl sub_805EA60
+ bl BattleMusicStop
ldrb r1, [r5]
lsls r1, 9
adds r0, r4, 0x1
diff --git a/asm/battle_controller_player_partner.s b/asm/battle_controller_player_partner.s
index 6b5a14f95..f77dc2c33 100644
--- a/asm/battle_controller_player_partner.s
+++ b/asm/battle_controller_player_partner.s
@@ -5661,7 +5661,7 @@ sub_81BE03C: @ 81BE03C
ldrb r0, [r0]
cmp r0, 0
beq _081BE078
- bl sub_805EA60
+ bl BattleMusicStop
ldrb r1, [r5]
lsls r1, 9
adds r0, r4, 0x1
diff --git a/asm/battle_controller_recorded_opponent.s b/asm/battle_controller_recorded_opponent.s
index dc7fe7de5..6f047a4ef 100644
--- a/asm/battle_controller_recorded_opponent.s
+++ b/asm/battle_controller_recorded_opponent.s
@@ -5304,7 +5304,7 @@ sub_818936C: @ 818936C
ldrb r0, [r0]
cmp r0, 0
beq _081893A8
- bl sub_805EA60
+ bl BattleMusicStop
ldrb r1, [r5]
lsls r1, 9
adds r0, r4, 0x1
diff --git a/asm/battle_controller_recorded_player.s b/asm/battle_controller_recorded_player.s
index b2769671c..7b0cd6d41 100644
--- a/asm/battle_controller_recorded_player.s
+++ b/asm/battle_controller_recorded_player.s
@@ -5455,7 +5455,7 @@ sub_818C994: @ 818C994
ldrb r0, [r0]
cmp r0, 0
beq _0818C9D0
- bl sub_805EA60
+ bl BattleMusicStop
ldrb r1, [r5]
lsls r1, 9
adds r0, r4, 0x1
diff --git a/asm/battle_controller_safari.s b/asm/battle_controller_safari.s
index 1aff72176..13111e08d 100644
--- a/asm/battle_controller_safari.s
+++ b/asm/battle_controller_safari.s
@@ -1161,7 +1161,7 @@ dp01t_34_6_move_anim_start_t3: @ 8159CC4
ldrb r0, [r0]
cmp r0, 0
beq _08159D00
- bl sub_805EA60
+ bl BattleMusicStop
ldrb r1, [r5]
lsls r1, 9
adds r0, r4, 0x1
diff --git a/asm/battle_controller_wally.s b/asm/battle_controller_wally.s
index ddb97f927..6f59c4104 100644
--- a/asm/battle_controller_wally.s
+++ b/asm/battle_controller_wally.s
@@ -4150,7 +4150,7 @@ sub_816A840: @ 816A840
ldrb r0, [r0]
cmp r0, 0
beq _0816A87C
- bl sub_805EA60
+ bl BattleMusicStop
ldrb r1, [r5]
lsls r1, 9
adds r0, r4, 0x1
diff --git a/asm/rom3.s b/asm/rom3.s
index f6b6f2d03..84dec85e5 100644
--- a/asm/rom3.s
+++ b/asm/rom3.s
@@ -2355,8 +2355,8 @@ dp01_build_cmdbuf_x09_9_9_9: @ 8033A24
.pool
thumb_func_end dp01_build_cmdbuf_x09_9_9_9
- thumb_func_start dp01_build_cmdbuf_x0A_A_A_A
-dp01_build_cmdbuf_x0A_A_A_A: @ 8033A44
+ thumb_func_start EmitFaintAnimation
+EmitFaintAnimation: @ 8033A44
push {lr}
lsls r0, 24
lsrs r0, 24
@@ -2371,7 +2371,7 @@ dp01_build_cmdbuf_x0A_A_A_A: @ 8033A44
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x0A_A_A_A
+ thumb_func_end EmitFaintAnimation
thumb_func_start dp01_build_cmdbuf_x0B_B_B_B
dp01_build_cmdbuf_x0B_B_B_B: @ 8033A64
@@ -2967,8 +2967,8 @@ EmitHealthBarUpdate: @ 8033EFC
.pool
thumb_func_end EmitHealthBarUpdate
- thumb_func_start dp01_build_cmdbuf_x19_a_bb
-dp01_build_cmdbuf_x19_a_bb: @ 8033F34
+ thumb_func_start EmitExpUpdate
+EmitExpUpdate: @ 8033F34
push {r4,lr}
adds r4, r1, 0
lsls r0, 24
@@ -2993,7 +2993,7 @@ dp01_build_cmdbuf_x19_a_bb: @ 8033F34
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x19_a_bb
+ thumb_func_end EmitExpUpdate
thumb_func_start dp01_build_cmdbuf_x1A_aaaa_bbbb
dp01_build_cmdbuf_x1A_aaaa_bbbb: @ 8033F68
@@ -3661,8 +3661,8 @@ dp01_build_cmdbuf_x33_a_33_33: @ 8034414
.pool
thumb_func_end dp01_build_cmdbuf_x33_a_33_33
- thumb_func_start dp01_build_cmdbuf_x34_a_bb_aka_battle_anim
-dp01_build_cmdbuf_x34_a_bb_aka_battle_anim: @ 8034438
+ thumb_func_start EmitBattleAnimation
+EmitBattleAnimation: @ 8034438
push {r4,lr}
adds r4, r1, 0
lsls r0, 24
@@ -3682,7 +3682,7 @@ dp01_build_cmdbuf_x34_a_bb_aka_battle_anim: @ 8034438
pop {r0}
bx r0
.pool
- thumb_func_end dp01_build_cmdbuf_x34_a_bb_aka_battle_anim
+ thumb_func_end EmitBattleAnimation
thumb_func_start sub_8034464
sub_8034464: @ 8034464