diff options
Diffstat (limited to 'asm/battle_ai.s')
-rw-r--r-- | asm/battle_ai.s | 3784 |
1 files changed, 224 insertions, 3560 deletions
diff --git a/asm/battle_ai.s b/asm/battle_ai.s index 029458352..78e928ac7 100644 --- a/asm/battle_ai.s +++ b/asm/battle_ai.s @@ -1,3355 +1,19 @@ - .include "constants/gba_constants.s" - .include "constants/species_constants.s" - .include "asm/macros.s" + .include "constants/gba_constants.inc" + .include "constants/species_constants.inc" + .include "asm/macros.inc" .syntax unified .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 @ =gUnknown_083F6144 - 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 gUnknown_083F6144 -_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 sub_810752C -sub_810752C: @ 810752C - push {lr} - bl Random - lsls r0, 16 - movs r1, 0xFF - lsls r1, 16 - ldr r3, _08107560 @ =gUnknown_02039238 - ldr r2, [r3] - ands r1, r0 - lsrs r1, 16 - ldrb r0, [r2, 0x1] - cmp r1, r0 - bcs _08107564 - 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, [r3] - b _08107568 - .align 2, 0 -_08107560: .4byte gUnknown_02039238 -_08107564: - adds r0, r2, 0x6 - str r0, [r3] -_08107568: - pop {r0} - bx r0 - thumb_func_end sub_810752C - - thumb_func_start sub_810756C -sub_810756C: @ 810756C - push {lr} - bl Random - lsls r0, 16 - movs r1, 0xFF - lsls r1, 16 - ldr r3, _081075A0 @ =gUnknown_02039238 - ldr r2, [r3] - ands r1, r0 - lsrs r1, 16 - ldrb r0, [r2, 0x1] - cmp r1, r0 - bls _081075A4 - 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, [r3] - b _081075A8 - .align 2, 0 -_081075A0: .4byte gUnknown_02039238 -_081075A4: - adds r0, r2, 0x6 - str r0, [r3] -_081075A8: - pop {r0} - bx r0 - thumb_func_end sub_810756C - - thumb_func_start sub_81075AC -sub_81075AC: @ 81075AC - push {lr} - bl Random - lsls r0, 16 - movs r1, 0xFF - lsls r1, 16 - ldr r3, _081075E0 @ =gUnknown_02039238 - ldr r2, [r3] - ands r1, r0 - lsrs r1, 16 - ldrb r0, [r2, 0x1] - cmp r1, r0 - bne _081075E4 - 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, [r3] - b _081075E8 - .align 2, 0 -_081075E0: .4byte gUnknown_02039238 -_081075E4: - adds r0, r2, 0x6 - str r0, [r3] -_081075E8: - pop {r0} - bx r0 - thumb_func_end sub_81075AC - - thumb_func_start sub_81075EC -sub_81075EC: @ 81075EC - push {lr} - bl Random - lsls r0, 16 - movs r1, 0xFF - lsls r1, 16 - ldr r3, _08107620 @ =gUnknown_02039238 - ldr r2, [r3] - ands r1, r0 - lsrs r1, 16 - ldrb r0, [r2, 0x1] - cmp r1, r0 - beq _08107624 - 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, [r3] - b _08107628 - .align 2, 0 -_08107620: .4byte gUnknown_02039238 -_08107624: - adds r0, r2, 0x6 - str r0, [r3] -_08107628: - pop {r0} - bx r0 - thumb_func_end sub_81075EC - - thumb_func_start sub_810762C -sub_810762C: @ 810762C - push {r4,r5,lr} - ldr r2, _08107660 @ =0x02016800 - ldrb r1, [r2, 0x1] - adds r3, r2, 0x4 - adds r1, r3 - ldr r4, _08107664 @ =gUnknown_02039238 - ldr r0, [r4] - ldrb r0, [r0, 0x1] - ldrb r5, [r1] - adds r0, r5 - strb r0, [r1] - ldrb r0, [r2, 0x1] - adds r1, r0, r3 - movs r0, 0 - ldrsb r0, [r1, r0] - cmp r0, 0 - bge _08107652 - movs r0, 0 - strb r0, [r1] -_08107652: - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08107660: .4byte 0x02016800 -_08107664: .4byte gUnknown_02039238 - thumb_func_end sub_810762C - - thumb_func_start sub_8107668 -sub_8107668: @ 8107668 - push {r4,lr} - ldr r0, _0810767C @ =gUnknown_02039238 - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r4, r0, 0 - cmp r1, 0x1 - bne _08107684 - ldr r0, _08107680 @ =gUnknown_02024C07 - b _08107686 - .align 2, 0 -_0810767C: .4byte gUnknown_02039238 -_08107680: .4byte gUnknown_02024C07 -_08107684: - ldr r0, _081076BC @ =gUnknown_02024C08 -_08107686: - ldrb r1, [r0] - ldr r2, _081076C0 @ =gBattleMons - movs r0, 0x58 - muls r1, r0 - adds r1, r2 - ldrh r2, [r1, 0x28] - movs r0, 0x64 - muls r0, r2 - ldrh r1, [r1, 0x2C] - bl __divsi3 - ldr r2, [r4] - ldrb r1, [r2, 0x2] - cmp r0, r1 - bcs _081076C4 - ldrb r1, [r2, 0x3] - ldrb r0, [r2, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _081076C8 - .align 2, 0 -_081076BC: .4byte gUnknown_02024C08 -_081076C0: .4byte gBattleMons -_081076C4: - adds r0, r2, 0x7 - str r0, [r4] -_081076C8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8107668 - - thumb_func_start sub_81076D0 -sub_81076D0: @ 81076D0 - push {r4,lr} - ldr r0, _081076E4 @ =gUnknown_02039238 - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r4, r0, 0 - cmp r1, 0x1 - bne _081076EC - ldr r0, _081076E8 @ =gUnknown_02024C07 - b _081076EE - .align 2, 0 -_081076E4: .4byte gUnknown_02039238 -_081076E8: .4byte gUnknown_02024C07 -_081076EC: - ldr r0, _08107724 @ =gUnknown_02024C08 -_081076EE: - ldrb r1, [r0] - ldr r2, _08107728 @ =gBattleMons - movs r0, 0x58 - muls r1, r0 - adds r1, r2 - ldrh r2, [r1, 0x28] - movs r0, 0x64 - muls r0, r2 - ldrh r1, [r1, 0x2C] - bl __divsi3 - ldr r2, [r4] - ldrb r1, [r2, 0x2] - cmp r0, r1 - bls _0810772C - ldrb r1, [r2, 0x3] - ldrb r0, [r2, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08107730 - .align 2, 0 -_08107724: .4byte gUnknown_02024C08 -_08107728: .4byte gBattleMons -_0810772C: - adds r0, r2, 0x7 - str r0, [r4] -_08107730: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81076D0 - - thumb_func_start sub_8107738 -sub_8107738: @ 8107738 - push {r4,lr} - ldr r0, _0810774C @ =gUnknown_02039238 - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r4, r0, 0 - cmp r1, 0x1 - bne _08107754 - ldr r0, _08107750 @ =gUnknown_02024C07 - b _08107756 - .align 2, 0 -_0810774C: .4byte gUnknown_02039238 -_08107750: .4byte gUnknown_02024C07 -_08107754: - ldr r0, _0810778C @ =gUnknown_02024C08 -_08107756: - ldrb r1, [r0] - ldr r2, _08107790 @ =gBattleMons - movs r0, 0x58 - muls r1, r0 - adds r1, r2 - ldrh r2, [r1, 0x28] - movs r0, 0x64 - muls r0, r2 - ldrh r1, [r1, 0x2C] - bl __divsi3 - ldr r2, [r4] - ldrb r1, [r2, 0x2] - cmp r0, r1 - bne _08107794 - ldrb r1, [r2, 0x3] - ldrb r0, [r2, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08107798 - .align 2, 0 -_0810778C: .4byte gUnknown_02024C08 -_08107790: .4byte gBattleMons -_08107794: - adds r0, r2, 0x7 - str r0, [r4] -_08107798: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8107738 - - thumb_func_start sub_81077A0 -sub_81077A0: @ 81077A0 - push {r4,lr} - ldr r0, _081077B4 @ =gUnknown_02039238 - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r4, r0, 0 - cmp r1, 0x1 - bne _081077BC - ldr r0, _081077B8 @ =gUnknown_02024C07 - b _081077BE - .align 2, 0 -_081077B4: .4byte gUnknown_02039238 -_081077B8: .4byte gUnknown_02024C07 -_081077BC: - ldr r0, _081077F4 @ =gUnknown_02024C08 -_081077BE: - ldrb r1, [r0] - ldr r2, _081077F8 @ =gBattleMons - movs r0, 0x58 - muls r1, r0 - adds r1, r2 - ldrh r2, [r1, 0x28] - movs r0, 0x64 - muls r0, r2 - ldrh r1, [r1, 0x2C] - bl __divsi3 - ldr r2, [r4] - ldrb r1, [r2, 0x2] - cmp r0, r1 - beq _081077FC - ldrb r1, [r2, 0x3] - ldrb r0, [r2, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08107800 - .align 2, 0 -_081077F4: .4byte gUnknown_02024C08 -_081077F8: .4byte gBattleMons -_081077FC: - adds r0, r2, 0x7 - str r0, [r4] -_08107800: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81077A0 - - thumb_func_start sub_8107808 -sub_8107808: @ 8107808 - push {r4,r5,lr} - ldr r0, _0810781C @ =gUnknown_02039238 - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r5, r0, 0 - cmp r1, 0x1 - bne _08107824 - ldr r0, _08107820 @ =gUnknown_02024C07 - b _08107826 - .align 2, 0 -_0810781C: .4byte gUnknown_02039238 -_08107820: .4byte gUnknown_02024C07 -_08107824: - ldr r0, _08107868 @ =gUnknown_02024C08 -_08107826: - ldrb r4, [r0] - ldr r3, [r5] - ldrb r2, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r2, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r2, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r2, r0 - ldr r1, _0810786C @ =gBattleMons - movs r0, 0x58 - muls r0, r4 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - ands r0, r2 - cmp r0, 0 - beq _08107870 - ldrb r1, [r3, 0x6] - ldrb r0, [r3, 0x7] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x8] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x9] - lsls r0, 24 - orrs r1, r0 - str r1, [r5] - b _08107876 - .align 2, 0 -_08107868: .4byte gUnknown_02024C08 -_0810786C: .4byte gBattleMons -_08107870: - adds r0, r3, 0 - adds r0, 0xA - str r0, [r5] -_08107876: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8107808 - - thumb_func_start sub_810787C -sub_810787C: @ 810787C - push {r4,r5,lr} - ldr r0, _08107890 @ =gUnknown_02039238 - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r5, r0, 0 - cmp r1, 0x1 - bne _08107898 - ldr r0, _08107894 @ =gUnknown_02024C07 - b _0810789A - .align 2, 0 -_08107890: .4byte gUnknown_02039238 -_08107894: .4byte gUnknown_02024C07 -_08107898: - ldr r0, _081078DC @ =gUnknown_02024C08 -_0810789A: - ldrb r4, [r0] - ldr r3, [r5] - ldrb r2, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r2, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r2, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r2, r0 - ldr r1, _081078E0 @ =gBattleMons - movs r0, 0x58 - muls r0, r4 - adds r1, 0x4C - adds r0, r1 - ldr r0, [r0] - ands r0, r2 - cmp r0, 0 - bne _081078E4 - ldrb r1, [r3, 0x6] - ldrb r0, [r3, 0x7] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x8] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x9] - lsls r0, 24 - orrs r1, r0 - str r1, [r5] - b _081078EA - .align 2, 0 -_081078DC: .4byte gUnknown_02024C08 -_081078E0: .4byte gBattleMons -_081078E4: - adds r0, r3, 0 - adds r0, 0xA - str r0, [r5] -_081078EA: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_810787C - - thumb_func_start sub_81078F0 -sub_81078F0: @ 81078F0 - push {r4,r5,lr} - ldr r0, _08107904 @ =gUnknown_02039238 - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r5, r0, 0 - cmp r1, 0x1 - bne _0810790C - ldr r0, _08107908 @ =gUnknown_02024C07 - b _0810790E - .align 2, 0 -_08107904: .4byte gUnknown_02039238 -_08107908: .4byte gUnknown_02024C07 -_0810790C: - ldr r0, _08107950 @ =gUnknown_02024C08 -_0810790E: - ldrb r4, [r0] - ldr r3, [r5] - ldrb r2, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r2, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r2, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r2, r0 - ldr r1, _08107954 @ =gBattleMons - movs r0, 0x58 - muls r0, r4 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - ands r0, r2 - cmp r0, 0 - beq _08107958 - ldrb r1, [r3, 0x6] - ldrb r0, [r3, 0x7] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x8] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x9] - lsls r0, 24 - orrs r1, r0 - str r1, [r5] - b _0810795E - .align 2, 0 -_08107950: .4byte gUnknown_02024C08 -_08107954: .4byte gBattleMons -_08107958: - adds r0, r3, 0 - adds r0, 0xA - str r0, [r5] -_0810795E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81078F0 - - thumb_func_start sub_8107964 -sub_8107964: @ 8107964 - push {r4,r5,lr} - ldr r0, _08107978 @ =gUnknown_02039238 - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r5, r0, 0 - cmp r1, 0x1 - bne _08107980 - ldr r0, _0810797C @ =gUnknown_02024C07 - b _08107982 - .align 2, 0 -_08107978: .4byte gUnknown_02039238 -_0810797C: .4byte gUnknown_02024C07 -_08107980: - ldr r0, _081079C4 @ =gUnknown_02024C08 -_08107982: - ldrb r4, [r0] - ldr r3, [r5] - ldrb r2, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r2, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r2, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r2, r0 - ldr r1, _081079C8 @ =gBattleMons - movs r0, 0x58 - muls r0, r4 - adds r1, 0x50 - adds r0, r1 - ldr r0, [r0] - ands r0, r2 - cmp r0, 0 - bne _081079CC - ldrb r1, [r3, 0x6] - ldrb r0, [r3, 0x7] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x8] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x9] - lsls r0, 24 - orrs r1, r0 - str r1, [r5] - b _081079D2 - .align 2, 0 -_081079C4: .4byte gUnknown_02024C08 -_081079C8: .4byte gBattleMons -_081079CC: - adds r0, r3, 0 - adds r0, 0xA - str r0, [r5] -_081079D2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8107964 - - thumb_func_start sub_81079D8 -sub_81079D8: @ 81079D8 - push {r4,r5,lr} - ldr r0, _081079EC @ =gUnknown_02039238 - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r5, r0, 0 - cmp r1, 0x1 - bne _081079F4 - ldr r0, _081079F0 @ =gUnknown_02024C07 - b _081079F6 - .align 2, 0 -_081079EC: .4byte gUnknown_02039238 -_081079F0: .4byte gUnknown_02024C07 -_081079F4: - ldr r0, _08107A34 @ =gUnknown_02024C08 -_081079F6: - ldrb r4, [r0] - ldr r3, [r5] - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - ldr r2, _08107A38 @ =gUnknown_02024C98 - lsls r0, r4, 2 - adds r0, r2 - ldr r0, [r0] - ands r0, r1 - cmp r0, 0 - beq _08107A3C - ldrb r1, [r3, 0x6] - ldrb r0, [r3, 0x7] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x8] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x9] - lsls r0, 24 - orrs r1, r0 - str r1, [r5] - b _08107A42 - .align 2, 0 -_08107A34: .4byte gUnknown_02024C08 -_08107A38: .4byte gUnknown_02024C98 -_08107A3C: - adds r0, r3, 0 - adds r0, 0xA - str r0, [r5] -_08107A42: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81079D8 - - thumb_func_start sub_8107A48 -sub_8107A48: @ 8107A48 - push {r4,r5,lr} - ldr r0, _08107A5C @ =gUnknown_02039238 - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r5, r0, 0 - cmp r1, 0x1 - bne _08107A64 - ldr r0, _08107A60 @ =gUnknown_02024C07 - b _08107A66 - .align 2, 0 -_08107A5C: .4byte gUnknown_02039238 -_08107A60: .4byte gUnknown_02024C07 -_08107A64: - ldr r0, _08107AA4 @ =gUnknown_02024C08 -_08107A66: - ldrb r4, [r0] - ldr r3, [r5] - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - ldr r2, _08107AA8 @ =gUnknown_02024C98 - lsls r0, r4, 2 - adds r0, r2 - ldr r0, [r0] - ands r0, r1 - cmp r0, 0 - bne _08107AAC - ldrb r1, [r3, 0x6] - ldrb r0, [r3, 0x7] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x8] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x9] - lsls r0, 24 - orrs r1, r0 - str r1, [r5] - b _08107AB2 - .align 2, 0 -_08107AA4: .4byte gUnknown_02024C08 -_08107AA8: .4byte gUnknown_02024C98 -_08107AAC: - adds r0, r3, 0 - adds r0, 0xA - str r0, [r5] -_08107AB2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8107A48 - - thumb_func_start sub_8107AB8 -sub_8107AB8: @ 8107AB8 - push {r4,lr} - ldr r0, _08107AC8 @ =gUnknown_02039238 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x1 - bne _08107AD0 - ldr r0, _08107ACC @ =gUnknown_02024C07 - b _08107AD2 - .align 2, 0 -_08107AC8: .4byte gUnknown_02039238 -_08107ACC: .4byte gUnknown_02024C07 -_08107AD0: - ldr r0, _08107B1C @ =gUnknown_02024C08 -_08107AD2: - ldrb r0, [r0] - bl battle_get_per_side_status - movs r2, 0x1 - ands r2, r0 - ldr r4, _08107B20 @ =gUnknown_02039238 - ldr r3, [r4] - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - ldr r0, _08107B24 @ =gUnknown_02024C7A - lsls r2, 1 - adds r2, r0 - ldrh r0, [r2] - ands r0, r1 - cmp r0, 0 - beq _08107B28 - ldrb r1, [r3, 0x6] - ldrb r0, [r3, 0x7] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x8] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x9] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08107B2E - .align 2, 0 -_08107B1C: .4byte gUnknown_02024C08 -_08107B20: .4byte gUnknown_02039238 -_08107B24: .4byte gUnknown_02024C7A -_08107B28: - adds r0, r3, 0 - adds r0, 0xA - str r0, [r4] -_08107B2E: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8107AB8 - - thumb_func_start sub_8107B34 -sub_8107B34: @ 8107B34 - push {r4,lr} - ldr r0, _08107B44 @ =gUnknown_02039238 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x1 - bne _08107B4C - ldr r0, _08107B48 @ =gUnknown_02024C07 - b _08107B4E - .align 2, 0 -_08107B44: .4byte gUnknown_02039238 -_08107B48: .4byte gUnknown_02024C07 -_08107B4C: - ldr r0, _08107B98 @ =gUnknown_02024C08 -_08107B4E: - ldrb r0, [r0] - bl battle_get_per_side_status - movs r2, 0x1 - ands r2, r0 - ldr r4, _08107B9C @ =gUnknown_02039238 - ldr r3, [r4] - ldrb r1, [r3, 0x2] - ldrb r0, [r3, 0x3] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x4] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 24 - orrs r1, r0 - ldr r0, _08107BA0 @ =gUnknown_02024C7A - lsls r2, 1 - adds r2, r0 - ldrh r0, [r2] - ands r0, r1 - cmp r0, 0 - bne _08107BA4 - ldrb r1, [r3, 0x6] - ldrb r0, [r3, 0x7] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r3, 0x8] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r3, 0x9] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08107BAA - .align 2, 0 -_08107B98: .4byte gUnknown_02024C08 -_08107B9C: .4byte gUnknown_02039238 -_08107BA0: .4byte gUnknown_02024C7A -_08107BA4: - adds r0, r3, 0 - adds r0, 0xA - str r0, [r4] -_08107BAA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8107B34 - - thumb_func_start sub_8107BB0 -sub_8107BB0: @ 8107BB0 - push {lr} - ldr r0, _08107BD8 @ =0x02016800 - ldr r3, _08107BDC @ =gUnknown_02039238 - ldr r2, [r3] - ldr r0, [r0, 0x8] - ldrb r1, [r2, 0x1] - cmp r0, r1 - bcs _08107BE0 - 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, [r3] - b _08107BE4 - .align 2, 0 -_08107BD8: .4byte 0x02016800 -_08107BDC: .4byte gUnknown_02039238 -_08107BE0: - adds r0, r2, 0x6 - str r0, [r3] -_08107BE4: - pop {r0} - bx r0 - thumb_func_end sub_8107BB0 - - thumb_func_start sub_8107BE8 -sub_8107BE8: @ 8107BE8 - push {lr} - ldr r0, _08107C10 @ =0x02016800 - ldr r3, _08107C14 @ =gUnknown_02039238 - ldr r2, [r3] - ldr r0, [r0, 0x8] - ldrb r1, [r2, 0x1] - cmp r0, r1 - bls _08107C18 - 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, [r3] - b _08107C1C - .align 2, 0 -_08107C10: .4byte 0x02016800 -_08107C14: .4byte gUnknown_02039238 -_08107C18: - adds r0, r2, 0x6 - str r0, [r3] -_08107C1C: - pop {r0} - bx r0 - thumb_func_end sub_8107BE8 - - thumb_func_start sub_8107C20 -sub_8107C20: @ 8107C20 - push {lr} - ldr r0, _08107C48 @ =0x02016800 - ldr r3, _08107C4C @ =gUnknown_02039238 - ldr r2, [r3] - ldr r0, [r0, 0x8] - ldrb r1, [r2, 0x1] - cmp r0, r1 - bne _08107C50 - 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, [r3] - b _08107C54 - .align 2, 0 -_08107C48: .4byte 0x02016800 -_08107C4C: .4byte gUnknown_02039238 -_08107C50: - adds r0, r2, 0x6 - str r0, [r3] -_08107C54: - pop {r0} - bx r0 - thumb_func_end sub_8107C20 - - thumb_func_start sub_8107C58 -sub_8107C58: @ 8107C58 - push {lr} - ldr r0, _08107C80 @ =0x02016800 - ldr r3, _08107C84 @ =gUnknown_02039238 - ldr r2, [r3] - ldr r0, [r0, 0x8] - ldrb r1, [r2, 0x1] - cmp r0, r1 - beq _08107C88 - 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, [r3] - b _08107C8C - .align 2, 0 -_08107C80: .4byte 0x02016800 -_08107C84: .4byte gUnknown_02039238 -_08107C88: - adds r0, r2, 0x6 - str r0, [r3] -_08107C8C: - pop {r0} - bx r0 - thumb_func_end sub_8107C58 - - thumb_func_start sub_8107C90 -sub_8107C90: @ 8107C90 - push {lr} - ldr r3, _08107CCC @ =gUnknown_02039238 - 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 - ldr r0, _08107CD0 @ =0x02016800 - ldr r0, [r0, 0x8] - ldrb r1, [r1] - cmp r0, r1 - bcs _08107CD4 - ldrb r1, [r2, 0x5] - ldrb r0, [r2, 0x6] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x8] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08107CDA - .align 2, 0 -_08107CCC: .4byte gUnknown_02039238 -_08107CD0: .4byte 0x02016800 -_08107CD4: - adds r0, r2, 0 - adds r0, 0x9 - str r0, [r3] -_08107CDA: - pop {r0} - bx r0 - thumb_func_end sub_8107C90 - - thumb_func_start sub_8107CE0 -sub_8107CE0: @ 8107CE0 - push {lr} - ldr r3, _08107D1C @ =gUnknown_02039238 - 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 - ldr r0, _08107D20 @ =0x02016800 - ldr r0, [r0, 0x8] - ldrb r1, [r1] - cmp r0, r1 - bls _08107D24 - ldrb r1, [r2, 0x5] - ldrb r0, [r2, 0x6] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x8] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08107D2A - .align 2, 0 -_08107D1C: .4byte gUnknown_02039238 -_08107D20: .4byte 0x02016800 -_08107D24: - adds r0, r2, 0 - adds r0, 0x9 - str r0, [r3] -_08107D2A: - pop {r0} - bx r0 - thumb_func_end sub_8107CE0 - - thumb_func_start sub_8107D30 -sub_8107D30: @ 8107D30 - push {lr} - ldr r3, _08107D6C @ =gUnknown_02039238 - 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 - ldr r0, _08107D70 @ =0x02016800 - ldr r0, [r0, 0x8] - ldrb r1, [r1] - cmp r0, r1 - bne _08107D74 - ldrb r1, [r2, 0x5] - ldrb r0, [r2, 0x6] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x8] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08107D7A - .align 2, 0 -_08107D6C: .4byte gUnknown_02039238 -_08107D70: .4byte 0x02016800 -_08107D74: - adds r0, r2, 0 - adds r0, 0x9 - str r0, [r3] -_08107D7A: - pop {r0} - bx r0 - thumb_func_end sub_8107D30 - - thumb_func_start sub_8107D80 -sub_8107D80: @ 8107D80 - push {lr} - ldr r3, _08107DBC @ =gUnknown_02039238 - 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 - ldr r0, _08107DC0 @ =0x02016800 - ldr r0, [r0, 0x8] - ldrb r1, [r1] - cmp r0, r1 - beq _08107DC4 - ldrb r1, [r2, 0x5] - ldrb r0, [r2, 0x6] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x8] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08107DCA - .align 2, 0 -_08107DBC: .4byte gUnknown_02039238 -_08107DC0: .4byte 0x02016800 -_08107DC4: - adds r0, r2, 0 - adds r0, 0x9 - str r0, [r3] -_08107DCA: - pop {r0} - bx r0 - thumb_func_end sub_8107D80 - - thumb_func_start sub_8107DD0 -sub_8107DD0: @ 8107DD0 - push {lr} - ldr r3, _08107E00 @ =gUnknown_02039238 - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldr r0, _08107E04 @ =0x02016800 - ldrh r0, [r0, 0x2] - cmp r0, r1 - bne _08107E08 - ldrb r1, [r2, 0x3] - ldrb r0, [r2, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08107E0C - .align 2, 0 -_08107E00: .4byte gUnknown_02039238 -_08107E04: .4byte 0x02016800 -_08107E08: - adds r0, r2, 0x7 - str r0, [r3] -_08107E0C: - pop {r0} - bx r0 - thumb_func_end sub_8107DD0 - - thumb_func_start sub_8107E10 -sub_8107E10: @ 8107E10 - push {lr} - ldr r3, _08107E40 @ =gUnknown_02039238 - ldr r2, [r3] - ldrb r1, [r2, 0x1] - ldrb r0, [r2, 0x2] - lsls r0, 8 - orrs r1, r0 - ldr r0, _08107E44 @ =0x02016800 - ldrh r0, [r0, 0x2] - cmp r0, r1 - beq _08107E48 - ldrb r1, [r2, 0x3] - ldrb r0, [r2, 0x4] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x5] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x6] - lsls r0, 24 - orrs r1, r0 - str r1, [r3] - b _08107E4C - .align 2, 0 -_08107E40: .4byte gUnknown_02039238 -_08107E44: .4byte 0x02016800 -_08107E48: - adds r0, r2, 0x7 - str r0, [r3] -_08107E4C: - pop {r0} - bx r0 - thumb_func_end sub_8107E10 - - thumb_func_start sub_8107E50 -sub_8107E50: @ 8107E50 - push {r4,lr} - ldr r2, _08107E98 @ =gUnknown_02039238 - ldr r1, [r2] - ldrb r3, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - orrs r3, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - orrs r3, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - orrs r3, r0 - ldrb r0, [r3] - cmp r0, 0xFF - beq _08107EA8 - ldr r0, _08107E9C @ =0x02016800 - ldr r1, [r0, 0x8] - adds r4, r2, 0 -_08107E76: - ldrb r0, [r3] - cmp r1, r0 - bne _08107EA0 - ldr r2, [r4] - ldrb r1, [r2, 0x5] - ldrb r0, [r2, 0x6] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x8] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08107EAE - .align 2, 0 -_08107E98: .4byte gUnknown_02039238 -_08107E9C: .4byte 0x02016800 -_08107EA0: - adds r3, 0x1 - ldrb r0, [r3] - cmp r0, 0xFF - bne _08107E76 -_08107EA8: - ldr r0, [r2] - adds r0, 0x9 - str r0, [r2] -_08107EAE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8107E50 - - thumb_func_start sub_8107EB4 -sub_8107EB4: @ 8107EB4 - push {r4,lr} - ldr r2, _08107EEC @ =gUnknown_02039238 - ldr r1, [r2] - ldrb r3, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - orrs r3, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - orrs r3, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - orrs r3, r0 - ldrb r0, [r3] - adds r4, r2, 0 - cmp r0, 0xFF - beq _08107EFC - ldr r0, _08107EF0 @ =0x02016800 - ldr r2, [r0, 0x8] - adds r1, r4, 0 -_08107EDC: - ldrb r0, [r3] - cmp r2, r0 - bne _08107EF4 - ldr r0, [r1] - adds r0, 0x9 - str r0, [r1] - b _08107F14 - .align 2, 0 -_08107EEC: .4byte gUnknown_02039238 -_08107EF0: .4byte 0x02016800 -_08107EF4: - adds r3, 0x1 - ldrb r0, [r3] - cmp r0, 0xFF - bne _08107EDC -_08107EFC: - ldr r2, [r4] - ldrb r1, [r2, 0x5] - ldrb r0, [r2, 0x6] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x8] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] -_08107F14: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8107EB4 - - thumb_func_start sub_8107F1C -sub_8107F1C: @ 8107F1C - push {r4,r5,lr} - ldr r2, _08107F64 @ =gUnknown_02039238 - ldr r1, [r2] - ldrb r3, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - orrs r3, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - orrs r3, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - orrs r3, r0 - ldrh r0, [r3] - ldr r5, _08107F68 @ =0x0000ffff - cmp r0, r5 - beq _08107F78 - ldr r0, _08107F6C @ =0x02016800 - ldr r1, [r0, 0x8] - adds r4, r2, 0 -_08107F44: - ldrh r0, [r3] - cmp r1, r0 - bne _08107F70 - ldr r2, [r4] - ldrb r1, [r2, 0x5] - ldrb r0, [r2, 0x6] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x8] - lsls r0, 24 - orrs r1, r0 - str r1, [r4] - b _08107F7E - .align 2, 0 -_08107F64: .4byte gUnknown_02039238 -_08107F68: .4byte 0x0000ffff -_08107F6C: .4byte 0x02016800 -_08107F70: - adds r3, 0x2 - ldrh r0, [r3] - cmp r0, r5 - bne _08107F44 -_08107F78: - ldr r0, [r2] - adds r0, 0x9 - str r0, [r2] -_08107F7E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8107F1C - - thumb_func_start sub_8107F84 -sub_8107F84: @ 8107F84 - push {r4,r5,lr} - ldr r2, _08107FBC @ =gUnknown_02039238 - ldr r1, [r2] - ldrb r3, [r1, 0x1] - ldrb r0, [r1, 0x2] - lsls r0, 8 - orrs r3, r0 - ldrb r0, [r1, 0x3] - lsls r0, 16 - orrs r3, r0 - ldrb r0, [r1, 0x4] - lsls r0, 24 - orrs r3, r0 - ldrh r0, [r3] - ldr r4, _08107FC0 @ =0x0000ffff - adds r5, r2, 0 - cmp r0, r4 - beq _08107FD0 - ldr r0, _08107FC4 @ =0x02016800 - ldr r2, [r0, 0x8] - adds r1, r5, 0 -_08107FAE: - ldrh r0, [r3] - cmp r2, r0 - bne _08107FC8 - ldr r0, [r1] - adds r0, 0x9 - str r0, [r1] - b _08107FE8 - .align 2, 0 -_08107FBC: .4byte gUnknown_02039238 -_08107FC0: .4byte 0x0000ffff -_08107FC4: .4byte 0x02016800 -_08107FC8: - adds r3, 0x2 - ldrh r0, [r3] - cmp r0, r4 - bne _08107FAE -_08107FD0: - ldr r2, [r5] - ldrb r1, [r2, 0x5] - ldrb r0, [r2, 0x6] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x7] - lsls r0, 16 - orrs r1, r0 - ldrb r0, [r2, 0x8] - lsls r0, 24 - orrs r1, r0 - str r1, [r5] -_08107FE8: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8107F84 - - thumb_func_start sub_8107FF0 -sub_8107FF0: @ 8107FF0 - push {r4,r5,lr} - movs r3, 0 - ldr r4, _08108030 @ =gUnknown_02039238 - ldr r1, _08108034 @ =gBattleMons - ldr r0, _08108038 @ =gUnknown_02024C07 - ldrb r2, [r0] - ldr r5, _0810803C @ =gBattleMoves - movs r0, 0x58 - muls r0, r2 - adds r1, 0xC - adds r2, r0, r1 -_08108006: - ldrh r0, [r2] - cmp r0, 0 - beq _0810801A - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r0, [r1, 0x1] - cmp r0, 0 - bne _08108022 -_0810801A: - adds r2, 0x2 - adds r3, 0x1 - cmp r3, 0x3 - ble _08108006 -_08108022: - cmp r3, 0x4 - bne _08108040 - ldr r0, [r4] - adds r0, 0x5 - str r0, [r4] - b _08108058 - .align 2, 0 -_08108030: .4byte gUnknown_02039238 -_08108034: .4byte gBattleMons -_08108038: .4byte gUnknown_02024C07 -_0810803C: .4byte gBattleMoves -_08108040: - 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] -_08108058: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8107FF0 - - thumb_func_start sub_8108060 -sub_8108060: @ 8108060 - push {r4,r5,lr} - movs r3, 0 - ldr r4, _081080A0 @ =gUnknown_02039238 - ldr r1, _081080A4 @ =gBattleMons - ldr r0, _081080A8 @ =gUnknown_02024C07 - ldrb r2, [r0] - ldr r5, _081080AC @ =gBattleMoves - movs r0, 0x58 - muls r0, r2 - adds r1, 0xC - adds r2, r0, r1 -_08108076: - ldrh r0, [r2] - cmp r0, 0 - beq _0810808A - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r0, [r1, 0x1] - cmp r0, 0 - bne _08108092 -_0810808A: - adds r2, 0x2 - adds r3, 0x1 - cmp r3, 0x3 - ble _08108076 -_08108092: - cmp r3, 0x4 - beq _081080B0 - ldr r0, [r4] - adds r0, 0x5 - str r0, [r4] - b _081080C8 - .align 2, 0 -_081080A0: .4byte gUnknown_02039238 -_081080A4: .4byte gBattleMons -_081080A8: .4byte gUnknown_02024C07 -_081080AC: .4byte gBattleMoves -_081080B0: - 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] -_081080C8: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8108060 - - thumb_func_start sub_81080D0 -sub_81080D0: @ 81080D0 - ldr r1, _081080E4 @ =0x02016800 - ldr r0, _081080E8 @ =gUnknown_030042E0 - ldrb r0, [r0, 0x13] - str r0, [r1, 0x8] - ldr r1, _081080EC @ =gUnknown_02039238 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_081080E4: .4byte 0x02016800 -_081080E8: .4byte gUnknown_030042E0 -_081080EC: .4byte gUnknown_02039238 - thumb_func_end sub_81080D0 - - thumb_func_start sub_81080F0 -sub_81080F0: @ 81080F0 - push {r4,lr} - ldr r1, _08108108 @ =gUnknown_02039238 - ldr r0, [r1] - ldrb r0, [r0, 0x1] - adds r4, r1, 0 - cmp r0, 0x4 - bhi _081081B6 - lsls r0, 2 - ldr r1, _0810810C @ =_08108110 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08108108: .4byte gUnknown_02039238 -_0810810C: .4byte _08108110 - .align 2, 0 -_08108110: - .4byte _08108144 - .4byte _08108124 - .4byte _08108184 - .4byte _08108164 - .4byte _081081A4 -_08108124: - ldr r3, _08108138 @ =0x02016800 - ldr r2, _0810813C @ =gBattleMons - ldr r0, _08108140 @ =gUnknown_02024C07 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x21 - ldrb r0, [r0] - b _081081B4 - .align 2, 0 -_08108138: .4byte 0x02016800 -_0810813C: .4byte gBattleMons -_08108140: .4byte gUnknown_02024C07 -_08108144: - ldr r3, _08108158 @ =0x02016800 - ldr r2, _0810815C @ =gBattleMons - ldr r0, _08108160 @ =gUnknown_02024C08 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x21 - ldrb r0, [r0] - b _081081B4 - .align 2, 0 -_08108158: .4byte 0x02016800 -_0810815C: .4byte gBattleMons -_08108160: .4byte gUnknown_02024C08 -_08108164: - ldr r3, _08108178 @ =0x02016800 - ldr r2, _0810817C @ =gBattleMons - ldr r0, _08108180 @ =gUnknown_02024C07 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x22 - ldrb r0, [r0] - b _081081B4 - .align 2, 0 -_08108178: .4byte 0x02016800 -_0810817C: .4byte gBattleMons -_08108180: .4byte gUnknown_02024C07 -_08108184: - ldr r3, _08108198 @ =0x02016800 - ldr r2, _0810819C @ =gBattleMons - ldr r0, _081081A0 @ =gUnknown_02024C08 - ldrb r1, [r0] - movs r0, 0x58 - muls r0, r1 - adds r0, r2 - adds r0, 0x22 - ldrb r0, [r0] - b _081081B4 - .align 2, 0 -_08108198: .4byte 0x02016800 -_0810819C: .4byte gBattleMons -_081081A0: .4byte gUnknown_02024C08 -_081081A4: - ldr r3, _081081C4 @ =0x02016800 - ldr r2, _081081C8 @ =gBattleMoves - ldrh r1, [r3, 0x2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x2] -_081081B4: - str r0, [r3, 0x8] -_081081B6: - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081081C4: .4byte 0x02016800 -_081081C8: .4byte gBattleMoves - thumb_func_end sub_81080F0 - - thumb_func_start sub_81081CC -sub_81081CC: @ 81081CC - ldr r3, _081081E8 @ =0x02016800 - ldr r2, _081081EC @ =gBattleMoves - ldrh r1, [r3, 0x2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - str r0, [r3, 0x8] - ldr r1, _081081F0 @ =gUnknown_02039238 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_081081E8: .4byte 0x02016800 -_081081EC: .4byte gBattleMoves -_081081F0: .4byte gUnknown_02039238 - thumb_func_end sub_81081CC - - thumb_func_start sub_81081F4 -sub_81081F4: @ 81081F4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - movs r3, 0 - ldr r0, _08108328 @ =gUnknown_083F62BC - ldrh r1, [r0] - ldr r4, _0810832C @ =0x0000ffff - ldr r6, _08108330 @ =gBattleMoves - ldr r5, _08108334 @ =0x02016800 - cmp r1, r4 - beq _0810822E - ldrh r1, [r5, 0x2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrb r2, [r0] - ldr r1, _08108328 @ =gUnknown_083F62BC -_0810821E: - ldrh r0, [r1] - cmp r2, r0 - beq _0810822E - adds r1, 0x2 - adds r3, 0x1 - ldrh r0, [r1] - cmp r0, r4 - bne _0810821E -_0810822E: - ldrh r0, [r5, 0x2] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1, 0x1] - cmp r0, 0x1 - bhi _08108240 - b _081083B2 -_08108240: - lsls r0, r3, 1 - ldr r1, _08108328 @ =gUnknown_083F62BC - adds r0, r1 - ldrh r3, [r0] - ldr r0, _0810832C @ =0x0000ffff - cmp r3, r0 - beq _08108250 - b _081083B2 -_08108250: - ldr r0, _08108338 @ =gUnknown_02024DEC - movs r1, 0 - strh r1, [r0] - ldr r2, _0810833C @ =0xfffff81c - adds r0, r5, r2 - strb r1, [r0] - adds r2, 0x3 - adds r0, r5, r2 - movs r2, 0x1 - strb r2, [r0] - ldr r0, _08108340 @ =gUnknown_02024C68 - strb r1, [r0] - ldr r0, _08108344 @ =gCritMultiplier - strb r2, [r0] - movs r6, 0 - mov r9, r3 - ldr r0, _08108328 @ =gUnknown_083F62BC - ldrh r0, [r0] - str r0, [sp, 0x10] -_08108276: - movs r3, 0 - ldr r5, _08108348 @ =gBattleMons - lsls r4, r6, 1 - ldr r7, _0810834C @ =gUnknown_02024C07 - lsls r1, r6, 2 - mov r8, r1 - adds r2, r6, 0x1 - mov r10, r2 - ldr r0, [sp, 0x10] - cmp r0, r9 - beq _081082BA - ldr r2, _08108330 @ =gBattleMoves - ldrb r1, [r7] - movs r0, 0x58 - muls r0, r1 - adds r0, r4, r0 - adds r1, r5, 0 - adds r1, 0xC - adds r0, r1 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0] - ldr r1, _08108328 @ =gUnknown_083F62BC -_081082AA: - ldrh r0, [r1] - cmp r2, r0 - beq _081082BA - adds r1, 0x2 - adds r3, 0x1 - ldrh r0, [r1] - cmp r0, r9 - bne _081082AA -_081082BA: - ldrb r1, [r7] - movs r0, 0x58 - muls r0, r1 - adds r0, r4, r0 - adds r1, r5, 0 - adds r1, 0xC - adds r1, r0, r1 - ldrh r0, [r1] - cmp r0, 0 - beq _0810835C - lsls r0, r3, 1 - ldr r2, _08108328 @ =gUnknown_083F62BC - adds r0, r2 - ldrh r0, [r0] - cmp r0, r9 - bne _0810835C - ldr r0, _08108330 @ =gBattleMoves - ldrh r2, [r1] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x1] - cmp r0, 0x1 - bls _0810835C - ldr r5, _08108350 @ =gUnknown_02024BE6 - strh r2, [r5] - ldrb r0, [r7] - ldr r4, _08108354 @ =gUnknown_02024C08 - ldrb r1, [r4] - bl sub_801CAF8 - ldrh r0, [r5] - ldrb r1, [r7] - ldrb r2, [r4] - bl move_effectiveness_something - mov r4, sp - add r4, r8 - ldr r2, _08108358 @ =gUnknown_02024BEC - ldr r0, _08108334 @ =0x02016800 - adds r0, 0x18 - adds r0, r6, r0 - ldrb r1, [r0] - ldr r0, [r2] - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - str r0, [r4] - cmp r0, 0 - bne _08108364 - movs r0, 0x1 - str r0, [r4] - b _08108364 - .align 2, 0 -_08108328: .4byte gUnknown_083F62BC -_0810832C: .4byte 0x0000ffff -_08108330: .4byte gBattleMoves -_08108334: .4byte 0x02016800 -_08108338: .4byte gUnknown_02024DEC -_0810833C: .4byte 0xfffff81c -_08108340: .4byte gUnknown_02024C68 -_08108344: .4byte gCritMultiplier -_08108348: .4byte gBattleMons -_0810834C: .4byte gUnknown_02024C07 -_08108350: .4byte gUnknown_02024BE6 -_08108354: .4byte gUnknown_02024C08 -_08108358: .4byte gUnknown_02024BEC -_0810835C: - mov r1, sp - add r1, r8 - movs r0, 0 - str r0, [r1] -_08108364: - mov r6, r10 - cmp r6, 0x3 - ble _08108276 - movs r6, 0 - ldr r1, _081083A4 @ =0x02016800 - ldrb r0, [r1, 0x1] - lsls r0, 2 - add r0, sp - ldr r2, [sp] - ldr r0, [r0] - adds r5, r1, 0 - ldr r4, _081083A8 @ =gUnknown_02039238 - cmp r2, r0 - bgt _0810839A - adds r3, r5, 0 - mov r2, sp -_08108384: - adds r2, 0x4 - adds r6, 0x1 - cmp r6, 0x3 - bgt _0810839A - ldrb r0, [r3, 0x1] - lsls r0, 2 - add r0, sp - ldr r1, [r2] - ldr r0, [r0] - cmp r1, r0 - ble _08108384 -_0810839A: - cmp r6, 0x4 - bne _081083AC - movs r0, 0x2 - str r0, [r5, 0x8] - b _081083B8 - .align 2, 0 -_081083A4: .4byte 0x02016800 -_081083A8: .4byte gUnknown_02039238 -_081083AC: - movs r0, 0x1 - str r0, [r5, 0x8] - b _081083B8 -_081083B2: - movs r0, 0 - str r0, [r5, 0x8] - ldr r4, _081083D0 @ =gUnknown_02039238 -_081083B8: - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081083D0: .4byte gUnknown_02039238 - thumb_func_end sub_81081F4 - - thumb_func_start sub_81083D4 -sub_81083D4: @ 81083D4 - push {lr} - ldr r0, _081083EC @ =gUnknown_02039238 - ldr r1, [r0] - ldrb r1, [r1, 0x1] - adds r3, r0, 0 - cmp r1, 0x1 - bne _081083FC - ldr r2, _081083F0 @ =0x02016800 - ldr r1, _081083F4 @ =gUnknown_02024C34 - ldr r0, _081083F8 @ =gUnknown_02024C07 - b _08108402 - .align 2, 0 -_081083EC: .4byte gUnknown_02039238 -_081083F0: .4byte 0x02016800 -_081083F4: .4byte gUnknown_02024C34 -_081083F8: .4byte gUnknown_02024C07 -_081083FC: - ldr r2, _08108418 @ =0x02016800 - ldr r1, _0810841C @ =gUnknown_02024C34 - ldr r0, _08108420 @ =gUnknown_02024C08 -_08108402: - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - str r0, [r2, 0x8] - ldr r0, [r3] - adds r0, 0x2 - str r0, [r3] - pop {r0} - bx r0 - .align 2, 0 -_08108418: .4byte 0x02016800 -_0810841C: .4byte gUnknown_02024C34 -_08108420: .4byte gUnknown_02024C08 - thumb_func_end sub_81083D4 - - thumb_func_start sub_8108424 -sub_8108424: @ 8108424 - push {lr} - ldr r3, _0810844C @ =gUnknown_02039238 - ldr r2, [r3] - ldrb r0, [r2, 0x1] - ldr r1, _08108450 @ =0x02016800 - ldr r1, [r1, 0x8] - cmp r0, r1 - bne _08108454 - 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, [r3] - b _08108458 - .align 2, 0 -_0810844C: .4byte gUnknown_02039238 -_08108450: .4byte 0x02016800 -_08108454: - adds r0, r2, 0x6 - str r0, [r3] -_08108458: - pop {r0} - bx r0 - thumb_func_end sub_8108424 - - thumb_func_start sub_810845C -sub_810845C: @ 810845C - push {lr} - ldr r3, _08108484 @ =gUnknown_02039238 - ldr r2, [r3] - ldrb r0, [r2, 0x1] - ldr r1, _08108488 @ =0x02016800 - ldr r1, [r1, 0x8] - cmp r0, r1 - beq _0810848C - 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, [r3] - b _08108490 - .align 2, 0 -_08108484: .4byte gUnknown_02039238 -_08108488: .4byte 0x02016800 -_0810848C: - adds r0, r2, 0x6 - str r0, [r3] -_08108490: - pop {r0} - bx r0 - thumb_func_end sub_810845C - - thumb_func_start tai28_unk -tai28_unk: @ 8108494 - push {lr} - ldr r0, _081084CC @ =gUnknown_02024C07 - ldrb r0, [r0] - ldr r1, _081084D0 @ =gUnknown_02024C08 - ldrb r1, [r1] - movs r2, 0x1 - bl b_first_side - ldr r3, _081084D4 @ =gUnknown_02039238 - ldr r2, [r3] - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r2, 0x1] - cmp r0, r1 - bne _081084D8 - 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, [r3] - b _081084DC - .align 2, 0 -_081084CC: .4byte gUnknown_02024C07 -_081084D0: .4byte gUnknown_02024C08 -_081084D4: .4byte gUnknown_02039238 -_081084D8: - adds r0, r2, 0x6 - str r0, [r3] -_081084DC: - pop {r0} - bx r0 - thumb_func_end tai28_unk - - thumb_func_start tai29_unk -tai29_unk: @ 81084E0 - push {lr} - ldr r0, _08108518 @ =gUnknown_02024C07 - ldrb r0, [r0] - ldr r1, _0810851C @ =gUnknown_02024C08 - ldrb r1, [r1] - movs r2, 0x1 - bl b_first_side - ldr r3, _08108520 @ =gUnknown_02039238 - ldr r2, [r3] - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r2, 0x1] - cmp r0, r1 - beq _08108524 - 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, [r3] - b _08108528 - .align 2, 0 -_08108518: .4byte gUnknown_02024C07 -_0810851C: .4byte gUnknown_02024C08 -_08108520: .4byte gUnknown_02039238 -_08108524: - adds r0, r2, 0x6 - str r0, [r3] -_08108528: - pop {r0} - bx r0 - thumb_func_end tai29_unk - - thumb_func_start nullsub_25 -nullsub_25: @ 810852C - bx lr - thumb_func_end nullsub_25 - - thumb_func_start nullsub_26 -nullsub_26: @ 8108530 - bx lr - thumb_func_end nullsub_26 - - thumb_func_start tai2C_unk -tai2C_unk: @ 8108534 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r1, _08108550 @ =0x02016800 - movs r0, 0 - str r0, [r1, 0x8] - ldr r0, _08108554 @ =gUnknown_02039238 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x1 - bne _0810855C - ldr r0, _08108558 @ =gUnknown_02024C07 - b _0810855E - .align 2, 0 -_08108550: .4byte 0x02016800 -_08108554: .4byte gUnknown_02039238 -_08108558: .4byte gUnknown_02024C07 -_0810855C: - ldr r0, _081085A8 @ =gUnknown_02024C08 -_0810855E: - ldrb r5, [r0] - adds r0, r5, 0 - bl battle_side_get_owner - lsls r0, 24 - ldr r1, _081085AC @ =gEnemyParty - mov r9, r1 - cmp r0, 0 - bne _08108574 - ldr r0, _081085B0 @ =gPlayerParty - mov r9, r0 -_08108574: - ldr r0, _081085B4 @ =gUnknown_020239F8 - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081085BC - ldr r4, _081085B8 @ =gUnknown_02024A6A - lsls r0, r5, 1 - adds r0, r4 - ldrb r0, [r0] - mov r8, r0 - adds r0, r5, 0 - bl battle_get_per_side_status - movs r1, 0x2 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl battle_get_side_with_given_state - lsls r0, 24 - lsrs r0, 23 - adds r0, r4 - ldrb r6, [r0] - b _081085C6 - .align 2, 0 -_081085A8: .4byte gUnknown_02024C08 -_081085AC: .4byte gEnemyParty -_081085B0: .4byte gPlayerParty -_081085B4: .4byte gUnknown_020239F8 -_081085B8: .4byte gUnknown_02024A6A -_081085BC: - ldr r1, _08108624 @ =gUnknown_02024A6A - lsls r0, r5, 1 - adds r0, r1 - ldrb r6, [r0] - mov r8, r6 -_081085C6: - movs r5, 0 - ldr r7, _08108628 @ =0x02016800 -_081085CA: - cmp r5, r8 - beq _08108608 - cmp r5, r6 - beq _08108608 - movs r0, 0x64 - muls r0, r5 - mov r1, r9 - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _08108608 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - beq _08108608 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _08108608 - ldr r0, [r7, 0x8] - adds r0, 0x1 - str r0, [r7, 0x8] -_08108608: - adds r5, 0x1 - cmp r5, 0x5 - ble _081085CA - ldr r1, _0810862C @ =gUnknown_02039238 - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08108624: .4byte gUnknown_02024A6A -_08108628: .4byte 0x02016800 -_0810862C: .4byte gUnknown_02039238 - thumb_func_end tai2C_unk - - thumb_func_start sub_8108630 -sub_8108630: @ 8108630 - ldr r1, _08108640 @ =0x02016800 - ldrh r0, [r1, 0x2] - str r0, [r1, 0x8] - ldr r1, _08108644 @ =gUnknown_02039238 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_08108640: .4byte 0x02016800 -_08108644: .4byte gUnknown_02039238 - thumb_func_end sub_8108630 - - thumb_func_start sub_8108648 -sub_8108648: @ 8108648 - ldr r3, _08108664 @ =0x02016800 - ldr r2, _08108668 @ =gBattleMoves - ldrh r1, [r3, 0x2] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - str r0, [r3, 0x8] - ldr r1, _0810866C @ =gUnknown_02039238 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - bx lr - .align 2, 0 -_08108664: .4byte 0x02016800 -_08108668: .4byte gBattleMoves -_0810866C: .4byte gUnknown_02039238 - thumb_func_end sub_8108648 - - thumb_func_start sub_8108670 -sub_8108670: @ 8108670 - push {r4-r7,lr} - ldr r0, _08108680 @ =gUnknown_02039238 - ldr r0, [r0] - ldrb r0, [r0, 0x1] - cmp r0, 0x1 - bne _08108688 - ldr r0, _08108684 @ =gUnknown_02024C07 - b _0810868A - .align 2, 0 -_08108680: .4byte gUnknown_02039238 -_08108684: .4byte gUnknown_02024C07 -_08108688: - ldr r0, _081086BC @ =gUnknown_02024C08 -_0810868A: - ldrb r4, [r0] - adds r0, r4, 0 - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _08108774 - adds r0, r4, 0 - bl battle_get_per_side_status - movs r7, 0x1 - adds r1, r7, 0 - ands r1, r0 - ldr r6, _081086C0 @ =0x02016a00 - adds r0, r6, 0 - adds r0, 0x20 - adds r3, r1, r0 - ldrb r0, [r3] - cmp r0, 0 - beq _081086C8 - ldr r0, _081086C4 @ =0xfffffe00 - adds r1, r6, r0 - ldrb r0, [r3] - str r0, [r1, 0x8] - b _08108784 - .align 2, 0 -_081086BC: .4byte gUnknown_02024C08 -_081086C0: .4byte 0x02016a00 -_081086C4: .4byte 0xfffffe00 -_081086C8: - ldr r1, _081086F4 @ =gBattleMons - movs r0, 0x58 - muls r0, r4 - adds r5, r0, r1 - adds r0, r5, 0 - adds r0, 0x20 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x17 - beq _081086E4 - cmp r0, 0x2A - beq _081086E4 - cmp r0, 0x47 - bne _081086FC -_081086E4: - ldr r1, _081086F8 @ =0x02016800 - movs r0, 0x58 - muls r0, r4 - adds r0, r2 - adds r0, 0x20 - ldrb r0, [r0] - str r0, [r1, 0x8] - b _08108784 - .align 2, 0 -_081086F4: .4byte gBattleMons -_081086F8: .4byte 0x02016800 -_081086FC: - ldr r4, _08108734 @ =gBaseStats - ldrh r0, [r5] - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r3, r1, r4 - ldrb r0, [r3, 0x16] - cmp r0, 0 - beq _08108764 - ldrb r0, [r3, 0x17] - cmp r0, 0 - beq _08108754 - bl Random - adds r1, r7, 0 - ands r1, r0 - cmp r1, 0 - beq _0810873C - ldr r0, _08108738 @ =0xfffffe00 - adds r2, r6, r0 - ldrh r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x16] - b _08108782 - .align 2, 0 -_08108734: .4byte gBaseStats -_08108738: .4byte 0xfffffe00 -_0810873C: - ldr r0, _08108750 @ =0xfffffe00 - adds r2, r6, r0 - ldrh r1, [r5] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x17] - b _08108782 - .align 2, 0 -_08108750: .4byte 0xfffffe00 -_08108754: - ldr r0, _08108760 @ =0xfffffe00 - adds r1, r6, r0 - ldrb r0, [r3, 0x16] - str r0, [r1, 0x8] - b _08108784 - .align 2, 0 -_08108760: .4byte 0xfffffe00 -_08108764: - ldr r0, _08108770 @ =0xfffffe00 - adds r1, r6, r0 - ldrb r0, [r3, 0x17] - str r0, [r1, 0x8] - b _08108784 - .align 2, 0 -_08108770: .4byte 0xfffffe00 -_08108774: - ldr r2, _08108794 @ =0x02016800 - ldr r1, _08108798 @ =gBattleMons - movs r0, 0x58 - muls r0, r4 - adds r0, r1 - adds r0, 0x20 - ldrb r0, [r0] -_08108782: - str r0, [r2, 0x8] -_08108784: - ldr r1, _0810879C @ =gUnknown_02039238 - ldr r0, [r1] - adds r0, 0x2 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08108794: .4byte 0x02016800 -_08108798: .4byte gBattleMons -_0810879C: .4byte gUnknown_02039238 - thumb_func_end sub_8108670 - - thumb_func_start tai30_unk -tai30_unk: @ 81087A0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, _0810885C @ =gUnknown_02024DEC - movs r2, 0 - strh r2, [r0] - ldr r1, _08108860 @ =0x02000000 - ldr r3, _08108864 @ =0x0001601c - adds r0, r1, r3 - movs r4, 0 - strb r2, [r0] - adds r3, 0x3 - adds r0, r1, r3 - movs r3, 0x1 - strb r3, [r0] - ldr r0, _08108868 @ =gUnknown_02024C68 - strb r2, [r0] - ldr r0, _0810886C @ =gCritMultiplier - strb r3, [r0] - movs r0, 0xB4 - lsls r0, 9 - adds r1, r0 - str r4, [r1, 0x8] - movs r5, 0 - ldr r4, _08108870 @ =gUnknown_02024BEC - ldr r7, _08108874 @ =gUnknown_02024BE6 - ldr r3, _08108878 @ =gUnknown_02024A8C - mov r8, r3 - ldr r6, _0810887C @ =gUnknown_02024C07 -_081087DA: - movs r0, 0x28 - str r0, [r4] - lsls r1, r5, 1 - ldrb r2, [r6] - movs r0, 0x58 - muls r0, r2 - adds r1, r0 - add r1, r8 - ldrh r0, [r1] - strh r0, [r7] - lsls r0, 16 - cmp r0, 0 - beq _08108844 - ldrh r0, [r7] - ldrb r1, [r6] - ldr r2, _08108880 @ =gUnknown_02024C08 - ldrb r2, [r2] - bl move_effectiveness_something - ldr r0, [r4] - cmp r0, 0x78 - bne _0810880A - movs r0, 0x50 - str r0, [r4] -_0810880A: - ldr r0, [r4] - cmp r0, 0xF0 - bne _08108814 - movs r0, 0xA0 - str r0, [r4] -_08108814: - ldr r0, [r4] - cmp r0, 0x1E - bne _0810881E - movs r0, 0x14 - str r0, [r4] -_0810881E: - ldr r0, [r4] - cmp r0, 0xF - bne _08108828 - movs r0, 0xA - str r0, [r4] -_08108828: - ldr r0, _08108868 @ =gUnknown_02024C68 - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08108838 - movs r0, 0 - str r0, [r4] -_08108838: - ldr r2, _08108884 @ =0x02016800 - ldr r0, [r2, 0x8] - ldr r1, [r4] - cmp r0, r1 - bcs _08108844 - str r1, [r2, 0x8] -_08108844: - adds r5, 0x1 - cmp r5, 0x3 - ble _081087DA - ldr r1, _08108888 @ =gUnknown_02039238 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810885C: .4byte gUnknown_02024DEC -_08108860: .4byte 0x02000000 -_08108864: .4byte 0x0001601c -_08108868: .4byte gUnknown_02024C68 -_0810886C: .4byte gCritMultiplier -_08108870: .4byte gUnknown_02024BEC -_08108874: .4byte gUnknown_02024BE6 -_08108878: .4byte gUnknown_02024A8C -_0810887C: .4byte gUnknown_02024C07 -_08108880: .4byte gUnknown_02024C08 -_08108884: .4byte 0x02016800 -_08108888: .4byte gUnknown_02039238 - thumb_func_end tai30_unk - - thumb_func_start dp15_simulate_damage_bonus_jump_if_eq -dp15_simulate_damage_bonus_jump_if_eq: @ 810888C - push {r4,r5,lr} - ldr r0, _08108928 @ =gUnknown_02024DEC - movs r1, 0 - strh r1, [r0] - ldr r2, _0810892C @ =0x02000000 - ldr r3, _08108930 @ =0x0001601c - adds r0, r2, r3 - strb r1, [r0] - adds r3, 0x3 - adds r0, r2, r3 - movs r3, 0x1 - strb r3, [r0] - ldr r5, _08108934 @ =gUnknown_02024C68 - strb r1, [r5] - ldr r0, _08108938 @ =gCritMultiplier - strb r3, [r0] - ldr r4, _0810893C @ =gUnknown_02024BEC - movs r0, 0x28 - str r0, [r4] - ldr r1, _08108940 @ =gUnknown_02024BE6 - movs r0, 0xB4 - lsls r0, 9 - adds r2, r0 - ldrh r0, [r2, 0x2] - strh r0, [r1] - ldrh r0, [r1] - ldr r1, _08108944 @ =gUnknown_02024C07 - ldrb r1, [r1] - ldr r2, _08108948 @ =gUnknown_02024C08 - ldrb r2, [r2] - bl move_effectiveness_something - ldr r0, [r4] - cmp r0, 0x78 - bne _081088D6 - movs r0, 0x50 - str r0, [r4] -_081088D6: - ldr r0, [r4] - cmp r0, 0xF0 - bne _081088E0 - movs r0, 0xA0 - str r0, [r4] -_081088E0: - ldr r0, [r4] - cmp r0, 0x1E - bne _081088EA - movs r0, 0x14 - str r0, [r4] -_081088EA: - ldr r0, [r4] - cmp r0, 0xF - bne _081088F4 - movs r0, 0xA - str r0, [r4] -_081088F4: - ldrb r1, [r5] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08108902 - movs r0, 0 - str r0, [r4] -_08108902: - ldrb r0, [r4] - ldr r3, _0810894C @ =gUnknown_02039238 - ldr r2, [r3] - ldrb r1, [r2, 0x1] - cmp r0, r1 - bne _08108950 - 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, [r3] - b _08108954 - .align 2, 0 -_08108928: .4byte gUnknown_02024DEC -_0810892C: .4byte 0x02000000 -_08108930: .4byte 0x0001601c -_08108934: .4byte gUnknown_02024C68 -_08108938: .4byte gCritMultiplier -_0810893C: .4byte gUnknown_02024BEC -_08108940: .4byte gUnknown_02024BE6 -_08108944: .4byte gUnknown_02024C07 -_08108948: .4byte gUnknown_02024C08 -_0810894C: .4byte gUnknown_02039238 -_08108950: - adds r0, r2, 0x6 - str r0, [r3] -_08108954: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end dp15_simulate_damage_bonus_jump_if_eq - - thumb_func_start nullsub_71 -nullsub_71: @ 810895C - bx lr - thumb_func_end nullsub_71 - - thumb_func_start nullsub_90 -nullsub_90: @ 8108960 - bx lr - thumb_func_end nullsub_90 - - thumb_func_start sub_8108964 -sub_8108964: @ 8108964 + + thumb_func_start BattleAICmd_if_status_in_party +BattleAICmd_if_status_in_party: @ 8108964 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r0, _0810897C @ =gUnknown_02039238 + ldr r0, _0810897C @ =gAIScriptPtr ldr r1, [r0] ldrb r1, [r1, 0x1] cmp r1, 0x1 @@ -3357,10 +21,10 @@ sub_8108964: @ 8108964 ldr r1, _08108980 @ =gEnemyParty b _081089A6 .align 2, 0 -_0810897C: .4byte gUnknown_02039238 +_0810897C: .4byte gAIScriptPtr _08108980: .4byte gEnemyParty _08108984: - ldr r3, _081089A0 @ =gUnknown_02039238 + ldr r3, _081089A0 @ =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2, 0x6] ldrb r0, [r2, 0x7] @@ -3375,7 +39,7 @@ _08108984: str r1, [r3] b _08108A12 .align 2, 0 -_081089A0: .4byte gUnknown_02039238 +_081089A0: .4byte gAIScriptPtr _081089A4: ldr r1, _08108A20 @ =gPlayerParty _081089A6: @@ -3428,7 +92,7 @@ _08108A00: mov r1, r8 cmp r1, 0x5 ble _081089C8 - ldr r1, _08108A24 @ =gUnknown_02039238 + ldr r1, _08108A24 @ =gAIScriptPtr ldr r0, [r1] adds r0, 0xA str r0, [r1] @@ -3442,17 +106,17 @@ _08108A12: bx r0 .align 2, 0 _08108A20: .4byte gPlayerParty -_08108A24: .4byte gUnknown_02039238 - thumb_func_end sub_8108964 +_08108A24: .4byte gAIScriptPtr + thumb_func_end BattleAICmd_if_status_in_party - thumb_func_start sub_8108A28 -sub_8108A28: @ 8108A28 + thumb_func_start BattleAICmd_if_status_not_in_party +BattleAICmd_if_status_not_in_party: @ 8108A28 push {r4-r7,lr} mov r7, r10 mov r6, r9 mov r5, r8 push {r5-r7} - ldr r0, _08108A44 @ =gUnknown_02039238 + ldr r0, _08108A44 @ =gAIScriptPtr ldr r1, [r0] ldrb r1, [r1, 0x1] adds r2, r0, 0 @@ -3462,7 +126,7 @@ sub_8108A28: @ 8108A28 mov r10, r0 b _08108A50 .align 2, 0 -_08108A44: .4byte gUnknown_02039238 +_08108A44: .4byte gAIScriptPtr _08108A48: .4byte gEnemyParty _08108A4C: ldr r1, _08108AE4 @ =gPlayerParty @@ -3520,7 +184,7 @@ _08108AB0: mov r1, r8 cmp r1, 0x5 ble _08108A6C - ldr r3, _08108AE8 @ =gUnknown_02039238 + ldr r3, _08108AE8 @ =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2, 0x6] ldrb r0, [r2, 0x7] @@ -3542,11 +206,11 @@ _08108AB0: bx r0 .align 2, 0 _08108AE4: .4byte gPlayerParty -_08108AE8: .4byte gUnknown_02039238 - thumb_func_end sub_8108A28 +_08108AE8: .4byte gAIScriptPtr + thumb_func_end BattleAICmd_if_status_not_in_party - thumb_func_start sub_8108AEC -sub_8108AEC: @ 8108AEC + thumb_func_start BattleAICmd_unk_36 +BattleAICmd_unk_36: @ 8108AEC push {lr} ldr r2, _08108B3C @ =word_2024DB8 ldrh r1, [r2] @@ -3584,7 +248,7 @@ _08108B20: movs r0, 0x3 str r0, [r1, 0x8] _08108B2E: - ldr r1, _08108B44 @ =gUnknown_02039238 + ldr r1, _08108B44 @ =gAIScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -3593,11 +257,11 @@ _08108B2E: .align 2, 0 _08108B3C: .4byte word_2024DB8 _08108B40: .4byte 0x02016800 -_08108B44: .4byte gUnknown_02039238 - thumb_func_end sub_8108AEC +_08108B44: .4byte gAIScriptPtr + thumb_func_end BattleAICmd_unk_36 - thumb_func_start sub_8108B48 -sub_8108B48: @ 8108B48 + thumb_func_start BattleAICmd_if_effect +BattleAICmd_if_effect: @ 8108B48 push {lr} ldr r2, _08108B7C @ =gBattleMoves ldr r0, _08108B80 @ =0x02016800 @@ -3606,7 +270,7 @@ sub_8108B48: @ 8108B48 adds r0, r1 lsls r0, 2 adds r0, r2 - ldr r3, _08108B84 @ =gUnknown_02039238 + ldr r3, _08108B84 @ =gAIScriptPtr ldr r2, [r3] ldrb r0, [r0] ldrb r1, [r2, 0x1] @@ -3627,17 +291,17 @@ sub_8108B48: @ 8108B48 .align 2, 0 _08108B7C: .4byte gBattleMoves _08108B80: .4byte 0x02016800 -_08108B84: .4byte gUnknown_02039238 +_08108B84: .4byte gAIScriptPtr _08108B88: adds r0, r2, 0x6 str r0, [r3] _08108B8C: pop {r0} bx r0 - thumb_func_end sub_8108B48 + thumb_func_end BattleAICmd_if_effect - thumb_func_start sub_8108B90 -sub_8108B90: @ 8108B90 + thumb_func_start BattleAICmd_if_not_effect +BattleAICmd_if_not_effect: @ 8108B90 push {lr} ldr r2, _08108BC4 @ =gBattleMoves ldr r0, _08108BC8 @ =0x02016800 @@ -3646,7 +310,7 @@ sub_8108B90: @ 8108B90 adds r0, r1 lsls r0, 2 adds r0, r2 - ldr r3, _08108BCC @ =gUnknown_02039238 + ldr r3, _08108BCC @ =gAIScriptPtr ldr r2, [r3] ldrb r0, [r0] ldrb r1, [r2, 0x1] @@ -3667,19 +331,19 @@ sub_8108B90: @ 8108B90 .align 2, 0 _08108BC4: .4byte gBattleMoves _08108BC8: .4byte 0x02016800 -_08108BCC: .4byte gUnknown_02039238 +_08108BCC: .4byte gAIScriptPtr _08108BD0: adds r0, r2, 0x6 str r0, [r3] _08108BD4: pop {r0} bx r0 - thumb_func_end sub_8108B90 + thumb_func_end BattleAICmd_if_not_effect - thumb_func_start sub_8108BD8 -sub_8108BD8: @ 8108BD8 + thumb_func_start BattleAICmd_if_stat_level_less_than +BattleAICmd_if_stat_level_less_than: @ 8108BD8 push {r4,lr} - ldr r0, _08108BEC @ =gUnknown_02039238 + ldr r0, _08108BEC @ =gAIScriptPtr ldr r1, [r0] ldrb r1, [r1, 0x1] adds r4, r0, 0 @@ -3688,7 +352,7 @@ sub_8108BD8: @ 8108BD8 ldr r0, _08108BF0 @ =gUnknown_02024C07 b _08108BF6 .align 2, 0 -_08108BEC: .4byte gUnknown_02039238 +_08108BEC: .4byte gAIScriptPtr _08108BF0: .4byte gUnknown_02024C07 _08108BF4: ldr r0, _08108C2C @ =gUnknown_02024C08 @@ -3731,12 +395,12 @@ _08108C3A: pop {r4} pop {r0} bx r0 - thumb_func_end sub_8108BD8 + thumb_func_end BattleAICmd_if_stat_level_less_than - thumb_func_start sub_8108C40 -sub_8108C40: @ 8108C40 + thumb_func_start BattleAICmd_if_stat_level_more_than +BattleAICmd_if_stat_level_more_than: @ 8108C40 push {r4,lr} - ldr r0, _08108C54 @ =gUnknown_02039238 + ldr r0, _08108C54 @ =gAIScriptPtr ldr r1, [r0] ldrb r1, [r1, 0x1] adds r4, r0, 0 @@ -3745,7 +409,7 @@ sub_8108C40: @ 8108C40 ldr r0, _08108C58 @ =gUnknown_02024C07 b _08108C5E .align 2, 0 -_08108C54: .4byte gUnknown_02039238 +_08108C54: .4byte gAIScriptPtr _08108C58: .4byte gUnknown_02024C07 _08108C5C: ldr r0, _08108C94 @ =gUnknown_02024C08 @@ -3788,12 +452,12 @@ _08108CA2: pop {r4} pop {r0} bx r0 - thumb_func_end sub_8108C40 + thumb_func_end BattleAICmd_if_stat_level_more_than - thumb_func_start sub_8108CA8 -sub_8108CA8: @ 8108CA8 + thumb_func_start BattleAICmd_if_stat_level_equal +BattleAICmd_if_stat_level_equal: @ 8108CA8 push {r4,lr} - ldr r0, _08108CBC @ =gUnknown_02039238 + ldr r0, _08108CBC @ =gAIScriptPtr ldr r1, [r0] ldrb r1, [r1, 0x1] adds r4, r0, 0 @@ -3802,7 +466,7 @@ sub_8108CA8: @ 8108CA8 ldr r0, _08108CC0 @ =gUnknown_02024C07 b _08108CC6 .align 2, 0 -_08108CBC: .4byte gUnknown_02039238 +_08108CBC: .4byte gAIScriptPtr _08108CC0: .4byte gUnknown_02024C07 _08108CC4: ldr r0, _08108CFC @ =gUnknown_02024C08 @@ -3845,12 +509,12 @@ _08108D0A: pop {r4} pop {r0} bx r0 - thumb_func_end sub_8108CA8 + thumb_func_end BattleAICmd_if_stat_level_equal - thumb_func_start sub_8108D10 -sub_8108D10: @ 8108D10 + thumb_func_start BattleAICmd_if_stat_level_not_equal +BattleAICmd_if_stat_level_not_equal: @ 8108D10 push {r4,lr} - ldr r0, _08108D24 @ =gUnknown_02039238 + ldr r0, _08108D24 @ =gAIScriptPtr ldr r1, [r0] ldrb r1, [r1, 0x1] adds r4, r0, 0 @@ -3859,7 +523,7 @@ sub_8108D10: @ 8108D10 ldr r0, _08108D28 @ =gUnknown_02024C07 b _08108D2E .align 2, 0 -_08108D24: .4byte gUnknown_02039238 +_08108D24: .4byte gAIScriptPtr _08108D28: .4byte gUnknown_02024C07 _08108D2C: ldr r0, _08108D64 @ =gUnknown_02024C08 @@ -3902,10 +566,10 @@ _08108D72: pop {r4} pop {r0} bx r0 - thumb_func_end sub_8108D10 + thumb_func_end BattleAICmd_if_stat_level_not_equal - thumb_func_start tai3D_unk -tai3D_unk: @ 8108D78 + thumb_func_start BattleAICmd_if_can_faint +BattleAICmd_if_can_faint: @ 8108D78 push {r4-r7,lr} mov r7, r8 push {r7} @@ -3972,7 +636,7 @@ _08108DEE: ldr r0, [r4] cmp r1, r0 bgt _08108E4C - ldr r3, _08108E48 @ =gUnknown_02039238 + ldr r3, _08108E48 @ =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -3998,9 +662,9 @@ _08108E38: .4byte gUnknown_02024C07 _08108E3C: .4byte gUnknown_02024C08 _08108E40: .4byte gUnknown_02024BEC _08108E44: .4byte gBattleMons -_08108E48: .4byte gUnknown_02039238 +_08108E48: .4byte gAIScriptPtr _08108E4C: - ldr r1, _08108E60 @ =gUnknown_02039238 + ldr r1, _08108E60 @ =gAIScriptPtr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -4011,11 +675,11 @@ _08108E54: pop {r0} bx r0 .align 2, 0 -_08108E60: .4byte gUnknown_02039238 - thumb_func_end tai3D_unk +_08108E60: .4byte gAIScriptPtr + thumb_func_end BattleAICmd_if_can_faint - thumb_func_start dp15_determine_move_damage_jump_if_not_fatal -dp15_determine_move_damage_jump_if_not_fatal: @ 8108E64 + thumb_func_start BattleAICmd_if_cant_faint +BattleAICmd_if_cant_faint: @ 8108E64 push {r4-r7,lr} ldr r2, _08108EF8 @ =gBattleMoves ldr r7, _08108EFC @ =0x02016800 @@ -4072,7 +736,7 @@ dp15_determine_move_damage_jump_if_not_fatal: @ 8108E64 ldrh r1, [r1, 0x28] cmp r1, r0 ble _08108F28 - ldr r3, _08108F24 @ =gUnknown_02039238 + ldr r3, _08108F24 @ =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -4098,9 +762,9 @@ _08108F14: .4byte gUnknown_02024C07 _08108F18: .4byte gUnknown_02024C08 _08108F1C: .4byte gUnknown_02024BEC _08108F20: .4byte gBattleMons -_08108F24: .4byte gUnknown_02039238 +_08108F24: .4byte gAIScriptPtr _08108F28: - ldr r1, _08108F38 @ =gUnknown_02039238 + ldr r1, _08108F38 @ =gAIScriptPtr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -4109,13 +773,13 @@ _08108F30: pop {r0} bx r0 .align 2, 0 -_08108F38: .4byte gUnknown_02039238 - thumb_func_end dp15_determine_move_damage_jump_if_not_fatal +_08108F38: .4byte gAIScriptPtr + thumb_func_end BattleAICmd_if_cant_faint - thumb_func_start tai40_unk -tai40_unk: @ 8108F3C + thumb_func_start BattleAICmd_unk_3F +BattleAICmd_unk_3F: @ 8108F3C push {r4-r7,lr} - ldr r1, _08108F58 @ =gUnknown_02039238 + ldr r1, _08108F58 @ =gAIScriptPtr ldr r0, [r1] adds r6, r0, 0x2 ldrb r0, [r0, 0x1] @@ -4128,7 +792,7 @@ tai40_unk: @ 8108F3C beq _08108FA8 b _08109008 .align 2, 0 -_08108F58: .4byte gUnknown_02039238 +_08108F58: .4byte gAIScriptPtr _08108F5C: cmp r0, 0x2 beq _08108FA8 @@ -4225,12 +889,12 @@ _08109008: pop {r4-r7} pop {r0} bx r0 - thumb_func_end tai40_unk + thumb_func_end BattleAICmd_unk_3F - thumb_func_start sub_8109010 -sub_8109010: @ 8109010 + thumb_func_start BattleAICmd_unk_40 +BattleAICmd_unk_40: @ 8109010 push {r4-r7,lr} - ldr r1, _0810902C @ =gUnknown_02039238 + ldr r1, _0810902C @ =gAIScriptPtr ldr r0, [r1] adds r6, r0, 0x2 ldrb r0, [r0, 0x1] @@ -4243,7 +907,7 @@ sub_8109010: @ 8109010 beq _0810907C b _081090DC .align 2, 0 -_0810902C: .4byte gUnknown_02039238 +_0810902C: .4byte gAIScriptPtr _08109030: cmp r0, 0x2 beq _0810907C @@ -4340,12 +1004,12 @@ _081090DC: pop {r4-r7} pop {r0} bx r0 - thumb_func_end sub_8109010 + thumb_func_end BattleAICmd_unk_40 - thumb_func_start sub_81090E4 -sub_81090E4: @ 81090E4 + thumb_func_start BattleAICmd_if_move_effect +BattleAICmd_if_move_effect: @ 81090E4 push {r4-r7,lr} - ldr r1, _081090FC @ =gUnknown_02039238 + ldr r1, _081090FC @ =gAIScriptPtr ldr r0, [r1] ldrb r0, [r0, 0x1] adds r4, r1, 0 @@ -4357,7 +1021,7 @@ sub_81090E4: @ 81090E4 beq _0810915C b _081091B8 .align 2, 0 -_081090FC: .4byte gUnknown_02039238 +_081090FC: .4byte gAIScriptPtr _08109100: cmp r0, 0x2 beq _0810915C @@ -4373,7 +1037,7 @@ _08109108: muls r0, r2 adds r1, 0xC adds r2, r0, r1 - ldr r5, _08109158 @ =gUnknown_02039238 + ldr r5, _08109158 @ =gAIScriptPtr _0810911C: ldrh r0, [r2] cmp r0, 0 @@ -4404,7 +1068,7 @@ _0810913E: _0810914C: .4byte gBattleMons _08109150: .4byte gUnknown_02024C07 _08109154: .4byte gBattleMoves -_08109158: .4byte gUnknown_02039238 +_08109158: .4byte gAIScriptPtr _0810915C: movs r3, 0 ldr r1, _081091C0 @ =gBattleMons @@ -4465,12 +1129,12 @@ _081091C4: .4byte gUnknown_02024C07 _081091C8: .4byte gBattleMoves _081091CC: .4byte 0x02016a00 _081091D0: .4byte gUnknown_02024C08 - thumb_func_end sub_81090E4 + thumb_func_end BattleAICmd_if_move_effect - thumb_func_start sub_81091D4 -sub_81091D4: @ 81091D4 + thumb_func_start BattleAICmd_if_not_move_effect +BattleAICmd_if_not_move_effect: @ 81091D4 push {r4-r6,lr} - ldr r1, _081091EC @ =gUnknown_02039238 + ldr r1, _081091EC @ =gAIScriptPtr ldr r0, [r1] ldrb r0, [r0, 0x1] adds r4, r1, 0 @@ -4482,7 +1146,7 @@ sub_81091D4: @ 81091D4 beq _0810925C b _08109294 .align 2, 0 -_081091EC: .4byte gUnknown_02039238 +_081091EC: .4byte gAIScriptPtr _081091F0: cmp r0, 0x2 beq _0810925C @@ -4498,7 +1162,7 @@ _081091F8: muls r0, r2 adds r1, 0xC adds r2, r0, r1 - ldr r5, _08109258 @ =gUnknown_02039238 + ldr r5, _08109258 @ =gAIScriptPtr _0810920C: ldrh r0, [r2] cmp r0, 0 @@ -4538,7 +1202,7 @@ _0810922E: _0810924C: .4byte gBattleMons _08109250: .4byte gUnknown_02024C07 _08109254: .4byte gBattleMoves -_08109258: .4byte gUnknown_02039238 +_08109258: .4byte gAIScriptPtr _0810925C: movs r3, 0 ldr r1, _0810929C @ =0x02016a00 @@ -4579,12 +1243,12 @@ _08109294: _0810929C: .4byte 0x02016a00 _081092A0: .4byte gUnknown_02024C08 _081092A4: .4byte gBattleMoves - thumb_func_end sub_81091D4 + thumb_func_end BattleAICmd_if_not_move_effect - thumb_func_start tai43_unk -tai43_unk: @ 81092A8 + thumb_func_start BattleAICmd_if_last_move_did_damage +BattleAICmd_if_last_move_did_damage: @ 81092A8 push {r4,r5,lr} - ldr r0, _081092BC @ =gUnknown_02039238 + ldr r0, _081092BC @ =gAIScriptPtr ldr r1, [r0] ldrb r1, [r1, 0x1] adds r5, r0, 0 @@ -4593,7 +1257,7 @@ tai43_unk: @ 81092A8 ldr r0, _081092C0 @ =gUnknown_02024C07 b _081092C6 .align 2, 0 -_081092BC: .4byte gUnknown_02039238 +_081092BC: .4byte gAIScriptPtr _081092C0: .4byte gUnknown_02024C07 _081092C4: ldr r0, _081092E4 @ =gUnknown_02024C08 @@ -4654,12 +1318,12 @@ _08109328: pop {r4,r5} pop {r0} bx r0 - thumb_func_end tai43_unk + thumb_func_end BattleAICmd_if_last_move_did_damage - thumb_func_start sub_8109330 -sub_8109330: @ 8109330 + thumb_func_start BattleAICmd_if_encored +BattleAICmd_if_encored: @ 8109330 push {r4,lr} - ldr r4, _08109344 @ =gUnknown_02039238 + ldr r4, _08109344 @ =gAIScriptPtr ldr r3, [r4] ldrb r0, [r3, 0x1] cmp r0, 0 @@ -4668,7 +1332,7 @@ sub_8109330: @ 8109330 beq _08109370 b _081093AC .align 2, 0 -_08109344: .4byte gUnknown_02039238 +_08109344: .4byte gAIScriptPtr _08109348: ldr r2, _08109364 @ =gUnknown_02024CA8 ldr r0, _08109368 @ =gUnknown_02024A60 @@ -4724,10 +1388,10 @@ _081093B0: pop {r4} pop {r0} bx r0 - thumb_func_end sub_8109330 + thumb_func_end BattleAICmd_if_encored - thumb_func_start sub_81093B8 -sub_81093B8: @ 81093B8 + thumb_func_start BattleAICmd_unk_45 +BattleAICmd_unk_45: @ 81093B8 ldr r2, _081093C4 @ =0x02016800 ldrb r1, [r2, 0x10] movs r0, 0xB @@ -4736,10 +1400,10 @@ sub_81093B8: @ 81093B8 bx lr .align 2, 0 _081093C4: .4byte 0x02016800 - thumb_func_end sub_81093B8 + thumb_func_end BattleAICmd_unk_45 - thumb_func_start sub_81093C8 -sub_81093C8: @ 81093C8 + thumb_func_start BattleAICmd_if_random_2 +BattleAICmd_if_random_2: @ 81093C8 push {r4,lr} ldr r0, _0810940C @ =0x02000000 ldr r1, _08109410 @ =0x00016088 @@ -4758,7 +1422,7 @@ sub_81093C8: @ 81093C8 lsrs r0, 24 cmp r0, r4 bcs _08109418 - ldr r3, _08109414 @ =gUnknown_02039238 + ldr r3, _08109414 @ =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -4775,9 +1439,9 @@ sub_81093C8: @ 81093C8 .align 2, 0 _0810940C: .4byte 0x02000000 _08109410: .4byte 0x00016088 -_08109414: .4byte gUnknown_02039238 +_08109414: .4byte gAIScriptPtr _08109418: - ldr r1, _08109428 @ =gUnknown_02039238 + ldr r1, _08109428 @ =gAIScriptPtr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -4786,11 +1450,11 @@ _08109420: pop {r0} bx r0 .align 2, 0 -_08109428: .4byte gUnknown_02039238 - thumb_func_end sub_81093C8 +_08109428: .4byte gAIScriptPtr + thumb_func_end BattleAICmd_if_random_2 - thumb_func_start sub_810942C -sub_810942C: @ 810942C + thumb_func_start BattleAICmd_unk_47 +BattleAICmd_unk_47: @ 810942C ldr r2, _08109438 @ =0x02016800 ldrb r1, [r2, 0x10] movs r0, 0xD @@ -4799,12 +1463,12 @@ sub_810942C: @ 810942C bx lr .align 2, 0 _08109438: .4byte 0x02016800 - thumb_func_end sub_810942C + thumb_func_end BattleAICmd_unk_47 - thumb_func_start dp15_get_held_item_x12__8 -dp15_get_held_item_x12__8: @ 810943C + thumb_func_start BattleAICmd_get_hold_effect +BattleAICmd_get_hold_effect: @ 810943C push {r4,lr} - ldr r0, _0810944C @ =gUnknown_02039238 + ldr r0, _0810944C @ =gAIScriptPtr ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x1 @@ -4812,7 +1476,7 @@ dp15_get_held_item_x12__8: @ 810943C ldr r0, _08109450 @ =gUnknown_02024C07 b _08109456 .align 2, 0 -_0810944C: .4byte gUnknown_02039238 +_0810944C: .4byte gAIScriptPtr _08109450: .4byte gUnknown_02024C07 _08109454: ldr r0, _0810947C @ =gUnknown_02024C08 @@ -4850,7 +1514,7 @@ _08109488: lsrs r0, 24 str r0, [r1, 0x8] _0810949E: - ldr r1, _081094B4 @ =gUnknown_02039238 + ldr r1, _081094B4 @ =gAIScriptPtr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -4860,13 +1524,13 @@ _0810949E: .align 2, 0 _081094AC: .4byte gBattleMons _081094B0: .4byte 0x02016800 -_081094B4: .4byte gUnknown_02039238 - thumb_func_end dp15_get_held_item_x12__8 +_081094B4: .4byte gAIScriptPtr + thumb_func_end BattleAICmd_get_hold_effect - thumb_func_start tai49_unk -tai49_unk: @ 81094B8 + thumb_func_start BattleAICmd_get_gender +BattleAICmd_get_gender: @ 81094B8 push {lr} - ldr r0, _081094C8 @ =gUnknown_02039238 + ldr r0, _081094C8 @ =gAIScriptPtr ldr r0, [r0] ldrb r0, [r0, 0x1] cmp r0, 0x1 @@ -4874,7 +1538,7 @@ tai49_unk: @ 81094B8 ldr r0, _081094CC @ =gUnknown_02024C07 b _081094D2 .align 2, 0 -_081094C8: .4byte gUnknown_02039238 +_081094C8: .4byte gAIScriptPtr _081094CC: .4byte gUnknown_02024C07 _081094D0: ldr r0, _081094FC @ =gUnknown_02024C08 @@ -4893,7 +1557,7 @@ _081094D2: lsls r0, 24 lsrs r0, 24 str r0, [r1, 0x8] - ldr r1, _08109508 @ =gUnknown_02039238 + ldr r1, _08109508 @ =gAIScriptPtr ldr r0, [r1] adds r0, 0x2 str r0, [r1] @@ -4903,13 +1567,13 @@ _081094D2: _081094FC: .4byte gUnknown_02024C08 _08109500: .4byte gBattleMons _08109504: .4byte 0x02016800 -_08109508: .4byte gUnknown_02039238 - thumb_func_end tai49_unk +_08109508: .4byte gAIScriptPtr + thumb_func_end BattleAICmd_get_gender - thumb_func_start sub_810950C -sub_810950C: @ 810950C + thumb_func_start BattleAICmd_is_first_turn +BattleAICmd_is_first_turn: @ 810950C push {r4,lr} - ldr r0, _08109520 @ =gUnknown_02039238 + ldr r0, _08109520 @ =gAIScriptPtr ldr r1, [r0] ldrb r1, [r1, 0x1] adds r4, r0, 0 @@ -4918,7 +1582,7 @@ sub_810950C: @ 810950C ldr r0, _08109524 @ =gUnknown_02024C07 b _0810952A .align 2, 0 -_08109520: .4byte gUnknown_02039238 +_08109520: .4byte gAIScriptPtr _08109524: .4byte gUnknown_02024C07 _08109528: ldr r0, _08109548 @ =gUnknown_02024C08 @@ -4942,12 +1606,12 @@ _0810952A: _08109548: .4byte gUnknown_02024C08 _0810954C: .4byte 0x02016800 _08109550: .4byte gUnknown_02024CA8 - thumb_func_end sub_810950C + thumb_func_end BattleAICmd_is_first_turn - thumb_func_start sub_8109554 -sub_8109554: @ 8109554 + thumb_func_start BattleAICmd_get_stockpile_count +BattleAICmd_get_stockpile_count: @ 8109554 push {r4,lr} - ldr r0, _08109568 @ =gUnknown_02039238 + ldr r0, _08109568 @ =gAIScriptPtr ldr r1, [r0] ldrb r1, [r1, 0x1] adds r4, r0, 0 @@ -4956,7 +1620,7 @@ sub_8109554: @ 8109554 ldr r0, _0810956C @ =gUnknown_02024C07 b _08109572 .align 2, 0 -_08109568: .4byte gUnknown_02039238 +_08109568: .4byte gAIScriptPtr _0810956C: .4byte gUnknown_02024C07 _08109570: ldr r0, _08109590 @ =gUnknown_02024C08 @@ -4980,17 +1644,17 @@ _08109572: _08109590: .4byte gUnknown_02024C08 _08109594: .4byte 0x02016800 _08109598: .4byte gUnknown_02024CA8 - thumb_func_end sub_8109554 + thumb_func_end BattleAICmd_get_stockpile_count - thumb_func_start sub_810959C -sub_810959C: @ 810959C + thumb_func_start BattleAICmd_unk_4C +BattleAICmd_unk_4C: @ 810959C ldr r2, _081095B4 @ =0x02016800 ldr r0, _081095B8 @ =gUnknown_020239F8 ldrh r1, [r0] movs r0, 0x1 ands r0, r1 str r0, [r2, 0x8] - ldr r1, _081095BC @ =gUnknown_02039238 + ldr r1, _081095BC @ =gAIScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -4998,13 +1662,13 @@ sub_810959C: @ 810959C .align 2, 0 _081095B4: .4byte 0x02016800 _081095B8: .4byte gUnknown_020239F8 -_081095BC: .4byte gUnknown_02039238 - thumb_func_end sub_810959C +_081095BC: .4byte gAIScriptPtr + thumb_func_end BattleAICmd_unk_4C - thumb_func_start sub_81095C0 -sub_81095C0: @ 81095C0 + thumb_func_start BattleAICmd_get_item +BattleAICmd_get_item: @ 81095C0 push {lr} - ldr r0, _081095D4 @ =gUnknown_02039238 + ldr r0, _081095D4 @ =gAIScriptPtr ldr r1, [r0] ldrb r1, [r1, 0x1] adds r2, r0, 0 @@ -5013,7 +1677,7 @@ sub_81095C0: @ 81095C0 ldr r0, _081095D8 @ =gUnknown_02024C07 b _081095DE .align 2, 0 -_081095D4: .4byte gUnknown_02039238 +_081095D4: .4byte gAIScriptPtr _081095D8: .4byte gUnknown_02024C07 _081095DC: ldr r0, _081095F8 @ =gUnknown_02024C08 @@ -5035,10 +1699,10 @@ _081095DE: _081095F8: .4byte gUnknown_02024C08 _081095FC: .4byte 0x02016800 _08109600: .4byte 0xfffff8cc - thumb_func_end sub_81095C0 + thumb_func_end BattleAICmd_get_item - thumb_func_start sub_8109604 -sub_8109604: @ 8109604 + thumb_func_start BattleAICmd_unk_4E +BattleAICmd_unk_4E: @ 8109604 ldr r3, _08109620 @ =0x02016800 ldr r2, _08109624 @ =gBattleMoves ldr r1, [r3, 0x8] @@ -5048,7 +1712,7 @@ sub_8109604: @ 8109604 adds r0, r2 ldrb r0, [r0, 0x2] str r0, [r3, 0x8] - ldr r1, _08109628 @ =gUnknown_02039238 + ldr r1, _08109628 @ =gAIScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -5056,11 +1720,11 @@ sub_8109604: @ 8109604 .align 2, 0 _08109620: .4byte 0x02016800 _08109624: .4byte gBattleMoves -_08109628: .4byte gUnknown_02039238 - thumb_func_end sub_8109604 +_08109628: .4byte gAIScriptPtr + thumb_func_end BattleAICmd_unk_4E - thumb_func_start sub_810962C -sub_810962C: @ 810962C + thumb_func_start BattleAICmd_unk_4F +BattleAICmd_unk_4F: @ 810962C ldr r3, _08109648 @ =0x02016800 ldr r2, _0810964C @ =gBattleMoves ldr r1, [r3, 0x8] @@ -5070,7 +1734,7 @@ sub_810962C: @ 810962C adds r0, r2 ldrb r0, [r0, 0x1] str r0, [r3, 0x8] - ldr r1, _08109650 @ =gUnknown_02039238 + ldr r1, _08109650 @ =gAIScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -5078,11 +1742,11 @@ sub_810962C: @ 810962C .align 2, 0 _08109648: .4byte 0x02016800 _0810964C: .4byte gBattleMoves -_08109650: .4byte gUnknown_02039238 - thumb_func_end sub_810962C +_08109650: .4byte gAIScriptPtr + thumb_func_end BattleAICmd_unk_4F - thumb_func_start sub_8109654 -sub_8109654: @ 8109654 + thumb_func_start BattleAICmd_unk_50 +BattleAICmd_unk_50: @ 8109654 ldr r3, _08109670 @ =0x02016800 ldr r2, _08109674 @ =gBattleMoves ldr r1, [r3, 0x8] @@ -5092,7 +1756,7 @@ sub_8109654: @ 8109654 adds r0, r2 ldrb r0, [r0] str r0, [r3, 0x8] - ldr r1, _08109678 @ =gUnknown_02039238 + ldr r1, _08109678 @ =gAIScriptPtr ldr r0, [r1] adds r0, 0x1 str r0, [r1] @@ -5100,13 +1764,13 @@ sub_8109654: @ 8109654 .align 2, 0 _08109670: .4byte 0x02016800 _08109674: .4byte gBattleMoves -_08109678: .4byte gUnknown_02039238 - thumb_func_end sub_8109654 +_08109678: .4byte gAIScriptPtr + thumb_func_end BattleAICmd_unk_50 - thumb_func_start sub_810967C -sub_810967C: @ 810967C + thumb_func_start BattleAICmd_get_protect_count +BattleAICmd_get_protect_count: @ 810967C push {r4,lr} - ldr r0, _08109690 @ =gUnknown_02039238 + ldr r0, _08109690 @ =gAIScriptPtr ldr r1, [r0] ldrb r1, [r1, 0x1] adds r4, r0, 0 @@ -5115,7 +1779,7 @@ sub_810967C: @ 810967C ldr r0, _08109694 @ =gUnknown_02024C07 b _0810969A .align 2, 0 -_08109690: .4byte gUnknown_02039238 +_08109690: .4byte gAIScriptPtr _08109694: .4byte gUnknown_02024C07 _08109698: ldr r0, _081096B8 @ =gUnknown_02024C08 @@ -5139,42 +1803,42 @@ _0810969A: _081096B8: .4byte gUnknown_02024C08 _081096BC: .4byte 0x02016800 _081096C0: .4byte gUnknown_02024CA8 - thumb_func_end sub_810967C + thumb_func_end BattleAICmd_get_protect_count - thumb_func_start nullsub_27 -nullsub_27: @ 81096C4 + thumb_func_start BattleAICmd_unk_52 +BattleAICmd_unk_52: @ 81096C4 bx lr - thumb_func_end nullsub_27 + thumb_func_end BattleAICmd_unk_52 - thumb_func_start nullsub_28 -nullsub_28: @ 81096C8 + thumb_func_start BattleAICmd_unk_53 +BattleAICmd_unk_53: @ 81096C8 bx lr - thumb_func_end nullsub_28 + thumb_func_end BattleAICmd_unk_53 - thumb_func_start nullsub_29 -nullsub_29: @ 81096CC + thumb_func_start BattleAICmd_unk_54 +BattleAICmd_unk_54: @ 81096CC bx lr - thumb_func_end nullsub_29 + thumb_func_end BattleAICmd_unk_54 - thumb_func_start nullsub_30 -nullsub_30: @ 81096D0 + thumb_func_start BattleAICmd_unk_55 +BattleAICmd_unk_55: @ 81096D0 bx lr - thumb_func_end nullsub_30 + thumb_func_end BattleAICmd_unk_55 - thumb_func_start nullsub_31 -nullsub_31: @ 81096D4 + thumb_func_start BattleAICmd_unk_56 +BattleAICmd_unk_56: @ 81096D4 bx lr - thumb_func_end nullsub_31 + thumb_func_end BattleAICmd_unk_56 - thumb_func_start nullsub_32 -nullsub_32: @ 81096D8 + thumb_func_start BattleAICmd_unk_57 +BattleAICmd_unk_57: @ 81096D8 bx lr - thumb_func_end nullsub_32 + thumb_func_end BattleAICmd_unk_57 - thumb_func_start sub_81096DC -sub_81096DC: @ 81096DC + thumb_func_start BattleAICmd_call +BattleAICmd_call: @ 81096DC push {r4,lr} - ldr r4, _08109708 @ =gUnknown_02039238 + ldr r4, _08109708 @ =gAIScriptPtr ldr r0, [r4] adds r0, 0x5 bl sub_81098C4 @@ -5194,12 +1858,12 @@ sub_81096DC: @ 81096DC pop {r0} bx r0 .align 2, 0 -_08109708: .4byte gUnknown_02039238 - thumb_func_end sub_81096DC +_08109708: .4byte gAIScriptPtr + thumb_func_end BattleAICmd_call - thumb_func_start sub_810970C -sub_810970C: @ 810970C - ldr r3, _08109728 @ =gUnknown_02039238 + thumb_func_start BattleAICmd_jump +BattleAICmd_jump: @ 810970C + ldr r3, _08109728 @ =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -5214,11 +1878,11 @@ sub_810970C: @ 810970C str r1, [r3] bx lr .align 2, 0 -_08109728: .4byte gUnknown_02039238 - thumb_func_end sub_810970C +_08109728: .4byte gAIScriptPtr + thumb_func_end BattleAICmd_jump - thumb_func_start sub_810972C -sub_810972C: @ 810972C + thumb_func_start BattleAICmd_unk_5A +BattleAICmd_unk_5A: @ 810972C push {lr} bl sub_8109908 lsls r0, 24 @@ -5234,12 +1898,12 @@ _08109742: bx r0 .align 2, 0 _08109748: .4byte 0x02016800 - thumb_func_end sub_810972C + thumb_func_end BattleAICmd_unk_5A - thumb_func_start dp15_compare_attacker_defender_levels -dp15_compare_attacker_defender_levels: @ 810974C + thumb_func_start BattleAICmd_if_level_cond +BattleAICmd_if_level_cond: @ 810974C push {r4,r5,lr} - ldr r5, _08109764 @ =gUnknown_02039238 + ldr r5, _08109764 @ =gAIScriptPtr ldr r4, [r5] ldrb r0, [r4, 0x1] cmp r0, 0x1 @@ -5250,7 +1914,7 @@ dp15_compare_attacker_defender_levels: @ 810974C beq _0810976E b _0810981C .align 2, 0 -_08109764: .4byte gUnknown_02039238 +_08109764: .4byte gAIScriptPtr _08109768: cmp r0, 0x2 beq _081097D0 @@ -5343,10 +2007,10 @@ _0810981C: pop {r4,r5} pop {r0} bx r0 - thumb_func_end dp15_compare_attacker_defender_levels + thumb_func_end BattleAICmd_if_level_cond - thumb_func_start sub_8109824 -sub_8109824: @ 8109824 + thumb_func_start BattleAICmd_if_taunted +BattleAICmd_if_taunted: @ 8109824 push {lr} ldr r2, _08109858 @ =gUnknown_02024CA8 ldr r0, _0810985C @ =gUnknown_02024C08 @@ -5359,7 +2023,7 @@ sub_8109824: @ 8109824 lsls r0, 28 cmp r0, 0 beq _08109864 - ldr r3, _08109860 @ =gUnknown_02039238 + ldr r3, _08109860 @ =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -5376,9 +2040,9 @@ sub_8109824: @ 8109824 .align 2, 0 _08109858: .4byte gUnknown_02024CA8 _0810985C: .4byte gUnknown_02024C08 -_08109860: .4byte gUnknown_02039238 +_08109860: .4byte gAIScriptPtr _08109864: - ldr r1, _08109870 @ =gUnknown_02039238 + ldr r1, _08109870 @ =gAIScriptPtr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -5386,11 +2050,11 @@ _0810986C: pop {r0} bx r0 .align 2, 0 -_08109870: .4byte gUnknown_02039238 - thumb_func_end sub_8109824 +_08109870: .4byte gAIScriptPtr + thumb_func_end BattleAICmd_if_taunted - thumb_func_start sub_8109874 -sub_8109874: @ 8109874 + thumb_func_start BattleAICmd_if_not_taunted +BattleAICmd_if_not_taunted: @ 8109874 push {lr} ldr r2, _081098A8 @ =gUnknown_02024CA8 ldr r0, _081098AC @ =gUnknown_02024C08 @@ -5403,7 +2067,7 @@ sub_8109874: @ 8109874 lsls r0, 28 cmp r0, 0 bne _081098B4 - ldr r3, _081098B0 @ =gUnknown_02039238 + ldr r3, _081098B0 @ =gAIScriptPtr ldr r2, [r3] ldrb r1, [r2, 0x1] ldrb r0, [r2, 0x2] @@ -5420,9 +2084,9 @@ sub_8109874: @ 8109874 .align 2, 0 _081098A8: .4byte gUnknown_02024CA8 _081098AC: .4byte gUnknown_02024C08 -_081098B0: .4byte gUnknown_02039238 +_081098B0: .4byte gAIScriptPtr _081098B4: - ldr r1, _081098C0 @ =gUnknown_02039238 + ldr r1, _081098C0 @ =gAIScriptPtr ldr r0, [r1] adds r0, 0x5 str r0, [r1] @@ -5430,8 +2094,8 @@ _081098BC: pop {r0} bx r0 .align 2, 0 -_081098C0: .4byte gUnknown_02039238 - thumb_func_end sub_8109874 +_081098C0: .4byte gAIScriptPtr + thumb_func_end BattleAICmd_if_not_taunted thumb_func_start sub_81098C4 sub_81098C4: @ 81098C4 @@ -5464,13 +2128,13 @@ unref_sub_81098E4: @ 81098E4 lsls r0, 24 lsrs r0, 22 adds r0, r3 - ldr r1, _08109904 @ =gUnknown_02039238 + ldr r1, _08109904 @ =gAIScriptPtr ldr r1, [r1] str r1, [r0] bx lr .align 2, 0 _08109900: .4byte 0x02016c00 -_08109904: .4byte gUnknown_02039238 +_08109904: .4byte gAIScriptPtr thumb_func_end unref_sub_81098E4 thumb_func_start sub_8109908 @@ -5489,7 +2153,7 @@ _0810991C: .4byte 0x02016c00 _08109920: subs r0, 0x1 strb r0, [r2] - ldr r1, _08109938 @ =gUnknown_02039238 + ldr r1, _08109938 @ =gAIScriptPtr ldrb r0, [r2] lsls r0, 2 adds r0, r3 @@ -5500,7 +2164,7 @@ _08109932: pop {r1} bx r1 .align 2, 0 -_08109938: .4byte gUnknown_02039238 +_08109938: .4byte gAIScriptPtr thumb_func_end sub_8109908 .align 2, 0 @ Don't pad with nop. |