summaryrefslogtreecommitdiff
path: root/asm/battle_ai.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/battle_ai.s')
-rw-r--r--asm/battle_ai.s583
1 files changed, 0 insertions, 583 deletions
diff --git a/asm/battle_ai.s b/asm/battle_ai.s
index d8eafc314..3efe87815 100644
--- a/asm/battle_ai.s
+++ b/asm/battle_ai.s
@@ -6,589 +6,6 @@
.text
- thumb_func_start sub_81070D4
-sub_81070D4: @ 81070D4
- push {r4-r7,lr}
- ldr r2, _08107144 @ =0x02016a00
- movs r3, 0
- ldr r4, _08107148 @ =gUnknown_020239F8
- movs r1, 0
-_081070DE:
- adds r0, r2, r3
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0x2F
- bls _081070DE
- ldrh r2, [r4]
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _08107138
- ldr r5, _0810714C @ =gTrainerBattleOpponent
- ldrh r1, [r5]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- beq _08107138
- ldr r0, _08107150 @ =0x00000982
- ands r0, r2
- cmp r0, 0
- bne _08107138
- movs r3, 0
- ldr r7, _08107154 @ =gTrainers + 0x10
- ldr r4, _08107158 @ =0x02016a2c
- adds r6, r4, 0
- subs r6, 0x8
-_08107110:
- lsls r2, r3, 1
- ldrh r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r2, r7
- ldrh r2, [r2]
- cmp r2, 0
- beq _08107132
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r6
- strh r2, [r0]
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_08107132:
- adds r3, 0x1
- cmp r3, 0x3
- ble _08107110
-_08107138:
- bl sub_810715C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08107144: .4byte 0x02016a00
-_08107148: .4byte gUnknown_020239F8
-_0810714C: .4byte gTrainerBattleOpponent
-_08107150: .4byte 0x00000982
-_08107154: .4byte gTrainers + 0x10
-_08107158: .4byte 0x02016a2c
- thumb_func_end sub_81070D4
-
- thumb_func_start sub_810715C
-sub_810715C: @ 810715C
- push {r4-r7,lr}
- ldr r2, _08107204 @ =0x02016800
- movs r4, 0
- ldr r3, _08107208 @ =gUnknown_02024A60
- movs r1, 0
-_08107166:
- adds r0, r2, r4
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x1B
- bls _08107166
- ldr r0, _08107204 @ =0x02016800
- movs r1, 0x64
- movs r4, 0x3
- adds r0, 0x7
-_08107178:
- strb r1, [r0]
- subs r0, 0x1
- subs r4, 0x1
- cmp r4, 0
- bge _08107178
- ldrb r0, [r3]
- movs r1, 0
- movs r2, 0xFF
- bl sub_8015A98
- lsls r0, 24
- lsrs r7, r0, 24
- movs r4, 0
- ldr r0, _08107204 @ =0x02016800
- adds r5, r0, 0x4
- ldr r6, _0810720C @ =gBitTable
-_08107198:
- ldr r0, [r6]
- ands r0, r7
- cmp r0, 0
- beq _081071A4
- movs r0, 0
- strb r0, [r5]
-_081071A4:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF
- ands r0, r1
- movs r1, 0x64
- subs r1, r0
- strb r1, [r5, 0x14]
- adds r5, 0x1
- adds r6, 0x4
- adds r4, 0x1
- cmp r4, 0x3
- ble _08107198
- ldr r0, _08107210 @ =0x02016c00
- adds r0, 0x20
- movs r1, 0
- strb r1, [r0]
- ldr r1, _08107214 @ =gUnknown_02024C07
- ldr r0, _08107208 @ =gUnknown_02024A60
- ldrb r2, [r0]
- strb r2, [r1]
- ldr r0, _08107218 @ =gUnknown_020239F8
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08107224
- ldr r4, _0810721C @ =gUnknown_02024C08
- bl Random
- movs r5, 0x2
- ands r0, r5
- strb r0, [r4]
- ldr r0, _08107220 @ =gUnknown_02024C0C
- ldrb r1, [r0]
- ldr r2, _0810720C @ =gBitTable
- ldrb r3, [r4]
- lsls r0, r3, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _0810722C
- eors r3, r5
- strb r3, [r4]
- b _0810722C
- .align 2, 0
-_08107204: .4byte 0x02016800
-_08107208: .4byte gUnknown_02024A60
-_0810720C: .4byte gBitTable
-_08107210: .4byte 0x02016c00
-_08107214: .4byte gUnknown_02024C07
-_08107218: .4byte gUnknown_020239F8
-_0810721C: .4byte gUnknown_02024C08
-_08107220: .4byte gUnknown_02024C0C
-_08107224:
- ldr r0, _08107244 @ =gUnknown_02024C08
- movs r1, 0x1
- eors r1, r2
- strb r1, [r0]
-_0810722C:
- ldr r0, _08107248 @ =gUnknown_020239F8
- ldrh r1, [r0]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08107250
- ldr r1, _0810724C @ =0x02016800
- movs r0, 0x80
- lsls r0, 23
- str r0, [r1, 0xC]
- b _08107296
- .align 2, 0
-_08107244: .4byte gUnknown_02024C08
-_08107248: .4byte gUnknown_020239F8
-_0810724C: .4byte 0x02016800
-_08107250:
- movs r0, 0x80
- lsls r0, 3
- ands r0, r1
- cmp r0, 0
- beq _08107268
- ldr r1, _08107264 @ =0x02016800
- movs r0, 0x80
- lsls r0, 22
- str r0, [r1, 0xC]
- b _08107296
- .align 2, 0
-_08107264: .4byte 0x02016800
-_08107268:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08107280
- ldr r1, _0810727C @ =0x02016800
- movs r0, 0x80
- lsls r0, 24
- str r0, [r1, 0xC]
- b _08107296
- .align 2, 0
-_0810727C: .4byte 0x02016800
-_08107280:
- ldr r3, _0810729C @ =0x02016800
- ldr r2, _081072A0 @ =gTrainers
- ldr r0, _081072A4 @ =gTrainerBattleOpponent
- ldrh r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, 0x1C
- adds r0, r2
- ldr r0, [r0]
- str r0, [r3, 0xC]
-_08107296:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0810729C: .4byte 0x02016800
-_081072A0: .4byte gTrainers
-_081072A4: .4byte gTrainerBattleOpponent
- thumb_func_end sub_810715C
-
- thumb_func_start sub_81072A8
-sub_81072A8: @ 81072A8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- bl sub_810745C
- ldr r1, _081072F4 @ =0x02016800
- ldr r0, [r1, 0xC]
- cmp r0, 0
- beq _081072E2
- adds r4, r1, 0
- movs r5, 0
-_081072C0:
- ldr r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081072D0
- strb r5, [r4]
- bl sub_8107374
-_081072D0:
- ldr r1, [r4, 0xC]
- lsrs r1, 1
- str r1, [r4, 0xC]
- ldrb r0, [r4, 0x11]
- adds r0, 0x1
- strb r0, [r4, 0x11]
- strb r5, [r4, 0x1]
- cmp r1, 0
- bne _081072C0
-_081072E2:
- ldr r7, _081072F4 @ =0x02016800
- ldrb r1, [r7, 0x10]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081072F8
- movs r0, 0x4
- b _08107368
- .align 2, 0
-_081072F4: .4byte 0x02016800
-_081072F8:
- movs r0, 0x4
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _08107308
- movs r0, 0x5
- b _08107368
-_08107308:
- movs r5, 0x1
- mov r0, sp
- ldrb r1, [r7, 0x4]
- strb r1, [r0]
- add r0, sp, 0x4
- strb r2, [r0]
- movs r3, 0x1
- mov r8, r0
- mov r4, sp
- mov r6, r8
- adds r2, r7, 0x5
-_0810731E:
- ldrb r1, [r4]
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r1, r0
- bge _08107330
- movs r5, 0x1
- ldrb r0, [r2]
- strb r0, [r4]
- strb r3, [r6]
-_08107330:
- ldrb r1, [r4]
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r1, r0
- bne _0810734E
- mov r0, sp
- adds r1, r0, r5
- ldrb r0, [r2]
- strb r0, [r1]
- adds r1, r5, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r1, r6, r1
- strb r3, [r1]
-_0810734E:
- adds r2, 0x1
- adds r3, 0x1
- cmp r3, 0x3
- ble _0810731E
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- bl __modsi3
- add r0, r8
- ldrb r0, [r0]
-_08107368:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81072A8
-
- thumb_func_start sub_8107374
-sub_8107374: @ 8107374
- push {r4-r7,lr}
- ldr r1, _081073D0 @ =0x02016800
- ldrb r0, [r1]
- adds r6, r1, 0
- cmp r0, 0x2
- beq _08107456
- adds r4, r1, 0
- ldr r7, _081073D4 @ =gUnknown_02039238
-_08107384:
- ldrb r0, [r4]
- cmp r0, 0x1
- beq _081073E4
- cmp r0, 0x1
- bgt _0810744E
- cmp r0, 0
- bne _0810744E
- ldr r1, _081073D8 @ =BattleAIs
- ldrb r0, [r4, 0x11]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [r7]
- ldr r5, _081073DC @ =gBattleMons
- ldrb r3, [r4, 0x1]
- ldr r0, _081073E0 @ =gUnknown_02024C07
- ldrb r1, [r0]
- movs r0, 0x58
- adds r2, r1, 0
- muls r2, r0
- adds r0, r3, r2
- adds r1, r5, 0
- adds r1, 0x24
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _081073C6
- lsls r0, r3, 1
- adds r0, r2
- adds r1, r5, 0
- adds r1, 0xC
- adds r0, r1
- ldrh r0, [r0]
-_081073C6:
- strh r0, [r4, 0x2]
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0810744E
- .align 2, 0
-_081073D0: .4byte 0x02016800
-_081073D4: .4byte gUnknown_02039238
-_081073D8: .4byte BattleAIs
-_081073DC: .4byte gBattleMons
-_081073E0: .4byte gUnknown_02024C07
-_081073E4:
- ldrh r1, [r1, 0x2]
- cmp r1, 0
- beq _08107400
- ldr r1, _081073FC @ =gBattleAICmdTable
- ldr r0, [r7]
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- b _08107410
- .align 2, 0
-_081073FC: .4byte gBattleAICmdTable
-_08107400:
- adds r0, r4, 0x4
- ldrb r2, [r4, 0x1]
- adds r0, r2
- strb r1, [r0]
- ldrb r1, [r4, 0x10]
- movs r0, 0x1
- orrs r0, r1
- strb r0, [r4, 0x10]
-_08107410:
- ldr r1, _0810743C @ =0x02016800
- ldrb r2, [r1, 0x10]
- movs r0, 0x1
- ands r0, r2
- adds r6, r1, 0
- cmp r0, 0
- beq _0810744E
- ldrb r0, [r6, 0x1]
- adds r0, 0x1
- strb r0, [r6, 0x1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bhi _08107440
- movs r0, 0x8
- ands r0, r2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08107440
- strb r0, [r6]
- b _08107446
- .align 2, 0
-_0810743C: .4byte 0x02016800
-_08107440:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_08107446:
- ldrb r1, [r4, 0x10]
- movs r0, 0xFE
- ands r0, r1
- strb r0, [r4, 0x10]
-_0810744E:
- adds r1, r6, 0
- ldrb r0, [r1]
- cmp r0, 0x2
- bne _08107384
-_08107456:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8107374
-
- thumb_func_start sub_810745C
-sub_810745C: @ 810745C
- push {r4-r6,lr}
- movs r2, 0
- ldr r3, _08107488 @ =gUnknown_02024C08
- ldr r5, _0810748C @ =0x02016a00
- ldr r6, _08107490 @ =gUnknown_02024C34
- adds r4, r3, 0
-_08107468:
- lsls r0, r2, 1
- ldrb r1, [r4]
- lsrs r1, 1
- lsls r1, 4
- adds r0, r1
- adds r1, r0, r5
- ldrh r0, [r1]
- cmp r0, 0
- bne _08107494
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r6
- ldrh r0, [r0]
- strh r0, [r1]
- b _0810749A
- .align 2, 0
-_08107488: .4byte gUnknown_02024C08
-_0810748C: .4byte 0x02016a00
-_08107490: .4byte gUnknown_02024C34
-_08107494:
- adds r2, 0x1
- cmp r2, 0x7
- ble _08107468
-_0810749A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_810745C
-
- thumb_func_start unref_sub_81074A0
-unref_sub_81074A0: @ 81074A0
- push {lr}
- lsls r0, 24
- ldr r1, _081074C0 @ =0x02016a00
- lsrs r0, 25
- movs r2, 0x7
- lsls r0, 4
- adds r0, r1
- adds r0, 0xE
- movs r1, 0
-_081074B2:
- strh r1, [r0]
- subs r0, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _081074B2
- pop {r0}
- bx r0
- .align 2, 0
-_081074C0: .4byte 0x02016a00
- thumb_func_end unref_sub_81074A0
-
- thumb_func_start sub_81074C4
-sub_81074C4: @ 81074C4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- adds r0, r4, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _081074EC
- adds r0, r4, 0
- bl battle_get_per_side_status
- ldr r2, _081074F4 @ =0x02016a00
- movs r1, 0x1
- ands r1, r0
- adds r2, 0x20
- adds r1, r2
- strb r5, [r1]
-_081074EC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081074F4: .4byte 0x02016a00
- thumb_func_end sub_81074C4
-
- thumb_func_start sub_81074F8
-sub_81074F8: @ 81074F8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- adds r0, r4, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _08107520
- adds r0, r4, 0
- bl battle_get_per_side_status
- ldr r2, _08107528 @ =0x02016a00
- movs r1, 0x1
- ands r1, r0
- adds r2, 0x22
- adds r1, r2
- strb r5, [r1]
-_08107520:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08107528: .4byte 0x02016a00
- thumb_func_end sub_81074F8
-
thumb_func_start BattleAICmd_if_random
BattleAICmd_if_random: @ 810752C
push {lr}