summaryrefslogtreecommitdiff
path: root/asm/battle_script_commands.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/battle_script_commands.s')
-rw-r--r--asm/battle_script_commands.s3695
1 files changed, 0 insertions, 3695 deletions
diff --git a/asm/battle_script_commands.s b/asm/battle_script_commands.s
index ed848ba78..7a0f29fb8 100644
--- a/asm/battle_script_commands.s
+++ b/asm/battle_script_commands.s
@@ -5,3701 +5,6 @@
.text
- thumb_func_start atk50_openpartyscreen
-atk50_openpartyscreen: @ 80243EC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- movs r7, 0
- movs r0, 0
- mov r9, r0
- ldr r6, _08024498 @ =gBattlescriptCurrInstr
- ldr r2, [r6]
- 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
- mov r8, r1
- ldrb r1, [r2, 0x1]
- adds r0, r1, 0
- mov r12, r6
- cmp r0, 0x5
- beq _08024422
- b _080248B8
-_08024422:
- ldr r0, _0802449C @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x41
- ands r1, r0
- cmp r1, 0x1
- beq _08024510
- ldr r1, _080244A0 @ =gActiveBattler
- strb r7, [r1]
- ldr r0, _080244A4 @ =gBattlersCount
- ldrb r0, [r0]
- cmp r7, r0
- bcc _0802443C
- b _080248A6
-_0802443C:
- ldr r7, _080244A8 @ =gHitMarker
- ldr r6, _080244AC @ =gBitTable
- adds r4, r1, 0
- ldr r2, _080244B0 @ =gAbsentBattlerFlags
- mov r8, r2
-_08024446:
- ldrb r2, [r4]
- lsls r0, r2, 2
- adds r0, r6
- ldr r1, [r0]
- lsls r1, 28
- ldr r0, [r7]
- ands r0, r1
- cmp r0, 0
- beq _080244E8
- adds r0, r2, 0
- movs r1, 0x6
- movs r2, 0x6
- bl HasNoMonsToSwitch
- lsls r0, 24
- cmp r0, 0
- beq _080244B4
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- mov r2, r8
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r6
- ldr r1, [r0]
- lsls r1, 28
- ldr r0, [r7]
- bics r0, r1
- str r0, [r7]
- movs r0, 0
- movs r1, 0x2
- bl BtlController_EmitLinkStandbyMsg
- ldrb r0, [r4]
- bl MarkBattlerForControllerExec
- b _080244F6
- .align 2, 0
-_08024498: .4byte gBattlescriptCurrInstr
-_0802449C: .4byte gBattleTypeFlags
-_080244A0: .4byte gActiveBattler
-_080244A4: .4byte gBattlersCount
-_080244A8: .4byte gHitMarker
-_080244AC: .4byte gBitTable
-_080244B0: .4byte gAbsentBattlerFlags
-_080244B4:
- ldr r5, _080244E4 @ =gSpecialStatuses
- ldrb r0, [r4]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- blt _080244F6
- movs r0, 0x6
- bl sub_8024398
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- b _080244F6
- .align 2, 0
-_080244E4: .4byte gSpecialStatuses
-_080244E8:
- movs r0, 0
- movs r1, 0x2
- bl BtlController_EmitLinkStandbyMsg
- ldrb r0, [r4]
- bl MarkBattlerForControllerExec
-_080244F6:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- ldr r1, _0802450C @ =gBattlersCount
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bcc _08024446
- b _080248A6
- .align 2, 0
-_0802450C: .4byte gBattlersCount
-_08024510:
- ands r0, r1
- cmp r0, 0
- bne _08024518
- b _080248A6
-_08024518:
- ldr r0, _08024570 @ =gHitMarker
- mov r8, r0
- ldr r0, [r0]
- lsrs r5, r0, 28
- ldr r6, _08024574 @ =gBitTable
- ldr r0, [r6]
- ands r0, r5
- cmp r0, 0
- beq _080245CE
- ldr r4, _08024578 @ =gActiveBattler
- strb r7, [r4]
- movs r0, 0
- movs r1, 0x6
- movs r2, 0x6
- bl HasNoMonsToSwitch
- lsls r0, 24
- cmp r0, 0
- beq _08024580
- ldr r2, _0802457C @ =gAbsentBattlerFlags
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r6
- ldr r1, [r0]
- lsls r1, 28
- mov r2, r8
- ldr r0, [r2]
- bics r0, r1
- str r0, [r2]
- movs r0, 0
- bl BtlController_EmitCmd42
- ldrb r0, [r4]
- bl MarkBattlerForControllerExec
- b _080245CE
- .align 2, 0
-_08024570: .4byte gHitMarker
-_08024574: .4byte gBitTable
-_08024578: .4byte gActiveBattler
-_0802457C: .4byte gAbsentBattlerFlags
-_08024580:
- ldr r6, _080245B4 @ =gSpecialStatuses
- ldrb r0, [r4]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- blt _080245BC
- ldr r0, _080245B8 @ =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x5E
- ldrb r0, [r0]
- bl sub_8024398
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- b _080245CE
- .align 2, 0
-_080245B4: .4byte gSpecialStatuses
-_080245B8: .4byte gBattleStruct
-_080245BC:
- movs r0, 0
- movs r1, 0x2
- bl BtlController_EmitLinkStandbyMsg
- ldrb r0, [r4]
- bl MarkBattlerForControllerExec
- movs r0, 0x1
- mov r9, r0
-_080245CE:
- ldr r6, _08024628 @ =gBitTable
- ldr r0, [r6, 0x8]
- ands r0, r5
- cmp r0, 0
- beq _0802468C
- ldr r0, [r6]
- ands r0, r5
- cmp r0, 0
- bne _0802468C
- ldr r4, _0802462C @ =gActiveBattler
- movs r0, 0x2
- strb r0, [r4]
- movs r0, 0x2
- movs r1, 0x6
- movs r2, 0x6
- bl HasNoMonsToSwitch
- lsls r0, 24
- cmp r0, 0
- beq _08024638
- ldr r2, _08024630 @ =gAbsentBattlerFlags
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldr r2, _08024634 @ =gHitMarker
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r6
- ldr r1, [r0]
- lsls r1, 28
- ldr r0, [r2]
- bics r0, r1
- str r0, [r2]
- movs r0, 0
- bl BtlController_EmitCmd42
- ldrb r0, [r4]
- bl MarkBattlerForControllerExec
- b _0802468C
- .align 2, 0
-_08024628: .4byte gBitTable
-_0802462C: .4byte gActiveBattler
-_08024630: .4byte gAbsentBattlerFlags
-_08024634: .4byte gHitMarker
-_08024638:
- ldr r6, _0802466C @ =gSpecialStatuses
- ldrb r0, [r4]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- blt _08024674
- ldr r0, _08024670 @ =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x5C
- ldrb r0, [r0]
- bl sub_8024398
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- b _0802468C
- .align 2, 0
-_0802466C: .4byte gSpecialStatuses
-_08024670: .4byte gBattleStruct
-_08024674:
- movs r0, 0x1
- mov r1, r9
- ands r0, r1
- cmp r0, 0
- bne _0802468C
- movs r0, 0
- movs r1, 0x2
- bl BtlController_EmitLinkStandbyMsg
- ldrb r0, [r4]
- bl MarkBattlerForControllerExec
-_0802468C:
- ldr r6, _080246DC @ =gBitTable
- ldr r0, [r6, 0x4]
- ands r0, r5
- cmp r0, 0
- beq _0802473E
- ldr r4, _080246E0 @ =gActiveBattler
- movs r0, 0x1
- strb r0, [r4]
- movs r0, 0x1
- movs r1, 0x6
- movs r2, 0x6
- bl HasNoMonsToSwitch
- lsls r0, 24
- cmp r0, 0
- beq _080246EC
- ldr r2, _080246E4 @ =gAbsentBattlerFlags
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldr r2, _080246E8 @ =gHitMarker
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r6
- ldr r1, [r0]
- lsls r1, 28
- ldr r0, [r2]
- bics r0, r1
- str r0, [r2]
- movs r0, 0
- bl BtlController_EmitCmd42
- ldrb r0, [r4]
- bl MarkBattlerForControllerExec
- b _0802473E
- .align 2, 0
-_080246DC: .4byte gBitTable
-_080246E0: .4byte gActiveBattler
-_080246E4: .4byte gAbsentBattlerFlags
-_080246E8: .4byte gHitMarker
-_080246EC:
- ldr r6, _08024720 @ =gSpecialStatuses
- ldrb r0, [r4]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- blt _08024728
- ldr r0, _08024724 @ =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x5F
- ldrb r0, [r0]
- bl sub_8024398
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- b _0802473E
- .align 2, 0
-_08024720: .4byte gSpecialStatuses
-_08024724: .4byte gBattleStruct
-_08024728:
- movs r0, 0
- movs r1, 0x2
- bl BtlController_EmitLinkStandbyMsg
- ldrb r0, [r4]
- bl MarkBattlerForControllerExec
- movs r0, 0x2
- mov r2, r9
- orrs r2, r0
- mov r9, r2
-_0802473E:
- ldr r6, _08024798 @ =gBitTable
- ldr r0, [r6, 0xC]
- ands r0, r5
- cmp r0, 0
- beq _080247FC
- ldr r0, [r6, 0x4]
- ands r0, r5
- cmp r0, 0
- bne _080247FC
- ldr r4, _0802479C @ =gActiveBattler
- movs r0, 0x3
- strb r0, [r4]
- movs r0, 0x3
- movs r1, 0x6
- movs r2, 0x6
- bl HasNoMonsToSwitch
- lsls r0, 24
- cmp r0, 0
- beq _080247A8
- ldr r2, _080247A0 @ =gAbsentBattlerFlags
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r6
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldr r2, _080247A4 @ =gHitMarker
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r6
- ldr r1, [r0]
- lsls r1, 28
- ldr r0, [r2]
- bics r0, r1
- str r0, [r2]
- movs r0, 0
- bl BtlController_EmitCmd42
- ldrb r0, [r4]
- bl MarkBattlerForControllerExec
- b _080247FC
- .align 2, 0
-_08024798: .4byte gBitTable
-_0802479C: .4byte gActiveBattler
-_080247A0: .4byte gAbsentBattlerFlags
-_080247A4: .4byte gHitMarker
-_080247A8:
- ldr r6, _080247DC @ =gSpecialStatuses
- ldrb r0, [r4]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- blt _080247E4
- ldr r0, _080247E0 @ =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x5D
- ldrb r0, [r0]
- bl sub_8024398
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- b _080247FC
- .align 2, 0
-_080247DC: .4byte gSpecialStatuses
-_080247E0: .4byte gBattleStruct
-_080247E4:
- movs r0, 0x2
- mov r1, r9
- ands r1, r0
- cmp r1, 0
- bne _080247FC
- movs r0, 0
- movs r1, 0x2
- bl BtlController_EmitLinkStandbyMsg
- ldrb r0, [r4]
- bl MarkBattlerForControllerExec
-_080247FC:
- ldr r1, _0802482C @ =gSpecialStatuses
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- blt _08024850
- adds r0, r1, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 25
- cmp r0, 0
- blt _08024850
- cmp r5, 0
- beq _08024850
- ldr r0, _08024830 @ =gAbsentBattlerFlags
- ldrb r1, [r0]
- ldr r0, _08024834 @ =gBitTable
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _0802483C
- ldr r1, _08024838 @ =gActiveBattler
- movs r0, 0x2
- strb r0, [r1]
- b _08024840
- .align 2, 0
-_0802482C: .4byte gSpecialStatuses
-_08024830: .4byte gAbsentBattlerFlags
-_08024834: .4byte gBitTable
-_08024838: .4byte gActiveBattler
-_0802483C:
- ldr r0, _08024880 @ =gActiveBattler
- strb r1, [r0]
-_08024840:
- movs r0, 0
- movs r1, 0x2
- bl BtlController_EmitLinkStandbyMsg
- ldr r0, _08024880 @ =gActiveBattler
- ldrb r0, [r0]
- bl MarkBattlerForControllerExec
-_08024850:
- ldr r1, _08024884 @ =gSpecialStatuses
- ldrb r0, [r1, 0x14]
- lsls r0, 25
- cmp r0, 0
- blt _080248A6
- adds r0, r1, 0
- adds r0, 0x3C
- ldrb r0, [r0]
- lsls r0, 25
- cmp r0, 0
- blt _080248A6
- cmp r5, 0
- beq _080248A6
- ldr r0, _08024888 @ =gAbsentBattlerFlags
- ldrb r0, [r0]
- ldr r1, _0802488C @ =gBitTable
- ldr r1, [r1, 0x4]
- ands r0, r1
- cmp r0, 0
- beq _08024890
- ldr r1, _08024880 @ =gActiveBattler
- movs r0, 0x3
- b _08024894
- .align 2, 0
-_08024880: .4byte gActiveBattler
-_08024884: .4byte gSpecialStatuses
-_08024888: .4byte gAbsentBattlerFlags
-_0802488C: .4byte gBitTable
-_08024890:
- ldr r1, _080248B0 @ =gActiveBattler
- movs r0, 0x1
-_08024894:
- strb r0, [r1]
- movs r0, 0
- movs r1, 0x2
- bl BtlController_EmitLinkStandbyMsg
- ldr r0, _080248B0 @ =gActiveBattler
- ldrb r0, [r0]
- bl MarkBattlerForControllerExec
-_080248A6:
- ldr r1, _080248B4 @ =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x6
- str r0, [r1]
- b _08024C2E
- .align 2, 0
-_080248B0: .4byte gActiveBattler
-_080248B4: .4byte gBattlescriptCurrInstr
-_080248B8:
- cmp r0, 0x6
- beq _080248BE
- b _08024AAC
-_080248BE:
- ldr r0, _08024934 @ =gBattleTypeFlags
- ldr r1, [r0]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080248CC
- b _08024A48
-_080248CC:
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- bne _080248D6
- b _08024A48
-_080248D6:
- ldr r7, _08024938 @ =gHitMarker
- ldr r0, [r7]
- lsrs r5, r0, 28
- ldr r4, _0802493C @ =gBitTable
- ldr r0, [r4, 0x8]
- ands r0, r5
- cmp r0, 0
- beq _0802497E
- ldr r0, [r4]
- ands r0, r5
- cmp r0, 0
- beq _0802497E
- ldr r6, _08024940 @ =gActiveBattler
- movs r0, 0x2
- strb r0, [r6]
- ldr r0, _08024944 @ =gBattleBufferB
- ldrb r1, [r0, 0x1]
- movs r0, 0x2
- movs r2, 0x6
- bl HasNoMonsToSwitch
- lsls r0, 24
- cmp r0, 0
- beq _0802494C
- ldr r2, _08024948 @ =gAbsentBattlerFlags
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r4
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r4
- ldr r1, [r0]
- lsls r1, 28
- ldr r0, [r7]
- bics r0, r1
- str r0, [r7]
- movs r0, 0
- bl BtlController_EmitCmd42
- ldrb r0, [r6]
- bl MarkBattlerForControllerExec
- b _0802497E
- .align 2, 0
-_08024934: .4byte gBattleTypeFlags
-_08024938: .4byte gHitMarker
-_0802493C: .4byte gBitTable
-_08024940: .4byte gActiveBattler
-_08024944: .4byte gBattleBufferB
-_08024948: .4byte gAbsentBattlerFlags
-_0802494C:
- ldr r4, _080249DC @ =gSpecialStatuses
- ldrb r0, [r6]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- blt _0802497E
- ldr r0, _080249E0 @ =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x5C
- ldrb r0, [r0]
- bl sub_8024398
- ldrb r1, [r6]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
-_0802497E:
- ldr r4, _080249E4 @ =gBitTable
- ldr r0, [r4, 0xC]
- ands r0, r5
- cmp r0, 0
- beq _08024A2E
- ldr r0, [r4, 0x4]
- ands r5, r0
- cmp r5, 0
- beq _08024A2E
- ldr r5, _080249E8 @ =gActiveBattler
- movs r0, 0x3
- strb r0, [r5]
- ldr r0, _080249EC @ =gBattleBufferB
- ldr r2, _080249F0 @ =0x00000201
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x3
- movs r2, 0x6
- bl HasNoMonsToSwitch
- lsls r0, 24
- cmp r0, 0
- beq _080249FC
- ldr r2, _080249F4 @ =gAbsentBattlerFlags
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r4
- ldr r0, [r0]
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
- ldr r2, _080249F8 @ =gHitMarker
- ldrb r0, [r5]
- lsls r0, 2
- adds r0, r4
- ldr r1, [r0]
- lsls r1, 28
- ldr r0, [r2]
- bics r0, r1
- str r0, [r2]
- movs r0, 0
- bl BtlController_EmitCmd42
- ldrb r0, [r5]
- bl MarkBattlerForControllerExec
- b _08024A2E
- .align 2, 0
-_080249DC: .4byte gSpecialStatuses
-_080249E0: .4byte gBattleStruct
-_080249E4: .4byte gBitTable
-_080249E8: .4byte gActiveBattler
-_080249EC: .4byte gBattleBufferB
-_080249F0: .4byte 0x00000201
-_080249F4: .4byte gAbsentBattlerFlags
-_080249F8: .4byte gHitMarker
-_080249FC:
- ldr r4, _08024A3C @ =gSpecialStatuses
- ldrb r0, [r5]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- blt _08024A2E
- ldr r0, _08024A40 @ =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x5D
- ldrb r0, [r0]
- bl sub_8024398
- ldrb r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
-_08024A2E:
- ldr r1, _08024A44 @ =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x6
- str r0, [r1]
- mov r12, r1
- b _08024A4C
- .align 2, 0
-_08024A3C: .4byte gSpecialStatuses
-_08024A40: .4byte gBattleStruct
-_08024A44: .4byte gBattlescriptCurrInstr
-_08024A48:
- adds r0, r2, 0x6
- str r0, [r6]
-_08024A4C:
- ldr r0, _08024A9C @ =gHitMarker
- ldr r0, [r0]
- lsrs r5, r0, 28
- ldr r1, _08024AA0 @ =gBattlerFainted
- movs r0, 0
- strb r0, [r1]
- ldr r4, _08024AA4 @ =gBitTable
- ldr r2, [r4]
- ands r2, r5
- ldr r6, _08024AA8 @ =gBattlersCount
- cmp r2, 0
- bne _08024A88
- adds r7, r6, 0
- ldrb r0, [r6]
- cmp r2, r0
- bcs _08024A88
- adds r3, r1, 0
-_08024A6E:
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
- ldrb r2, [r3]
- lsls r0, r2, 2
- adds r0, r4
- ldr r0, [r0]
- ands r0, r5
- cmp r0, 0
- bne _08024A88
- ldrb r0, [r7]
- cmp r2, r0
- bcc _08024A6E
-_08024A88:
- ldrb r0, [r1]
- ldrb r6, [r6]
- cmp r0, r6
- beq _08024A92
- b _08024C2E
-_08024A92:
- mov r1, r8
- mov r2, r12
- str r1, [r2]
- b _08024C2E
- .align 2, 0
-_08024A9C: .4byte gHitMarker
-_08024AA0: .4byte gBattlerFainted
-_08024AA4: .4byte gBitTable
-_08024AA8: .4byte gBattlersCount
-_08024AAC:
- movs r0, 0x80
- ands r0, r1
- movs r5, 0x1
- cmp r0, 0
- beq _08024AB8
- movs r5, 0
-_08024AB8:
- movs r0, 0x7F
- ands r0, r1
- bl GetBattlerForBattleScript
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _08024AE0 @ =gSpecialStatuses
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 25
- cmp r0, 0
- bge _08024AE4
- ldr r0, [r6]
- adds r0, 0x6
- str r0, [r6]
- b _08024C2E
- .align 2, 0
-_08024AE0: .4byte gSpecialStatuses
-_08024AE4:
- adds r0, r7, 0
- movs r1, 0x6
- movs r2, 0x6
- bl HasNoMonsToSwitch
- lsls r0, 24
- cmp r0, 0
- beq _08024B34
- ldr r2, _08024B24 @ =gActiveBattler
- strb r7, [r2]
- ldr r3, _08024B28 @ =gAbsentBattlerFlags
- ldr r4, _08024B2C @ =gBitTable
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r4
- ldr r0, [r0]
- ldrb r1, [r3]
- orrs r0, r1
- strb r0, [r3]
- ldr r3, _08024B30 @ =gHitMarker
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r4
- ldr r1, [r0]
- lsls r1, 28
- ldr r0, [r3]
- bics r0, r1
- str r0, [r3]
- mov r0, r8
- str r0, [r6]
- b _08024C2E
- .align 2, 0
-_08024B24: .4byte gActiveBattler
-_08024B28: .4byte gAbsentBattlerFlags
-_08024B2C: .4byte gBitTable
-_08024B30: .4byte gHitMarker
-_08024B34:
- ldr r4, _08024BD8 @ =gActiveBattler
- strb r7, [r4]
- ldrb r0, [r4]
- ldr r3, _08024BDC @ =gBattleStruct
- ldr r1, [r3]
- adds r1, r0, r1
- adds r1, 0x58
- ldr r2, _08024BE0 @ =gBattlerPartyIndexes
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- strb r0, [r1]
- ldrb r1, [r4]
- movs r0, 0x2
- eors r0, r1
- ldr r3, [r3]
- adds r0, r3
- adds r0, 0x5C
- ldrb r2, [r0]
- ldrb r1, [r4]
- lsls r0, r1, 1
- adds r0, r1
- adds r0, 0x60
- adds r3, r0
- str r3, [sp]
- movs r0, 0
- adds r1, r5, 0
- movs r3, 0
- bl BtlController_EmitChoosePokemon
- ldrb r0, [r4]
- bl MarkBattlerForControllerExec
- ldr r0, [r6]
- adds r0, 0x6
- str r0, [r6]
- ldrb r0, [r4]
- bl GetBattlerPosition
- lsls r0, 24
- cmp r0, 0
- bne _08024B94
- ldr r1, _08024BE4 @ =gBattleResults
- ldrb r0, [r1, 0x2]
- cmp r0, 0xFE
- bhi _08024B94
- adds r0, 0x1
- strb r0, [r1, 0x2]
-_08024B94:
- ldr r0, _08024BE8 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08024BF0
- ldr r1, _08024BD8 @ =gActiveBattler
- movs r0, 0
- strb r0, [r1]
- ldr r0, _08024BEC @ =gBattlersCount
- ldrb r0, [r0]
- cmp r0, 0
- beq _08024C2E
- adds r4, r1, 0
-_08024BB0:
- ldrb r0, [r4]
- cmp r0, r7
- beq _08024BC4
- movs r0, 0
- movs r1, 0x2
- bl BtlController_EmitLinkStandbyMsg
- ldrb r0, [r4]
- bl MarkBattlerForControllerExec
-_08024BC4:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- ldr r1, _08024BEC @ =gBattlersCount
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bcc _08024BB0
- b _08024C2E
- .align 2, 0
-_08024BD8: .4byte gActiveBattler
-_08024BDC: .4byte gBattleStruct
-_08024BE0: .4byte gBattlerPartyIndexes
-_08024BE4: .4byte gBattleResults
-_08024BE8: .4byte gBattleTypeFlags
-_08024BEC: .4byte gBattlersCount
-_08024BF0:
- adds r0, r7, 0
- bl GetBattlerPosition
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- bl GetBattlerAtPosition
- ldr r4, _08024C3C @ =gActiveBattler
- strb r0, [r4]
- ldr r0, _08024C40 @ =gAbsentBattlerFlags
- ldrb r1, [r0]
- ldr r2, _08024C44 @ =gBitTable
- ldrb r3, [r4]
- lsls r0, r3, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _08024C20
- movs r0, 0x2
- eors r3, r0
- strb r3, [r4]
-_08024C20:
- movs r0, 0
- movs r1, 0x2
- bl BtlController_EmitLinkStandbyMsg
- ldrb r0, [r4]
- bl MarkBattlerForControllerExec
-_08024C2E:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08024C3C: .4byte gActiveBattler
-_08024C40: .4byte gAbsentBattlerFlags
-_08024C44: .4byte gBitTable
- thumb_func_end atk50_openpartyscreen
-
- thumb_func_start atk51_switchhandleorder
-atk51_switchhandleorder: @ 8024C48
- push {r4-r7,lr}
- ldr r0, _08024C74 @ =gBattleControllerExecFlags
- ldr r0, [r0]
- cmp r0, 0
- beq _08024C54
- b _08024E16
-_08024C54:
- ldr r4, _08024C78 @ =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl GetBattlerForBattleScript
- ldr r7, _08024C7C @ =gActiveBattler
- strb r0, [r7]
- ldr r0, [r4]
- ldrb r0, [r0, 0x2]
- cmp r0, 0x1
- beq _08024CC4
- cmp r0, 0x1
- bgt _08024C80
- cmp r0, 0
- beq _08024C86
- b _08024E0E
- .align 2, 0
-_08024C74: .4byte gBattleControllerExecFlags
-_08024C78: .4byte gBattlescriptCurrInstr
-_08024C7C: .4byte gActiveBattler
-_08024C80:
- cmp r0, 0x2
- beq _08024CE0
- b _08024E0E
-_08024C86:
- movs r3, 0
- ldr r0, _08024CB8 @ =gBattlersCount
- ldrb r1, [r0]
- cmp r3, r1
- blt _08024C92
- b _08024E0E
-_08024C92:
- ldr r6, _08024CBC @ =gBattleStruct
- ldr r2, _08024CC0 @ =gBattleBufferB
- movs r5, 0x80
- lsls r5, 2
- adds r4, r0, 0
-_08024C9C:
- ldrb r0, [r2]
- cmp r0, 0x22
- bne _08024CAC
- ldr r0, [r6]
- adds r0, r3, r0
- adds r0, 0x5C
- ldrb r1, [r2, 0x1]
- strb r1, [r0]
-_08024CAC:
- adds r2, r5
- adds r3, 0x1
- ldrb r0, [r4]
- cmp r3, r0
- blt _08024C9C
- b _08024E0E
- .align 2, 0
-_08024CB8: .4byte gBattlersCount
-_08024CBC: .4byte gBattleStruct
-_08024CC0: .4byte gBattleBufferB
-_08024CC4:
- ldr r0, _08024CDC @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08024CD2
- b _08024E0E
-_08024CD2:
- ldrb r0, [r7]
- bl sub_8013F6C
- b _08024E0E
- .align 2, 0
-_08024CDC: .4byte gBattleTypeFlags
-_08024CE0:
- ldr r1, _08024DAC @ =gBattleCommunication
- ldr r4, _08024DB0 @ =gBattleBufferB
- ldrb r0, [r7]
- lsls r0, 9
- adds r2, r4, 0x1
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- ldrb r0, [r7]
- ldr r6, _08024DB4 @ =gBattleStruct
- ldr r1, [r6]
- adds r1, r0, r1
- adds r1, 0x5C
- lsls r0, 9
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, _08024DB8 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08024DBC
- ldrb r0, [r7]
- ldr r2, [r6]
- lsls r1, r0, 1
- adds r1, r0
- adds r1, r2
- adds r1, 0x60
- ldrb r2, [r1]
- movs r0, 0xF
- ands r0, r2
- strb r0, [r1]
- ldrb r0, [r7]
- ldr r2, [r6]
- lsls r1, r0, 1
- adds r1, r0
- adds r1, r2
- adds r1, 0x60
- lsls r0, 9
- adds r5, r4, 0x2
- adds r0, r5
- ldrb r2, [r0]
- movs r3, 0xF0
- adds r0, r3, 0
- ands r0, r2
- ldrb r2, [r1]
- orrs r0, r2
- strb r0, [r1]
- ldrb r1, [r7]
- ldr r2, [r6]
- lsls r0, r1, 1
- adds r0, r1
- adds r0, r2
- adds r0, 0x61
- lsls r1, 9
- adds r4, 0x3
- mov r12, r4
- add r1, r12
- ldrb r1, [r1]
- strb r1, [r0]
- ldrb r0, [r7]
- movs r4, 0x2
- eors r0, r4
- ldr r2, [r6]
- lsls r1, r0, 1
- adds r1, r0
- adds r1, r2
- adds r1, 0x60
- ldrb r2, [r1]
- adds r0, r3, 0
- ands r0, r2
- strb r0, [r1]
- ldrb r0, [r7]
- eors r0, r4
- ldr r2, [r6]
- lsls r1, r0, 1
- adds r1, r0
- adds r1, r2
- adds r1, 0x60
- ldrb r0, [r7]
- lsls r0, 9
- adds r0, r5
- ldrb r0, [r0]
- ands r3, r0
- lsrs r3, 4
- ldrb r0, [r1]
- orrs r3, r0
- strb r3, [r1]
- ldrb r0, [r7]
- eors r4, r0
- ldr r0, [r6]
- lsls r1, r4, 1
- adds r1, r4
- adds r1, r0
- adds r1, 0x62
- ldrb r0, [r7]
- lsls r0, 9
- add r0, r12
- ldrb r0, [r0]
- strb r0, [r1]
- b _08024DC2
- .align 2, 0
-_08024DAC: .4byte gBattleCommunication
-_08024DB0: .4byte gBattleBufferB
-_08024DB4: .4byte gBattleStruct
-_08024DB8: .4byte gBattleTypeFlags
-_08024DBC:
- ldrb r0, [r7]
- bl sub_8013F6C
-_08024DC2:
- ldr r1, _08024E1C @ =gBattleTextBuff1
- movs r5, 0xFD
- strb r5, [r1]
- movs r0, 0x6
- strb r0, [r1, 0x1]
- ldr r4, _08024E20 @ =gBattleMons
- ldr r3, _08024E24 @ =gBattlerAttacker
- ldrb r0, [r3]
- movs r2, 0x58
- muls r0, r2
- adds r0, r4
- ldrh r0, [r0]
- strb r0, [r1, 0x2]
- ldrb r0, [r3]
- muls r0, r2
- adds r0, r4
- ldrh r0, [r0]
- lsrs r0, 8
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldr r2, _08024E28 @ =gBattleTextBuff2
- strb r5, [r2]
- movs r0, 0x7
- strb r0, [r2, 0x1]
- ldr r3, _08024E2C @ =gActiveBattler
- ldrb r0, [r3]
- strb r0, [r2, 0x2]
- ldr r1, _08024E30 @ =gBattleBufferB
- ldrb r0, [r3]
- lsls r0, 9
- adds r1, 0x1
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2, 0x3]
- movs r0, 0x1
- negs r0, r0
- strb r0, [r2, 0x4]
-_08024E0E:
- ldr r1, _08024E34 @ =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x3
- str r0, [r1]
-_08024E16:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08024E1C: .4byte gBattleTextBuff1
-_08024E20: .4byte gBattleMons
-_08024E24: .4byte gBattlerAttacker
-_08024E28: .4byte gBattleTextBuff2
-_08024E2C: .4byte gActiveBattler
-_08024E30: .4byte gBattleBufferB
-_08024E34: .4byte gBattlescriptCurrInstr
- thumb_func_end atk51_switchhandleorder
-
- thumb_func_start atk52_switchineffects
-atk52_switchineffects: @ 8024E38
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- ldr r6, _08024F40 @ =gBattlescriptCurrInstr
- ldr r0, [r6]
- ldrb r0, [r0, 0x1]
- bl GetBattlerForBattleScript
- ldr r4, _08024F44 @ =gActiveBattler
- strb r0, [r4]
- ldrb r0, [r4]
- bl sub_80174B8
- ldr r2, _08024F48 @ =gHitMarker
- ldr r1, _08024F4C @ =gBitTable
- ldrb r0, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- lsls r1, 28
- ldr r0, [r2]
- bics r0, r1
- str r0, [r2]
- ldr r2, _08024F50 @ =gSpecialStatuses
- ldrb r0, [r4]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1]
- movs r0, 0x41
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldrb r0, [r4]
- bl GetBattlerSide
- ldr r5, _08024F54 @ =gSideStatuses
- lsls r0, 24
- lsrs r0, 23
- adds r0, r5
- ldrh r1, [r0]
- movs r0, 0x80
- lsls r0, 2
- mov r8, r0
- ands r0, r1
- cmp r0, 0
- bne _08024F88
- ldrb r0, [r4]
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 23
- adds r0, r5
- ldrh r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08024F88
- ldr r1, _08024F58 @ =gBattleMons
- mov r9, r1
- ldrb r2, [r4]
- movs r7, 0x58
- adds r0, r2, 0
- muls r0, r7
- adds r1, r0, r1
- adds r0, r1, 0
- adds r0, 0x21
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08024F88
- adds r0, r1, 0
- adds r0, 0x22
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08024F88
- adds r0, r1, 0
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x1A
- beq _08024F88
- adds r0, r2, 0
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 23
- adds r0, r5
- ldrh r2, [r0]
- mov r1, r8
- orrs r1, r2
- strh r1, [r0]
- ldrb r0, [r4]
- bl GetBattlerSide
- ldr r2, _08024F5C @ =gSideTimers
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0xA]
- movs r1, 0x5
- subs r1, r0
- lsls r1, 25
- lsrs r1, 24
- ldr r5, _08024F60 @ =gBattleMoveDamage
- ldrb r0, [r4]
- muls r0, r7
- add r0, r9
- ldrh r0, [r0, 0x2C]
- bl __divsi3
- str r0, [r5]
- cmp r0, 0
- bne _08024F28
- movs r0, 0x1
- str r0, [r5]
-_08024F28:
- ldr r0, _08024F64 @ =gBattleScripting
- ldrb r1, [r4]
- strb r1, [r0, 0x17]
- bl BattleScriptPushCursor
- ldr r0, [r6]
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- bne _08024F6C
- ldr r0, _08024F68 @ =BattleScript_SpikesOnTarget
- str r0, [r6]
- b _080250C6
- .align 2, 0
-_08024F40: .4byte gBattlescriptCurrInstr
-_08024F44: .4byte gActiveBattler
-_08024F48: .4byte gHitMarker
-_08024F4C: .4byte gBitTable
-_08024F50: .4byte gSpecialStatuses
-_08024F54: .4byte gSideStatuses
-_08024F58: .4byte gBattleMons
-_08024F5C: .4byte gSideTimers
-_08024F60: .4byte gBattleMoveDamage
-_08024F64: .4byte gBattleScripting
-_08024F68: .4byte BattleScript_SpikesOnTarget
-_08024F6C:
- cmp r0, 0x1
- bne _08024F7C
- ldr r0, _08024F78 @ =BattleScript_SpikesOnAttacker
- str r0, [r6]
- b _080250C6
- .align 2, 0
-_08024F78: .4byte BattleScript_SpikesOnAttacker
-_08024F7C:
- ldr r0, _08024F84 @ =BattleScript_SpikesOnFaintedBattler
- str r0, [r6]
- b _080250C6
- .align 2, 0
-_08024F84: .4byte BattleScript_SpikesOnFaintedBattler
-_08024F88:
- ldr r1, _08025064 @ =gBattleMons
- ldr r5, _08025068 @ =gActiveBattler
- ldrb r2, [r5]
- movs r0, 0x58
- muls r0, r2
- adds r0, r1
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0x36
- bne _08024FAE
- ldr r1, _0802506C @ =gDisableStructs
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x18]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0, 0x18]
-_08024FAE:
- ldrb r1, [r5]
- movs r0, 0
- str r0, [sp]
- movs r2, 0
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- beq _08024FC4
- b _080250C6
-_08024FC4:
- ldrb r1, [r5]
- movs r0, 0
- movs r2, 0
- bl ItemBattleEffects
- lsls r0, 24
- cmp r0, 0
- bne _080250C6
- ldrb r0, [r5]
- bl GetBattlerSide
- ldr r1, _08025070 @ =gSideStatuses
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r2, [r0]
- ldr r1, _08025074 @ =0x0000fdff
- ands r1, r2
- strh r1, [r0]
- movs r4, 0
- ldr r0, _08025078 @ =gBattlersCount
- ldrb r3, [r0]
- cmp r4, r3
- bge _08025012
- ldr r6, _0802507C @ =gBattlerByTurnOrder
- ldr r3, _08025080 @ =gActionsByTurnOrder
- movs r2, 0xC
- adds r1, r0, 0
-_08024FFC:
- adds r0, r4, r6
- ldrb r0, [r0]
- ldrb r7, [r5]
- cmp r0, r7
- bne _0802500A
- adds r0, r4, r3
- strb r2, [r0]
-_0802500A:
- adds r4, 0x1
- ldrb r0, [r1]
- cmp r4, r0
- blt _08024FFC
-_08025012:
- movs r4, 0
- ldr r0, _08025078 @ =gBattlersCount
- ldrb r0, [r0]
- cmp r4, r0
- bge _08025046
- ldr r6, _08025084 @ =gBattleStruct
- ldr r5, _08025064 @ =gBattleMons
-_08025020:
- lsls r0, r4, 24
- lsrs r0, 24
- bl GetBattlerSide
- lsls r0, 24
- lsrs r0, 23
- adds r0, 0xA8
- ldr r1, [r6]
- adds r1, r0
- movs r0, 0x58
- muls r0, r4
- adds r0, r5
- ldrh r0, [r0, 0x28]
- strh r0, [r1]
- adds r4, 0x1
- ldr r0, _08025078 @ =gBattlersCount
- ldrb r0, [r0]
- cmp r4, r0
- blt _08025020
-_08025046:
- ldr r0, _08025088 @ =gBattlescriptCurrInstr
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r5, r0, 0
- cmp r1, 0x5
- bne _080250C0
- ldr r0, _0802508C @ =gHitMarker
- ldr r0, [r0]
- lsrs r4, r0, 28
- ldr r1, _08025090 @ =gBattlerFainted
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r2, _08025094 @ =gBitTable
- b _080250A6
- .align 2, 0
-_08025064: .4byte gBattleMons
-_08025068: .4byte gActiveBattler
-_0802506C: .4byte gDisableStructs
-_08025070: .4byte gSideStatuses
-_08025074: .4byte 0x0000fdff
-_08025078: .4byte gBattlersCount
-_0802507C: .4byte gBattlerByTurnOrder
-_08025080: .4byte gActionsByTurnOrder
-_08025084: .4byte gBattleStruct
-_08025088: .4byte gBattlescriptCurrInstr
-_0802508C: .4byte gHitMarker
-_08025090: .4byte gBattlerFainted
-_08025094: .4byte gBitTable
-_08025098:
- ldr r0, _080250D4 @ =gBattlersCount
- ldrb r3, [r1]
- ldrb r0, [r0]
- cmp r3, r0
- bcs _080250C0
- adds r0, r3, 0x1
- strb r0, [r1]
-_080250A6:
- ldrb r0, [r1]
- lsls r0, 2
- adds r0, r2
- ldr r3, [r0]
- adds r0, r4, 0
- ands r0, r3
- cmp r0, 0
- beq _08025098
- ldr r0, _080250D8 @ =gAbsentBattlerFlags
- ldrb r0, [r0]
- ands r0, r3
- cmp r0, 0
- bne _08025098
-_080250C0:
- ldr r0, [r5]
- adds r0, 0x2
- str r0, [r5]
-_080250C6:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080250D4: .4byte gBattlersCount
-_080250D8: .4byte gAbsentBattlerFlags
- thumb_func_end atk52_switchineffects
-
- thumb_func_start atk53_trainerslidein
-atk53_trainerslidein: @ 80250DC
- push {lr}
- ldr r0, _080250EC @ =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- bne _080250F0
- movs r0, 0
- b _080250F2
- .align 2, 0
-_080250EC: .4byte gBattlescriptCurrInstr
-_080250F0:
- movs r0, 0x1
-_080250F2:
- bl GetBattlerAtPosition
- ldr r1, _08025114 @ =gActiveBattler
- strb r0, [r1]
- movs r0, 0
- bl BtlController_EmitTrainerSlide
- ldr r0, _08025114 @ =gActiveBattler
- ldrb r0, [r0]
- bl MarkBattlerForControllerExec
- ldr r1, _08025118 @ =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08025114: .4byte gActiveBattler
-_08025118: .4byte gBattlescriptCurrInstr
- thumb_func_end atk53_trainerslidein
-
- thumb_func_start atk54_playse
-atk54_playse: @ 802511C
- push {r4,r5,lr}
- ldr r5, _0802514C @ =gActiveBattler
- ldr r0, _08025150 @ =gBattlerAttacker
- ldrb r0, [r0]
- strb r0, [r5]
- ldr r4, _08025154 @ =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0, 0x2]
- lsls r0, 8
- orrs r1, r0
- movs r0, 0
- bl BtlController_EmitPlaySE
- ldrb r0, [r5]
- bl MarkBattlerForControllerExec
- ldr r0, [r4]
- adds r0, 0x3
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0802514C: .4byte gActiveBattler
-_08025150: .4byte gBattlerAttacker
-_08025154: .4byte gBattlescriptCurrInstr
- thumb_func_end atk54_playse
-
- thumb_func_start atk55_fanfare
-atk55_fanfare: @ 8025158
- push {r4,r5,lr}
- ldr r5, _08025188 @ =gActiveBattler
- ldr r0, _0802518C @ =gBattlerAttacker
- ldrb r0, [r0]
- strb r0, [r5]
- ldr r4, _08025190 @ =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0, 0x2]
- lsls r0, 8
- orrs r1, r0
- movs r0, 0
- bl BtlController_EmitPlayFanfare
- ldrb r0, [r5]
- bl MarkBattlerForControllerExec
- ldr r0, [r4]
- adds r0, 0x3
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08025188: .4byte gActiveBattler
-_0802518C: .4byte gBattlerAttacker
-_08025190: .4byte gBattlescriptCurrInstr
- thumb_func_end atk55_fanfare
-
- thumb_func_start atk56_playfaintcry
-atk56_playfaintcry: @ 8025194
- push {r4,r5,lr}
- ldr r5, _080251BC @ =gBattlescriptCurrInstr
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- bl GetBattlerForBattleScript
- ldr r4, _080251C0 @ =gActiveBattler
- strb r0, [r4]
- movs r0, 0
- bl BtlController_EmitFaintingCry
- ldrb r0, [r4]
- bl MarkBattlerForControllerExec
- ldr r0, [r5]
- adds r0, 0x2
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080251BC: .4byte gBattlescriptCurrInstr
-_080251C0: .4byte gActiveBattler
- thumb_func_end atk56_playfaintcry
-
- thumb_func_start atk57
-atk57: @ 80251C4
- push {r4,lr}
- movs r0, 0
- bl GetBattlerAtPosition
- ldr r4, _080251F0 @ =gActiveBattler
- strb r0, [r4]
- ldr r0, _080251F4 @ =gBattleOutcome
- ldrb r1, [r0]
- movs r0, 0
- bl BtlController_EmitCmd55
- ldrb r0, [r4]
- bl MarkBattlerForControllerExec
- ldr r1, _080251F8 @ =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080251F0: .4byte gActiveBattler
-_080251F4: .4byte gBattleOutcome
-_080251F8: .4byte gBattlescriptCurrInstr
- thumb_func_end atk57
-
- thumb_func_start atk58_returntoball
-atk58_returntoball: @ 80251FC
- push {r4,r5,lr}
- ldr r5, _08025228 @ =gBattlescriptCurrInstr
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- bl GetBattlerForBattleScript
- ldr r4, _0802522C @ =gActiveBattler
- strb r0, [r4]
- movs r0, 0
- movs r1, 0x1
- bl BtlController_EmitReturnMonToBall
- ldrb r0, [r4]
- bl MarkBattlerForControllerExec
- ldr r0, [r5]
- adds r0, 0x2
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08025228: .4byte gBattlescriptCurrInstr
-_0802522C: .4byte gActiveBattler
- thumb_func_end atk58_returntoball
-
- thumb_func_start atk59_handlelearnnewmove
-atk59_handlelearnnewmove: @ 8025230
- push {r4-r7,lr}
- ldr r0, _080252A4 @ =gBattlescriptCurrInstr
- ldr r2, [r0]
- ldrb r6, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r6, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r6, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r6, r0
- ldrb r4, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- orrs r4, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- orrs r4, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- orrs r4, r0
- ldr r0, _080252A8 @ =gBattleStruct
- ldr r0, [r0]
- ldrb r1, [r0, 0x10]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080252AC @ =gPlayerParty
- adds r0, r1
- ldrb r1, [r2, 0x9]
- bl MonTryLearningNewMove
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, _080252B0 @ =0x0000fffe
- cmp r5, r0
- bne _0802529A
- adds r7, r5, 0
-_0802527E:
- ldr r0, _080252A8 @ =gBattleStruct
- ldr r0, [r0]
- ldrb r1, [r0, 0x10]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080252AC @ =gPlayerParty
- adds r0, r1
- movs r1, 0
- bl MonTryLearningNewMove
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r7
- beq _0802527E
-_0802529A:
- cmp r5, 0
- bne _080252B4
- ldr r0, _080252A4 @ =gBattlescriptCurrInstr
- str r4, [r0]
- b _0802535C
- .align 2, 0
-_080252A4: .4byte gBattlescriptCurrInstr
-_080252A8: .4byte gBattleStruct
-_080252AC: .4byte gPlayerParty
-_080252B0: .4byte 0x0000fffe
-_080252B4:
- ldr r0, _080252C4 @ =0x0000ffff
- cmp r5, r0
- bne _080252CC
- ldr r1, _080252C8 @ =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0xA
- str r0, [r1]
- b _0802535C
- .align 2, 0
-_080252C4: .4byte 0x0000ffff
-_080252C8: .4byte gBattlescriptCurrInstr
-_080252CC:
- movs r0, 0
- bl GetBattlerAtPosition
- ldr r1, _08025364 @ =gActiveBattler
- strb r0, [r1]
- ldr r2, _08025368 @ =gBattlerPartyIndexes
- ldrb r3, [r1]
- lsls r0, r3, 1
- adds r0, r2
- ldr r1, _0802536C @ =gBattleStruct
- ldr r1, [r1]
- ldrh r0, [r0]
- ldrb r1, [r1, 0x10]
- cmp r0, r1
- bne _0802530C
- ldr r4, _08025370 @ =gBattleMons
- movs r0, 0x58
- adds r2, r3, 0
- muls r2, r0
- adds r0, r4, 0
- adds r0, 0x50
- adds r0, r2, r0
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 14
- ands r0, r1
- cmp r0, 0
- bne _0802530C
- adds r0, r2, r4
- adds r1, r5, 0
- bl GiveMoveToBattleMon
-_0802530C:
- ldr r0, _08025374 @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08025358
- movs r0, 0x2
- bl GetBattlerAtPosition
- ldr r1, _08025364 @ =gActiveBattler
- strb r0, [r1]
- ldr r2, _08025368 @ =gBattlerPartyIndexes
- ldrb r3, [r1]
- lsls r0, r3, 1
- adds r0, r2
- ldr r1, _0802536C @ =gBattleStruct
- ldr r1, [r1]
- ldrh r0, [r0]
- ldrb r1, [r1, 0x10]
- cmp r0, r1
- bne _08025358
- ldr r4, _08025370 @ =gBattleMons
- movs r0, 0x58
- adds r2, r3, 0
- muls r2, r0
- adds r0, r4, 0
- adds r0, 0x50
- adds r0, r2, r0
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 14
- ands r0, r1
- cmp r0, 0
- bne _08025358
- adds r0, r2, r4
- adds r1, r5, 0
- bl GiveMoveToBattleMon
-_08025358:
- ldr r0, _08025378 @ =gBattlescriptCurrInstr
- str r6, [r0]
-_0802535C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08025364: .4byte gActiveBattler
-_08025368: .4byte gBattlerPartyIndexes
-_0802536C: .4byte gBattleStruct
-_08025370: .4byte gBattleMons
-_08025374: .4byte gBattleTypeFlags
-_08025378: .4byte gBattlescriptCurrInstr
- thumb_func_end atk59_handlelearnnewmove
-
- thumb_func_start atk5A_yesnoboxlearnmove
-atk5A_yesnoboxlearnmove: @ 802537C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r0, _080253A0 @ =gActiveBattler
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080253A4 @ =gBattleScripting
- ldrb r1, [r0, 0x1F]
- adds r2, r0, 0
- cmp r1, 0x5
- bls _08025396
- b _080256D0
-_08025396:
- lsls r0, r1, 2
- ldr r1, _080253A8 @ =_080253AC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080253A0: .4byte gActiveBattler
-_080253A4: .4byte gBattleScripting
-_080253A8: .4byte _080253AC
- .align 2, 0
-_080253AC:
- .4byte _080253C4
- .4byte _080253FC
- .4byte _080254A8
- .4byte _08025500
- .4byte _080256A4
- .4byte _080256C4
-_080253C4:
- movs r4, 0
- str r4, [sp]
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl HandleBattleWindow
- ldr r0, _080253F0 @ =gText_BattleYesNoChoice
- movs r1, 0xE
- bl BattlePutTextOnWindow
- ldr r1, _080253F4 @ =gBattleScripting
- ldrb r0, [r1, 0x1F]
- adds r0, 0x1
- strb r0, [r1, 0x1F]
- ldr r0, _080253F8 @ =gBattleCommunication
- strb r4, [r0, 0x1]
- bl BattleCreateYesNoCursorAt
- b _080256D0
- .align 2, 0
-_080253F0: .4byte gText_BattleYesNoChoice
-_080253F4: .4byte gBattleScripting
-_080253F8: .4byte gBattleCommunication
-_080253FC:
- ldr r0, _08025484 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08025422
- ldr r4, _08025488 @ =gBattleCommunication
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _08025422
- movs r0, 0x5
- bl PlaySE
- bl BattleDestroyYesNoCursorAt
- movs r0, 0
- strb r0, [r4, 0x1]
- bl BattleCreateYesNoCursorAt
-_08025422:
- ldr r0, _08025484 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08025448
- ldr r4, _08025488 @ =gBattleCommunication
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- bne _08025448
- movs r0, 0x5
- bl PlaySE
- bl BattleDestroyYesNoCursorAt
- movs r0, 0x1
- strb r0, [r4, 0x1]
- bl BattleCreateYesNoCursorAt
-_08025448:
- ldr r0, _08025484 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r5, 0x1
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _0802548C
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08025488 @ =gBattleCommunication
- ldrb r4, [r0, 0x1]
- cmp r4, 0
- bne _0802549C
- str r5, [sp]
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl HandleBattleWindow
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _080254D8
- .align 2, 0
-_08025484: .4byte gMain
-_08025488: .4byte gBattleCommunication
-_0802548C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _08025496
- b _080256D0
-_08025496:
- movs r0, 0x5
- bl PlaySE
-_0802549C:
- ldr r1, _080254A4 @ =gBattleScripting
- movs r0, 0x4
- strb r0, [r1, 0x1F]
- b _080256D0
- .align 2, 0
-_080254A4: .4byte gBattleScripting
-_080254A8:
- ldr r0, _080254E4 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080254B6
- b _080256D0
-_080254B6:
- bl FreeAllWindowBuffers
- ldr r0, _080254E8 @ =gPlayerParty
- ldr r1, _080254EC @ =gBattleStruct
- ldr r1, [r1]
- ldrb r1, [r1, 0x10]
- ldr r2, _080254F0 @ =gPlayerPartyCount
- ldrb r2, [r2]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _080254F4 @ =ReshowBattleScreenAfterMenu
- ldr r4, _080254F8 @ =gMoveToLearn
- ldrh r4, [r4]
- str r4, [sp]
- bl sub_8134738
-_080254D8:
- ldr r1, _080254FC @ =gBattleScripting
- ldrb r0, [r1, 0x1F]
- adds r0, 0x1
- strb r0, [r1, 0x1F]
- b _080256D0
- .align 2, 0
-_080254E4: .4byte gPaletteFade
-_080254E8: .4byte gPlayerParty
-_080254EC: .4byte gBattleStruct
-_080254F0: .4byte gPlayerPartyCount
-_080254F4: .4byte ReshowBattleScreenAfterMenu
-_080254F8: .4byte gMoveToLearn
-_080254FC: .4byte gBattleScripting
-_08025500:
- ldr r0, _0802552C @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0802550E
- b _080256D0
-_0802550E:
- ldr r0, _08025530 @ =gMain
- ldr r1, [r0, 0x4]
- ldr r0, _08025534 @ =BattleMainCB2
- cmp r1, r0
- beq _0802551A
- b _080256D0
-_0802551A:
- bl sub_8138B2C
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bne _0802553C
- ldr r0, _08025538 @ =gBattleScripting
- strb r5, [r0, 0x1F]
- b _080256D0
- .align 2, 0
-_0802552C: .4byte gPaletteFade
-_08025530: .4byte gMain
-_08025534: .4byte BattleMainCB2
-_08025538: .4byte gBattleScripting
-_0802553C:
- ldr r6, _08025578 @ =gBattleStruct
- ldr r0, [r6]
- ldrb r0, [r0, 0x10]
- movs r1, 0x64
- mov r8, r1
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- ldr r7, _0802557C @ =gPlayerParty
- adds r0, r7
- adds r1, r5, 0
- adds r1, 0xD
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl IsHMMove2
- cmp r0, 0
- beq _0802558C
- ldr r0, _08025580 @ =0x0000013f
- ldr r1, _08025584 @ =gActiveBattler
- ldrb r1, [r1]
- bl PrepareStringBattle
- ldr r1, _08025588 @ =gBattleScripting
- movs r0, 0x5
- strb r0, [r1, 0x1F]
- b _080256D0
- .align 2, 0
-_08025578: .4byte gBattleStruct
-_0802557C: .4byte gPlayerParty
-_08025580: .4byte 0x0000013f
-_08025584: .4byte gActiveBattler
-_08025588: .4byte gBattleScripting
-_0802558C:
- ldr r3, _08025680 @ =gBattlescriptCurrInstr
- ldr r2, [r3]
- 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, [r3]
- ldr r1, _08025684 @ =gBattleTextBuff2
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x2
- strb r0, [r1, 0x1]
- strb r4, [r1, 0x2]
- lsrs r0, r4, 8
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldr r0, [r6]
- ldrb r0, [r0, 0x10]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r7
- adds r1, r5, 0
- bl RemoveMonPPBonus
- ldr r0, [r6]
- ldrb r0, [r0, 0x10]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r7
- ldr r7, _08025688 @ =gMoveToLearn
- ldrh r1, [r7]
- adds r2, r5, 0
- bl SetMonMoveSlot
- ldr r0, _0802568C @ =gBattlerPartyIndexes
- ldr r1, [r6]
- ldrh r0, [r0]
- ldrb r1, [r1, 0x10]
- cmp r0, r1
- bne _08025622
- ldr r4, _08025690 @ =gBattleMons
- ldr r0, [r4, 0x50]
- movs r1, 0x80
- lsls r1, 14
- ands r0, r1
- cmp r0, 0
- bne _08025622
- ldr r0, _08025694 @ =gDisableStructs
- ldrb r1, [r0, 0x18]
- lsrs r1, 4
- ldr r2, _08025698 @ =gBitTable
- lsls r0, r5, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _08025622
- adds r0, r4, 0
- adds r1, r5, 0
- bl RemoveBattleMonPPBonus
- ldrh r1, [r7]
- adds r0, r4, 0
- adds r2, r5, 0
- bl SetBattleMonMoveSlot
-_08025622:
- ldr r0, _0802569C @ =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080256D0
- ldr r2, _0802568C @ =gBattlerPartyIndexes
- ldr r0, _080256A0 @ =gBattleStruct
- ldr r1, [r0]
- ldrh r0, [r2, 0x4]
- ldrb r1, [r1, 0x10]
- cmp r0, r1
- bne _080256D0
- ldr r4, _08025690 @ =gBattleMons
- movs r1, 0x80
- lsls r1, 1
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 14
- ands r0, r1
- cmp r0, 0
- bne _080256D0
- ldr r0, _08025694 @ =gDisableStructs
- adds r0, 0x50
- ldrb r1, [r0]
- lsrs r1, 4
- ldr r2, _08025698 @ =gBitTable
- lsls r0, r5, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- bne _080256D0
- adds r4, 0xB0
- adds r0, r4, 0
- adds r1, r5, 0
- bl RemoveBattleMonPPBonus
- ldr r0, _08025688 @ =gMoveToLearn
- ldrh r1, [r0]
- adds r0, r4, 0
- adds r2, r5, 0
- bl SetBattleMonMoveSlot
- b _080256D0
- .align 2, 0
-_08025680: .4byte gBattlescriptCurrInstr
-_08025684: .4byte gBattleTextBuff2
-_08025688: .4byte gMoveToLearn
-_0802568C: .4byte gBattlerPartyIndexes
-_08025690: .4byte gBattleMons
-_08025694: .4byte gDisableStructs
-_08025698: .4byte gBitTable
-_0802569C: .4byte gBattleTypeFlags
-_080256A0: .4byte gBattleStruct
-_080256A4:
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl HandleBattleWindow
- ldr r1, _080256C0 @ =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _080256D0
- .align 2, 0
-_080256C0: .4byte gBattlescriptCurrInstr
-_080256C4:
- ldr r0, _080256DC @ =gBattleControllerExecFlags
- ldr r0, [r0]
- cmp r0, 0
- bne _080256D0
- movs r0, 0x2
- strb r0, [r2, 0x1F]
-_080256D0:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080256DC: .4byte gBattleControllerExecFlags
- thumb_func_end atk5A_yesnoboxlearnmove
-
- thumb_func_start atk5B_yesnoboxstoplearningmove
-atk5B_yesnoboxstoplearningmove: @ 80256E0
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _080256F4 @ =gBattleScripting
- ldrb r4, [r5, 0x1F]
- cmp r4, 0
- beq _080256F8
- cmp r4, 0x1
- beq _08025728
- b _0802580E
- .align 2, 0
-_080256F4: .4byte gBattleScripting
-_080256F8:
- str r4, [sp]
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl HandleBattleWindow
- ldr r0, _08025720 @ =gText_BattleYesNoChoice
- movs r1, 0xE
- bl BattlePutTextOnWindow
- ldrb r0, [r5, 0x1F]
- adds r0, 0x1
- strb r0, [r5, 0x1F]
- ldr r0, _08025724 @ =gBattleCommunication
- strb r4, [r0, 0x1]
- bl BattleCreateYesNoCursorAt
- b _0802580E
- .align 2, 0
-_08025720: .4byte gText_BattleYesNoChoice
-_08025724: .4byte gBattleCommunication
-_08025728:
- ldr r0, _080257AC @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0802574E
- ldr r4, _080257B0 @ =gBattleCommunication
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _0802574E
- movs r0, 0x5
- bl PlaySE
- bl BattleDestroyYesNoCursorAt
- movs r0, 0
- strb r0, [r4, 0x1]
- bl BattleCreateYesNoCursorAt
-_0802574E:
- ldr r0, _080257AC @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08025774
- ldr r4, _080257B0 @ =gBattleCommunication
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- bne _08025774
- movs r0, 0x5
- bl PlaySE
- bl BattleDestroyYesNoCursorAt
- movs r0, 0x1
- strb r0, [r4, 0x1]
- bl BattleCreateYesNoCursorAt
-_08025774:
- ldr r0, _080257AC @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _080257D8
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080257B0 @ =gBattleCommunication
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _080257B8
- ldr r3, _080257B4 @ =gBattlescriptCurrInstr
- ldr r2, [r3]
- 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, [r3]
- b _080257C0
- .align 2, 0
-_080257AC: .4byte gMain
-_080257B0: .4byte gBattleCommunication
-_080257B4: .4byte gBattlescriptCurrInstr
-_080257B8:
- ldr r1, _080257D4 @ =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_080257C0:
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl HandleBattleWindow
- b _0802580E
- .align 2, 0
-_080257D4: .4byte gBattlescriptCurrInstr
-_080257D8:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0802580E
- movs r0, 0x5
- bl PlaySE
- ldr r3, _08025818 @ =gBattlescriptCurrInstr
- ldr r2, [r3]
- 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, [r3]
- str r4, [sp]
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl HandleBattleWindow
-_0802580E:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08025818: .4byte gBattlescriptCurrInstr
- thumb_func_end atk5B_yesnoboxstoplearningmove
-
- thumb_func_start atk5C_hitanimation
-atk5C_hitanimation: @ 802581C
- push {r4,lr}
- ldr r4, _08025888 @ =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl GetBattlerForBattleScript
- ldr r2, _0802588C @ =gActiveBattler
- strb r0, [r2]
- ldr r0, _08025890 @ =gMoveResultFlags
- ldrb r1, [r0]
- movs r0, 0x29
- ands r0, r1
- cmp r0, 0
- bne _080258A0
- ldr r0, _08025894 @ =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 1
- ands r0, r1
- cmp r0, 0
- beq _0802586E
- ldr r1, _08025898 @ =gBattleMons
- ldrb r2, [r2]
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 17
- ands r0, r1
- cmp r0, 0
- beq _0802586E
- ldr r0, _0802589C @ =gDisableStructs
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0xA]
- cmp r0, 0
- bne _080258A0
-_0802586E:
- movs r0, 0
- bl BtlController_EmitHitAnimation
- ldr r0, _0802588C @ =gActiveBattler
- ldrb r0, [r0]
- bl MarkBattlerForControllerExec
- ldr r1, _08025888 @ =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
- b _080258A6
- .align 2, 0
-_08025888: .4byte gBattlescriptCurrInstr
-_0802588C: .4byte gActiveBattler
-_08025890: .4byte gMoveResultFlags
-_08025894: .4byte gHitMarker
-_08025898: .4byte gBattleMons
-_0802589C: .4byte gDisableStructs
-_080258A0:
- ldr r0, [r4]
- adds r0, 0x2
- str r0, [r4]
-_080258A6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end atk5C_hitanimation
-
- thumb_func_start atk5D_getmoneyreward
-atk5D_getmoneyreward: @ 80258AC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r6, 0
- movs r5, 0
- ldr r0, _080258F0 @ =gBattleOutcome
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080258C0
- b _080259FA
-_080258C0:
- ldr r0, _080258F4 @ =gTrainerBattleOpponent_A
- ldrh r2, [r0]
- movs r1, 0x80
- lsls r1, 3
- cmp r2, r1
- bne _08025904
- ldr r0, _080258F8 @ =gBattleResources
- ldr r0, [r0]
- ldr r0, [r0]
- adds r0, 0x94
- ldrb r2, [r0]
- ldr r0, _080258FC @ =gBattleStruct
- ldr r0, [r0]
- adds r0, 0x4A
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r4, r2, 0
- muls r4, r0
- ldr r0, _08025900 @ =gSaveBlock1Ptr
- mov r8, r0
- b _080259E8
- .align 2, 0
-_080258F0: .4byte gBattleOutcome
-_080258F4: .4byte gTrainerBattleOpponent_A
-_080258F8: .4byte gBattleResources
-_080258FC: .4byte gBattleStruct
-_08025900: .4byte gSaveBlock1Ptr
-_08025904:
- ldr r2, _08025920 @ =gTrainers
- ldrh r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r3, r0, 3
- adds r4, r3, r2
- ldrb r1, [r4]
- cmp r1, 0x1
- beq _0802595A
- cmp r1, 0x1
- bgt _08025924
- cmp r1, 0
- beq _0802592E
- b _08025970
- .align 2, 0
-_08025920: .4byte gTrainers
-_08025924:
- cmp r1, 0x2
- beq _08025944
- cmp r1, 0x3
- beq _0802595A
- b _08025970
-_0802592E:
- adds r0, r2, 0
- adds r0, 0x24
- adds r0, r3, r0
- ldr r1, [r0]
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r1
- subs r0, 0x8
- b _0802596E
-_08025944:
- adds r0, r2, 0
- adds r0, 0x24
- adds r0, r3, r0
- ldr r1, [r0]
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r1
- subs r0, 0x8
- b _0802596E
-_0802595A:
- adds r0, r2, 0
- adds r0, 0x24
- adds r0, r3, r0
- ldr r1, [r0]
- adds r0, r4, 0
- adds r0, 0x20
- ldrb r0, [r0]
- lsls r0, 4
- adds r0, r1
- subs r0, 0x10
-_0802596E:
- ldrb r5, [r0, 0x2]
-_08025970:
- ldr r0, _080259CC @ =gTrainerMoneyTable
- lsls r1, r6, 2
- adds r3, r1, r0
- ldrb r1, [r3]
- ldr r7, _080259D0 @ =gBattleStruct
- mov r12, r0
- lsls r4, r5, 2
- ldr r5, _080259D4 @ =gBattleTypeFlags
- ldr r0, _080259D8 @ =gSaveBlock1Ptr
- mov r8, r0
- cmp r1, 0xFF
- beq _080259AA
- ldr r2, _080259DC @ =gTrainers
- ldr r0, _080259E0 @ =gTrainerBattleOpponent_A
- ldrh r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r2, [r0, 0x1]
- adds r1, r3, 0
-_0802599A:
- ldrb r0, [r1]
- cmp r0, r2
- beq _080259AA
- adds r1, 0x4
- adds r6, 0x1
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _0802599A
-_080259AA:
- ldr r0, [r7]
- adds r0, 0x4A
- ldrb r0, [r0]
- adds r3, r4, 0
- muls r3, r0
- lsls r0, r6, 2
- add r0, r12
- ldrb r2, [r0, 0x1]
- ldr r0, [r5]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080259E4
- lsls r0, r2, 1
- adds r4, r3, 0
- muls r4, r0
- b _080259E8
- .align 2, 0
-_080259CC: .4byte gTrainerMoneyTable
-_080259D0: .4byte gBattleStruct
-_080259D4: .4byte gBattleTypeFlags
-_080259D8: .4byte gSaveBlock1Ptr
-_080259DC: .4byte gTrainers
-_080259E0: .4byte gTrainerBattleOpponent_A
-_080259E4:
- adds r4, r3, 0
- muls r4, r2
-_080259E8:
- mov r1, r8
- ldr r0, [r1]
- movs r1, 0xA4
- lsls r1, 2
- adds r0, r1
- adds r1, r4, 0
- bl AddMoney
- b _08025A00
-_080259FA:
- bl sub_8054C04
- adds r4, r0, 0
-_08025A00:
- ldr r1, _08025A40 @ =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- movs r0, 0x4
- strb r0, [r1, 0x2]
- movs r0, 0x5
- strb r0, [r1, 0x3]
- strb r4, [r1, 0x4]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r4
- lsrs r0, 8
- strb r0, [r1, 0x5]
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r4
- lsrs r0, 16
- strb r0, [r1, 0x6]
- lsrs r0, r4, 24
- strb r0, [r1, 0x7]
- movs r0, 0xFF
- strb r0, [r1, 0x8]
- cmp r4, 0
- beq _08025A48
- ldr r1, _08025A44 @ =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
- b _08025A62
- .align 2, 0
-_08025A40: .4byte gBattleTextBuff1
-_08025A44: .4byte gBattlescriptCurrInstr
-_08025A48:
- ldr r3, _08025A6C @ =gBattlescriptCurrInstr
- ldr r2, [r3]
- 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, [r3]
-_08025A62:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08025A6C: .4byte gBattlescriptCurrInstr
- thumb_func_end atk5D_getmoneyreward
-
- thumb_func_start atk5E
-atk5E: @ 8025A70
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r4, _08025A94 @ =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl GetBattlerForBattleScript
- ldr r6, _08025A98 @ =gActiveBattler
- strb r0, [r6]
- ldr r5, _08025A9C @ =gBattleCommunication
- ldrb r0, [r5]
- mov r8, r4
- cmp r0, 0
- beq _08025AA0
- cmp r0, 0x1
- beq _08025AB8
- b _08025B0C
- .align 2, 0
-_08025A94: .4byte gBattlescriptCurrInstr
-_08025A98: .4byte gActiveBattler
-_08025A9C: .4byte gBattleCommunication
-_08025AA0:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl BtlController_EmitGetMonData
- ldrb r0, [r6]
- bl MarkBattlerForControllerExec
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _08025B0C
-_08025AB8:
- ldr r0, _08025B18 @ =gBattleControllerExecFlags
- ldr r0, [r0]
- cmp r0, 0
- bne _08025B0C
- ldrb r0, [r6]
- lsls r0, 9
- ldr r1, _08025B1C @ =gUnknown_20233C8
- adds r0, r1
- mov r12, r0
- movs r2, 0
- adds r4, r6, 0
- movs r5, 0x58
- ldr r6, _08025B20 @ =gUnknown_2023C08
- adds r7, r6, 0
- subs r7, 0x18
- mov r3, r12
- adds r3, 0xC
-_08025ADA:
- lsls r1, r2, 1
- ldrb r0, [r4]
- muls r0, r5
- adds r1, r0
- adds r1, r7
- ldrh r0, [r3]
- strh r0, [r1]
- ldrb r0, [r4]
- adds r1, r0, 0
- muls r1, r5
- adds r1, r2, r1
- adds r1, r6
- mov r0, r12
- adds r0, 0x24
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r3, 0x2
- adds r2, 0x1
- cmp r2, 0x3
- ble _08025ADA
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
-_08025B0C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08025B18: .4byte gBattleControllerExecFlags
-_08025B1C: .4byte gUnknown_20233C8
-_08025B20: .4byte gUnknown_2023C08
- thumb_func_end atk5E
-
- thumb_func_start atk5F_swapattackerwithtarget
-atk5F_swapattackerwithtarget: @ 8025B24
- push {lr}
- ldr r0, _08025B4C @ =gActiveBattler
- ldr r2, _08025B50 @ =gBattlerAttacker
- ldrb r3, [r2]
- strb r3, [r0]
- ldr r1, _08025B54 @ =gBattlerTarget
- ldrb r0, [r1]
- strb r0, [r2]
- strb r3, [r1]
- ldr r2, _08025B58 @ =gHitMarker
- ldr r1, [r2]
- movs r3, 0x80
- lsls r3, 5
- adds r0, r1, 0
- ands r0, r3
- cmp r0, 0
- beq _08025B60
- ldr r0, _08025B5C @ =0xffffefff
- ands r1, r0
- b _08025B62
- .align 2, 0
-_08025B4C: .4byte gActiveBattler
-_08025B50: .4byte gBattlerAttacker
-_08025B54: .4byte gBattlerTarget
-_08025B58: .4byte gHitMarker
-_08025B5C: .4byte 0xffffefff
-_08025B60:
- orrs r1, r3
-_08025B62:
- str r1, [r2]
- ldr r1, _08025B70 @ =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08025B70: .4byte gBattlescriptCurrInstr
- thumb_func_end atk5F_swapattackerwithtarget
-
- thumb_func_start atk60_incrementgamestat
-atk60_incrementgamestat: @ 8025B74
- push {lr}
- ldr r0, _08025B9C @ =gBattlerAttacker
- ldrb r0, [r0]
- bl GetBattlerSide
- lsls r0, 24
- cmp r0, 0
- bne _08025B8E
- ldr r0, _08025BA0 @ =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- bl IncrementGameStat
-_08025B8E:
- ldr r1, _08025BA0 @ =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08025B9C: .4byte gBattlerAttacker
-_08025BA0: .4byte gBattlescriptCurrInstr
- thumb_func_end atk60_incrementgamestat
-
- thumb_func_start atk61_drawpartystatussummary
-atk61_drawpartystatussummary: @ 8025BA4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x30
- ldr r0, _08025C08 @ =gBattleControllerExecFlags
- ldr r0, [r0]
- cmp r0, 0
- bne _08025C58
- ldr r0, _08025C0C @ =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- bl GetBattlerForBattleScript
- ldr r1, _08025C10 @ =gActiveBattler
- strb r0, [r1]
- ldrb r0, [r1]
- bl GetBattlerSide
- lsls r0, 24
- ldr r1, _08025C14 @ =gEnemyParty
- mov r8, r1
- cmp r0, 0
- bne _08025BD6
- ldr r0, _08025C18 @ =gPlayerParty
- mov r8, r0
-_08025BD6:
- movs r7, 0
- add r6, sp, 0x4
- mov r5, sp
-_08025BDC:
- movs r0, 0x64
- muls r0, r7
- mov r1, r8
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0
- beq _08025C00
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- bne _08025C20
-_08025C00:
- ldr r0, _08025C1C @ =0x0000ffff
- strh r0, [r5]
- movs r0, 0
- b _08025C32
- .align 2, 0
-_08025C08: .4byte gBattleControllerExecFlags
-_08025C0C: .4byte gBattlescriptCurrInstr
-_08025C10: .4byte gActiveBattler
-_08025C14: .4byte gEnemyParty
-_08025C18: .4byte gPlayerParty
-_08025C1C: .4byte 0x0000ffff
-_08025C20:
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- strh r0, [r5]
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
-_08025C32:
- str r0, [r6]
- adds r6, 0x8
- adds r5, 0x8
- adds r7, 0x1
- cmp r7, 0x5
- ble _08025BDC
- movs r0, 0
- mov r1, sp
- movs r2, 0x1
- bl BtlController_EmitDrawPartyStatusSummary
- ldr r0, _08025C64 @ =gActiveBattler
- ldrb r0, [r0]
- bl MarkBattlerForControllerExec
- ldr r1, _08025C68 @ =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
-_08025C58:
- add sp, 0x30
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08025C64: .4byte gActiveBattler
-_08025C68: .4byte gBattlescriptCurrInstr
- thumb_func_end atk61_drawpartystatussummary
-
- thumb_func_start atk62_hidepartystatussummary
-atk62_hidepartystatussummary: @ 8025C6C
- push {r4,r5,lr}
- ldr r5, _08025C94 @ =gBattlescriptCurrInstr
- ldr r0, [r5]
- ldrb r0, [r0, 0x1]
- bl GetBattlerForBattleScript
- ldr r4, _08025C98 @ =gActiveBattler
- strb r0, [r4]
- movs r0, 0
- bl BtlController_EmitHidePartyStatusSummary
- ldrb r0, [r4]
- bl MarkBattlerForControllerExec
- ldr r0, [r5]
- adds r0, 0x2
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08025C94: .4byte gBattlescriptCurrInstr
-_08025C98: .4byte gActiveBattler
- thumb_func_end atk62_hidepartystatussummary
-
- thumb_func_start atk63_jumptocalledmove
-atk63_jumptocalledmove: @ 8025C9C
- push {r4,lr}
- ldr r0, _08025CB4 @ =gBattlescriptCurrInstr
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r4, r0, 0
- cmp r1, 0
- beq _08025CC0
- ldr r0, _08025CB8 @ =gCurrentMove
- ldr r1, _08025CBC @ =gCalledMove
- ldrh r1, [r1]
- strh r1, [r0]
- b _08025CCE
- .align 2, 0
-_08025CB4: .4byte gBattlescriptCurrInstr
-_08025CB8: .4byte gCurrentMove
-_08025CBC: .4byte gCalledMove
-_08025CC0:
- ldr r2, _08025CEC @ =gChosenMove
- ldr r1, _08025CF0 @ =gCurrentMove
- ldr r0, _08025CF4 @ =gCalledMove
- ldrh r0, [r0]
- strh r0, [r1]
- strh r0, [r2]
- adds r0, r1, 0
-_08025CCE:
- ldr r3, _08025CF8 @ =gBattleScriptsForMoveEffects
- ldr r2, _08025CFC @ =gBattleMoves
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08025CEC: .4byte gChosenMove
-_08025CF0: .4byte gCurrentMove
-_08025CF4: .4byte gCalledMove
-_08025CF8: .4byte gBattleScriptsForMoveEffects
-_08025CFC: .4byte gBattleMoves
- thumb_func_end atk63_jumptocalledmove
-
- thumb_func_start atk64_statusanimation
-atk64_statusanimation: @ 8025D00
- push {r4,lr}
- ldr r0, _08025D70 @ =gBattleControllerExecFlags
- ldr r0, [r0]
- cmp r0, 0
- bne _08025D68
- ldr r0, _08025D74 @ =gBattlescriptCurrInstr
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- bl GetBattlerForBattleScript
- ldr r4, _08025D78 @ =gActiveBattler
- strb r0, [r4]
- ldr r1, _08025D7C @ =gStatuses3
- ldrb r2, [r4]
- lsls r0, r2, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _08025D80 @ =0x000400c0
- ands r0, r1
- cmp r0, 0
- bne _08025D60
- ldr r0, _08025D84 @ =gDisableStructs
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0xA]
- cmp r0, 0
- bne _08025D60
- ldr r0, _08025D88 @ =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08025D60
- ldr r1, _08025D8C @ =gBattleMons
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x4C
- adds r0, r1
- ldr r2, [r0]
- movs r0, 0
- movs r1, 0
- bl BtlController_EmitStatusAnimation
- ldrb r0, [r4]
- bl MarkBattlerForControllerExec
-_08025D60:
- ldr r1, _08025D74 @ =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
-_08025D68:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08025D70: .4byte gBattleControllerExecFlags
-_08025D74: .4byte gBattlescriptCurrInstr
-_08025D78: .4byte gActiveBattler
-_08025D7C: .4byte gStatuses3
-_08025D80: .4byte 0x000400c0
-_08025D84: .4byte gDisableStructs
-_08025D88: .4byte gHitMarker
-_08025D8C: .4byte gBattleMons
- thumb_func_end atk64_statusanimation
-
- thumb_func_start atk65_status2animation
-atk65_status2animation: @ 8025D90
- push {r4,r5,lr}
- ldr r0, _08025E18 @ =gBattleControllerExecFlags
- ldr r0, [r0]
- cmp r0, 0
- bne _08025E10
- ldr r4, _08025E1C @ =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl GetBattlerForBattleScript
- ldr r5, _08025E20 @ =gActiveBattler
- strb r0, [r5]
- ldr r1, [r4]
- ldrb r3, [r1, 0x2]
- ldrb r0, [r1, 0x3]
- lsls r0, 8
- orrs r3, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 16
- orrs r3, r0
- ldrb r0, [r1, 0x5]
- lsls r0, 24
- orrs r3, r0
- ldr r1, _08025E24 @ =gStatuses3
- ldrb r2, [r5]
- lsls r0, r2, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _08025E28 @ =0x000400c0
- ands r0, r1
- cmp r0, 0
- bne _08025E08
- ldr r0, _08025E2C @ =gDisableStructs
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0xA]
- cmp r0, 0
- bne _08025E08
- ldr r0, _08025E30 @ =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08025E08
- ldr r1, _08025E34 @ =gBattleMons
- movs r0, 0x58
- muls r0, r2
- adds r1, 0x50
- adds r0, r1
- ldr r2, [r0]
- ands r2, r3
- movs r0, 0
- movs r1, 0x1
- bl BtlController_EmitStatusAnimation
- ldrb r0, [r5]
- bl MarkBattlerForControllerExec
-_08025E08:
- ldr r1, _08025E1C @ =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x6
- str r0, [r1]
-_08025E10:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08025E18: .4byte gBattleControllerExecFlags
-_08025E1C: .4byte gBattlescriptCurrInstr
-_08025E20: .4byte gActiveBattler
-_08025E24: .4byte gStatuses3
-_08025E28: .4byte 0x000400c0
-_08025E2C: .4byte gDisableStructs
-_08025E30: .4byte gHitMarker
-_08025E34: .4byte gBattleMons
- thumb_func_end atk65_status2animation
-
- thumb_func_start atk66_chosenstatusanimation
-atk66_chosenstatusanimation: @ 8025E38
- push {r4,r5,lr}
- ldr r0, _08025EB0 @ =gBattleControllerExecFlags
- ldr r0, [r0]
- cmp r0, 0
- bne _08025EAA
- ldr r4, _08025EB4 @ =gBattlescriptCurrInstr
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- bl GetBattlerForBattleScript
- ldr r5, _08025EB8 @ =gActiveBattler
- strb r0, [r5]
- ldr r4, [r4]
- ldrb r2, [r4, 0x3]
- ldrb r0, [r4, 0x4]
- lsls r0, 8
- orrs r2, r0
- ldrb r0, [r4, 0x5]
- lsls r0, 16
- orrs r2, r0
- ldrb r0, [r4, 0x6]
- lsls r0, 24
- orrs r2, r0
- ldr r1, _08025EBC @ =gStatuses3
- ldrb r3, [r5]
- lsls r0, r3, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _08025EC0 @ =0x000400c0
- ands r0, r1
- cmp r0, 0
- bne _08025EA2
- ldr r0, _08025EC4 @ =gDisableStructs
- lsls r1, r3, 3
- subs r1, r3
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0xA]
- cmp r0, 0
- bne _08025EA2
- ldr r0, _08025EC8 @ =gHitMarker
- ldr r0, [r0]
- movs r1, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08025EA2
- ldrb r1, [r4, 0x2]
- movs r0, 0
- bl BtlController_EmitStatusAnimation
- ldrb r0, [r5]
- bl MarkBattlerForControllerExec
-_08025EA2:
- ldr r1, _08025EB4 @ =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x7
- str r0, [r1]
-_08025EAA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08025EB0: .4byte gBattleControllerExecFlags
-_08025EB4: .4byte gBattlescriptCurrInstr
-_08025EB8: .4byte gActiveBattler
-_08025EBC: .4byte gStatuses3
-_08025EC0: .4byte 0x000400c0
-_08025EC4: .4byte gDisableStructs
-_08025EC8: .4byte gHitMarker
- thumb_func_end atk66_chosenstatusanimation
-
- thumb_func_start atk67_yesnobox
-atk67_yesnobox: @ 8025ECC
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _08025EE0 @ =gBattleCommunication
- ldrb r4, [r5]
- cmp r4, 0
- beq _08025EE4
- cmp r4, 0x1
- beq _08025F0C
- b _08025F9A
- .align 2, 0
-_08025EE0: .4byte gBattleCommunication
-_08025EE4:
- str r4, [sp]
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl HandleBattleWindow
- ldr r0, _08025F08 @ =gText_BattleYesNoChoice
- movs r1, 0xE
- bl BattlePutTextOnWindow
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- strb r4, [r5, 0x1]
- bl BattleCreateYesNoCursorAt
- b _08025F9A
- .align 2, 0
-_08025F08: .4byte gText_BattleYesNoChoice
-_08025F0C:
- ldr r0, _08025F6C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08025F30
- ldrb r0, [r5, 0x1]
- cmp r0, 0
- beq _08025F30
- movs r0, 0x5
- bl PlaySE
- bl BattleDestroyYesNoCursorAt
- movs r0, 0
- strb r0, [r5, 0x1]
- bl BattleCreateYesNoCursorAt
-_08025F30:
- ldr r0, _08025F6C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08025F56
- ldr r4, _08025F70 @ =gBattleCommunication
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- bne _08025F56
- movs r0, 0x5
- bl PlaySE
- bl BattleDestroyYesNoCursorAt
- movs r0, 0x1
- strb r0, [r4, 0x1]
- bl BattleCreateYesNoCursorAt
-_08025F56:
- ldr r0, _08025F6C @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08025F74
- ldr r0, _08025F70 @ =gBattleCommunication
- movs r4, 0x1
- strb r4, [r0, 0x1]
- b _08025F7E
- .align 2, 0
-_08025F6C: .4byte gMain
-_08025F70: .4byte gBattleCommunication
-_08025F74:
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _08025F9A
-_08025F7E:
- movs r0, 0x5
- bl PlaySE
- str r4, [sp]
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0x1D
- movs r3, 0xD
- bl HandleBattleWindow
- ldr r1, _08025FA4 @ =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
-_08025F9A:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08025FA4: .4byte gBattlescriptCurrInstr
- thumb_func_end atk67_yesnobox
-
- thumb_func_start atk68_cancelallactions
-atk68_cancelallactions: @ 8025FA8
- push {r4,r5,lr}
- movs r1, 0
- ldr r2, _08025FD4 @ =gBattlersCount
- ldr r5, _08025FD8 @ =gBattlescriptCurrInstr
- ldrb r0, [r2]
- cmp r1, r0
- bge _08025FC6
- ldr r4, _08025FDC @ =gActionsByTurnOrder
- movs r3, 0xC
-_08025FBA:
- adds r0, r1, r4
- strb r3, [r0]
- adds r1, 0x1
- ldrb r0, [r2]
- cmp r1, r0
- blt _08025FBA
-_08025FC6:
- ldr r0, [r5]
- adds r0, 0x1
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08025FD4: .4byte gBattlersCount
-_08025FD8: .4byte gBattlescriptCurrInstr
-_08025FDC: .4byte gActionsByTurnOrder
- thumb_func_end atk68_cancelallactions
-
- thumb_func_start atk69_adjustsetdamage
-atk69_adjustsetdamage: @ 8025FE0
- push {r4-r7,lr}
- ldr r7, _08026008 @ =gBattleMons
- ldr r6, _0802600C @ =gBattlerTarget
- ldrb r2, [r6]
- movs r5, 0x58
- adds r0, r2, 0
- muls r0, r5
- adds r1, r0, r7
- ldrh r0, [r1, 0x2E]
- cmp r0, 0xAF
- bne _08026014
- ldr r1, _08026010 @ =gEnigmaBerries
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x7]
- ldrb r6, [r0, 0x1A]
- b _0802602E
- .align 2, 0
-_08026008: .4byte gBattleMons
-_0802600C: .4byte gBattlerTarget
-_08026010: .4byte gEnigmaBerries
-_08026014:
- ldrh r0, [r1, 0x2E]
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r6]
- muls r0, r5
- adds r0, r7
- ldrh r0, [r0, 0x2E]
- bl ItemId_GetHoldEffectParam
- lsls r0, 24
- lsrs r6, r0, 24
-_0802602E:
- ldr r1, _080260F0 @ =gPotentialItemEffectBattler
- ldr r5, _080260F4 @ =gBattlerTarget
- ldrb r0, [r5]
- strb r0, [r1]
- cmp r4, 0x27
- bne _0802606C
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r6
- bcs _0802606C
- ldrb r0, [r5]
- movs r1, 0x27
- bl RecordItemEffectBattle
- ldr r2, _080260F8 @ =gSpecialStatuses
- ldrb r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0]
-_0802606C:
- ldr r2, _080260FC @ =gBattleMons
- ldr r3, _080260F4 @ =gBattlerTarget
- ldrb r4, [r3]
- movs r0, 0x58
- muls r0, r4
- adds r1, r2, 0
- adds r1, 0x50
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x80
- lsls r0, 17
- ands r1, r0
- adds r5, r2, 0
- cmp r1, 0
- bne _0802613C
- ldr r2, _08026100 @ =gBattleMoves
- ldr r0, _08026104 @ =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x65
- beq _080260BE
- ldr r0, _08026108 @ =gProtectStructs
- lsls r1, r4, 4
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 30
- cmp r0, 0
- blt _080260BE
- ldr r0, _080260F8 @ =gSpecialStatuses
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1]
- lsrs r0, 7
- cmp r0, 0
- beq _0802613C
-_080260BE:
- ldrb r0, [r3]
- movs r4, 0x58
- muls r0, r4
- adds r0, r5
- ldrh r1, [r0, 0x28]
- ldr r2, _0802610C @ =gBattleMoveDamage
- ldr r0, [r2]
- cmp r1, r0
- bgt _0802613C
- subs r0, r1, 0x1
- str r0, [r2]
- ldr r1, _08026108 @ =gProtectStructs
- ldrb r3, [r3]
- lsls r0, r3, 4
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 30
- cmp r0, 0
- bge _08026114
- ldr r0, _08026110 @ =gMoveResultFlags
- ldrb r1, [r0]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0]
- b _0802613C
- .align 2, 0
-_080260F0: .4byte gPotentialItemEffectBattler
-_080260F4: .4byte gBattlerTarget
-_080260F8: .4byte gSpecialStatuses
-_080260FC: .4byte gBattleMons
-_08026100: .4byte gBattleMoves
-_08026104: .4byte gCurrentMove
-_08026108: .4byte gProtectStructs
-_0802610C: .4byte gBattleMoveDamage
-_08026110: .4byte gMoveResultFlags
-_08026114:
- ldr r0, _0802614C @ =gSpecialStatuses
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1]
- lsrs r0, 7
- cmp r0, 0
- beq _0802613C
- ldr r2, _08026150 @ =gMoveResultFlags
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldr r1, _08026154 @ =gLastUsedItem
- adds r0, r3, 0
- muls r0, r4
- adds r0, r5
- ldrh r0, [r0, 0x2E]
- strh r0, [r1]
-_0802613C:
- ldr r1, _08026158 @ =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0802614C: .4byte gSpecialStatuses
-_08026150: .4byte gMoveResultFlags
-_08026154: .4byte gLastUsedItem
-_08026158: .4byte gBattlescriptCurrInstr
- thumb_func_end atk69_adjustsetdamage
-
- thumb_func_start atk6A_removeitem
-atk6A_removeitem: @ 802615C
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r6, _080261BC @ =gBattlescriptCurrInstr
- ldr r0, [r6]
- ldrb r0, [r0, 0x1]
- bl GetBattlerForBattleScript
- ldr r5, _080261C0 @ =gActiveBattler
- strb r0, [r5]
- ldr r1, _080261C4 @ =gBattleStruct
- ldrb r4, [r5]
- lsls r0, r4, 1
- adds r0, 0xB8
- ldr r1, [r1]
- adds r1, r0
- ldr r2, _080261C8 @ =gBattleMons
- movs r3, 0x58
- adds r0, r4, 0
- muls r0, r3
- adds r0, r2
- ldrh r0, [r0, 0x2E]
- strh r0, [r1]
- ldrb r0, [r5]
- muls r0, r3
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x2E]
- ldrb r0, [r5]
- muls r0, r3
- adds r2, 0x2E
- adds r0, r2
- str r0, [sp]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0
- movs r3, 0x2
- bl BtlController_EmitSetMonData
- ldrb r0, [r5]
- bl MarkBattlerForControllerExec
- ldr r0, [r6]
- adds r0, 0x2
- str r0, [r6]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080261BC: .4byte gBattlescriptCurrInstr
-_080261C0: .4byte gActiveBattler
-_080261C4: .4byte gBattleStruct
-_080261C8: .4byte gBattleMons
- thumb_func_end atk6A_removeitem
-
- thumb_func_start atk6B_atknameinbuff1
-atk6B_atknameinbuff1: @ 80261CC
- ldr r1, _080261F8 @ =gBattleTextBuff1
- movs r0, 0xFD
- strb r0, [r1]
- movs r0, 0x7
- strb r0, [r1, 0x1]
- ldr r2, _080261FC @ =gBattlerAttacker
- ldrb r0, [r2]
- strb r0, [r1, 0x2]
- ldr r3, _08026200 @ =gBattlerPartyIndexes
- ldrb r0, [r2]
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- ldr r1, _08026204 @ =gBattlescriptCurrInstr
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bx lr
- .align 2, 0
-_080261F8: .4byte gBattleTextBuff1
-_080261FC: .4byte gBattlerAttacker
-_08026200: .4byte gBattlerPartyIndexes
-_08026204: .4byte gBattlescriptCurrInstr
- thumb_func_end atk6B_atknameinbuff1
-
thumb_func_start atk6C_drawlvlupbox
atk6C_drawlvlupbox: @ 8026208
push {r4,lr}