diff options
Diffstat (limited to 'asm/calculate_base_damage.s')
-rw-r--r-- | asm/calculate_base_damage.s | 1123 |
1 files changed, 0 insertions, 1123 deletions
diff --git a/asm/calculate_base_damage.s b/asm/calculate_base_damage.s deleted file mode 100644 index b474a1249..000000000 --- a/asm/calculate_base_damage.s +++ /dev/null @@ -1,1123 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_803ECEC -sub_803ECEC: @ 803ECEC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - adds r6, r0, 0 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - ldr r0, [sp, 0x4C] - ldr r1, [sp, 0x50] - ldr r2, [sp, 0x54] - ldr r4, [sp, 0x58] - lsls r3, 16 - lsrs r3, 16 - str r3, [sp, 0xC] - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x10] - lsls r4, 24 - lsrs r4, 24 - movs r5, 0 - cmp r3, 0 - bne _0803ED40 - ldr r2, _0803ED38 @ =gUnknown_2024020 - ldr r1, _0803ED3C @ =gBattleMoves - ldr r3, [sp, 0x8] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x1] - strh r0, [r2] - b _0803ED44 - .align 2, 0 -_0803ED38: .4byte gUnknown_2024020 -_0803ED3C: .4byte gBattleMoves -_0803ED40: - ldr r0, _0803ED5C @ =gUnknown_2024020 - strh r3, [r0] -_0803ED44: - cmp r7, 0 - bne _0803ED64 - ldr r1, _0803ED60 @ =gBattleMoves - ldr r7, [sp, 0x8] - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x2] - mov r9, r0 - b _0803ED6E - .align 2, 0 -_0803ED5C: .4byte gUnknown_2024020 -_0803ED60: .4byte gBattleMoves -_0803ED64: - movs r0, 0x3F - mov r9, r0 - mov r1, r9 - ands r1, r7 - mov r9, r1 -_0803ED6E: - ldrh r7, [r6, 0x2] - ldr r2, [sp, 0x4] - ldrh r2, [r2, 0x4] - str r2, [sp, 0x14] - ldrh r3, [r6, 0x8] - mov r8, r3 - ldr r0, [sp, 0x4] - ldrh r0, [r0, 0xA] - str r0, [sp, 0x18] - ldrh r0, [r6, 0x2E] - cmp r0, 0xAF - bne _0803EDA0 - ldr r1, _0803ED9C @ =gUnknown_2023F54 - ldr r2, [sp, 0x10] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r3, [r0, 0x7] - mov r10, r3 - ldrb r0, [r0, 0x1A] - b _0803EDB6 - .align 2, 0 -_0803ED9C: .4byte gUnknown_2023F54 -_0803EDA0: - ldrh r0, [r6, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldrh r0, [r6, 0x2E] - bl ItemId_GetHoldEffectParam - lsls r0, 24 - lsrs r0, 24 -_0803EDB6: - str r0, [sp, 0x20] - ldr r1, [sp, 0x4] - ldrh r0, [r1, 0x2E] - cmp r0, 0xAF - bne _0803EDE6 - ldr r1, _0803EDD0 @ =gUnknown_2023F54 - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x7] - str r0, [sp, 0x1C] - b _0803EDFC - .align 2, 0 -_0803EDD0: .4byte gUnknown_2023F54 -_0803EDD4: - ldr r0, [sp, 0x20] - adds r0, 0x64 - muls r0, r7 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 - b _0803EF44 -_0803EDE6: - ldr r2, [sp, 0x4] - ldrh r0, [r2, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x1C] - ldr r3, [sp, 0x4] - ldrh r0, [r3, 0x2E] - bl ItemId_GetHoldEffectParam -_0803EDFC: - adds r0, r6, 0 - adds r0, 0x20 - ldrb r1, [r0] - str r0, [sp, 0x24] - cmp r1, 0x25 - beq _0803EE0C - cmp r1, 0x4A - bne _0803EE10 -_0803EE0C: - lsls r0, r7, 17 - lsrs r7, r0, 16 -_0803EE10: - ldr r0, _0803EF28 @ =gBattleTypeFlags - ldr r0, [r0] - ldr r1, _0803EF2C @ =0x00000802 - ands r0, r1 - cmp r0, 0 - bne _0803EEE8 - movs r0, 0x82 - lsls r0, 4 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0803EE44 - ldr r0, [sp, 0x10] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _0803EE44 - movs r0, 0x6E - muls r0, r7 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 -_0803EE44: - ldr r0, _0803EF28 @ =gBattleTypeFlags - ldr r0, [r0] - ldr r1, _0803EF2C @ =0x00000802 - ands r0, r1 - cmp r0, 0 - bne _0803EEE8 - ldr r0, _0803EF30 @ =0x00000824 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0803EE7A - adds r0, r4, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _0803EE7A - movs r0, 0x6E - ldr r1, [sp, 0x14] - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x14] -_0803EE7A: - ldr r0, _0803EF28 @ =gBattleTypeFlags - ldr r0, [r0] - ldr r1, _0803EF2C @ =0x00000802 - ands r0, r1 - cmp r0, 0 - bne _0803EEE8 - ldr r0, _0803EF34 @ =0x00000826 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0803EEB2 - ldr r0, [sp, 0x10] - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _0803EEB2 - movs r0, 0x6E - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_0803EEB2: - ldr r0, _0803EF28 @ =gBattleTypeFlags - ldr r0, [r0] - ldr r1, _0803EF2C @ =0x00000802 - ands r0, r1 - cmp r0, 0 - bne _0803EEE8 - ldr r0, _0803EF34 @ =0x00000826 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0803EEE8 - adds r0, r4, 0 - bl GetBankSide - lsls r0, 24 - cmp r0, 0 - bne _0803EEE8 - movs r0, 0x6E - ldr r3, [sp, 0x18] - muls r0, r3 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x18] -_0803EEE8: - movs r2, 0 - ldr r4, _0803EF38 @ =gUnknown_825DECC - ldr r0, [sp, 0x4] - adds r0, 0x20 - str r0, [sp, 0x28] - adds r3, r4, 0 -_0803EEF4: - lsls r1, r2, 1 - ldrb r0, [r3] - cmp r10, r0 - bne _0803EF3C - adds r0, r4, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r9, r0 - bne _0803EF3C - mov r1, r9 - cmp r1, 0x8 - bhi _0803EF0E - b _0803EDD4 -_0803EF0E: - ldr r0, [sp, 0x20] - adds r0, 0x64 - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - b _0803EF44 - .align 2, 0 -_0803EF28: .4byte gBattleTypeFlags -_0803EF2C: .4byte 0x00000802 -_0803EF30: .4byte 0x00000824 -_0803EF34: .4byte 0x00000826 -_0803EF38: .4byte gUnknown_825DECC -_0803EF3C: - adds r3, 0x2 - adds r2, 0x1 - cmp r2, 0x10 - bls _0803EEF4 -_0803EF44: - mov r3, r10 - cmp r3, 0x1D - bne _0803EF58 - movs r0, 0x96 - muls r0, r7 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 -_0803EF58: - mov r0, r10 - cmp r0, 0x22 - bne _0803EF90 - ldr r0, _0803F244 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 1 - ands r0, r1 - cmp r0, 0 - bne _0803EF90 - ldr r1, _0803F248 @ =0xfffffe69 - adds r0, r1, 0 - ldrh r2, [r6] - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _0803EF90 - movs r0, 0x96 - mov r3, r8 - muls r3, r0 - adds r0, r3, 0 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_0803EF90: - ldr r0, [sp, 0x1C] - cmp r0, 0x22 - bne _0803EFC8 - ldr r0, _0803F244 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 1 - ands r0, r1 - cmp r0, 0 - bne _0803EFC8 - ldr r1, _0803F248 @ =0xfffffe69 - adds r0, r1, 0 - ldr r2, [sp, 0x4] - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _0803EFC8 - movs r0, 0x96 - ldr r3, [sp, 0x18] - muls r0, r3 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x18] -_0803EFC8: - mov r0, r10 - cmp r0, 0x23 - bne _0803EFDE - ldrh r1, [r6] - ldr r0, _0803F24C @ =0x00000175 - cmp r1, r0 - bne _0803EFDE - mov r1, r8 - lsls r0, r1, 17 - lsrs r0, 16 - mov r8, r0 -_0803EFDE: - ldr r2, [sp, 0x1C] - cmp r2, 0x24 - bne _0803EFF6 - ldr r3, [sp, 0x4] - ldrh r1, [r3] - ldr r0, _0803F24C @ =0x00000175 - cmp r1, r0 - bne _0803EFF6 - ldr r1, [sp, 0x18] - lsls r0, r1, 17 - lsrs r0, 16 - str r0, [sp, 0x18] -_0803EFF6: - mov r2, r10 - cmp r2, 0x2D - bne _0803F00A - ldrh r0, [r6] - cmp r0, 0x19 - bne _0803F00A - mov r3, r8 - lsls r0, r3, 17 - lsrs r0, 16 - mov r8, r0 -_0803F00A: - ldr r0, [sp, 0x1C] - cmp r0, 0x40 - bne _0803F020 - ldr r1, [sp, 0x4] - ldrh r0, [r1] - cmp r0, 0x84 - bne _0803F020 - ldr r2, [sp, 0x14] - lsls r0, r2, 17 - lsrs r0, 16 - str r0, [sp, 0x14] -_0803F020: - mov r3, r10 - cmp r3, 0x41 - bne _0803F036 - ldrh r0, [r6] - subs r0, 0x68 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _0803F036 - lsls r0, r7, 17 - lsrs r7, r0, 16 -_0803F036: - ldr r1, [sp, 0x28] - ldrb r0, [r1] - cmp r0, 0x2F - bne _0803F04E - mov r2, r9 - cmp r2, 0xA - beq _0803F048 - cmp r2, 0xF - bne _0803F04E -_0803F048: - mov r3, r8 - lsrs r3, 1 - mov r8, r3 -_0803F04E: - ldr r0, [sp, 0x24] - ldrb r4, [r0] - cmp r4, 0x37 - bne _0803F064 - movs r0, 0x96 - muls r0, r7 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 -_0803F064: - cmp r4, 0x39 - bne _0803F092 - movs r0, 0 - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0x3A - movs r3, 0 - bl sub_8019F18 - lsls r0, 24 - cmp r0, 0 - beq _0803F092 - movs r0, 0x96 - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_0803F092: - ldr r2, [sp, 0x24] - ldrb r0, [r2] - cmp r0, 0x3A - bne _0803F0C4 - movs r0, 0 - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0x39 - movs r3, 0 - bl sub_8019F18 - lsls r0, 24 - cmp r0, 0 - beq _0803F0C4 - movs r0, 0x96 - mov r3, r8 - muls r3, r0 - adds r0, r3, 0 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_0803F0C4: - ldr r1, [sp, 0x24] - ldrb r0, [r1] - cmp r0, 0x3E - bne _0803F0E0 - ldr r0, [r6, 0x4C] - cmp r0, 0 - beq _0803F0E0 - movs r0, 0x96 - muls r0, r7 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 -_0803F0E0: - ldr r2, [sp, 0x28] - ldrb r0, [r2] - cmp r0, 0x3F - bne _0803F102 - ldr r3, [sp, 0x4] - ldr r0, [r3, 0x4C] - cmp r0, 0 - beq _0803F102 - movs r0, 0x96 - ldr r1, [sp, 0x14] - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x14] -_0803F102: - mov r2, r9 - cmp r2, 0xD - bne _0803F126 - movs r0, 0 - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0 - movs r3, 0xFD - bl sub_8019F18 - lsls r0, 24 - cmp r0, 0 - beq _0803F126 - ldr r1, _0803F250 @ =gUnknown_2024020 - ldrh r0, [r1] - lsrs r0, 1 - strh r0, [r1] -_0803F126: - mov r3, r9 - cmp r3, 0xA - bne _0803F14A - movs r0, 0 - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0 - movs r3, 0xFE - bl sub_8019F18 - lsls r0, 24 - cmp r0, 0 - beq _0803F14A - ldr r1, _0803F250 @ =gUnknown_2024020 - ldrh r0, [r1] - lsrs r0, 1 - strh r0, [r1] -_0803F14A: - mov r0, r9 - cmp r0, 0xC - bne _0803F17A - ldr r1, [sp, 0x24] - ldrb r0, [r1] - cmp r0, 0x41 - bne _0803F17A - ldrh r0, [r6, 0x2C] - movs r1, 0x3 - bl __udivsi3 - ldrh r1, [r6, 0x28] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bhi _0803F17A - ldr r4, _0803F250 @ =gUnknown_2024020 - ldrh r1, [r4] - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - strh r0, [r4] -_0803F17A: - mov r2, r9 - cmp r2, 0xA - bne _0803F1AA - ldr r3, [sp, 0x24] - ldrb r0, [r3] - cmp r0, 0x42 - bne _0803F1AA - ldrh r0, [r6, 0x2C] - movs r1, 0x3 - bl __udivsi3 - ldrh r1, [r6, 0x28] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bhi _0803F1AA - ldr r4, _0803F250 @ =gUnknown_2024020 - ldrh r1, [r4] - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - strh r0, [r4] -_0803F1AA: - mov r0, r9 - cmp r0, 0xB - bne _0803F1DA - ldr r1, [sp, 0x24] - ldrb r0, [r1] - cmp r0, 0x43 - bne _0803F1DA - ldrh r0, [r6, 0x2C] - movs r1, 0x3 - bl __udivsi3 - ldrh r1, [r6, 0x28] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bhi _0803F1DA - ldr r4, _0803F250 @ =gUnknown_2024020 - ldrh r1, [r4] - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - strh r0, [r4] -_0803F1DA: - mov r2, r9 - cmp r2, 0x6 - bne _0803F20A - ldr r3, [sp, 0x24] - ldrb r0, [r3] - cmp r0, 0x44 - bne _0803F20A - ldrh r0, [r6, 0x2C] - movs r1, 0x3 - bl __udivsi3 - ldrh r1, [r6, 0x28] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bhi _0803F20A - ldr r4, _0803F250 @ =gUnknown_2024020 - ldrh r1, [r4] - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - strh r0, [r4] -_0803F20A: - ldr r2, _0803F254 @ =gBattleMoves - ldr r0, _0803F258 @ =gCurrentMove - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x7 - bne _0803F224 - ldr r0, [sp, 0x14] - lsrs r0, 1 - str r0, [sp, 0x14] -_0803F224: - mov r1, r9 - cmp r1, 0x8 - bls _0803F22C - b _0803F38A -_0803F22C: - ldr r0, _0803F25C @ =gCritMultiplier - ldrb r1, [r0] - adds r4, r0, 0 - cmp r1, 0x2 - bne _0803F268 - movs r0, 0x19 - ldrsb r0, [r6, r0] - cmp r0, 0x6 - ble _0803F264 - ldr r2, _0803F260 @ =gUnknown_825DEAD - b _0803F26E - .align 2, 0 -_0803F244: .4byte gBattleTypeFlags -_0803F248: .4byte 0xfffffe69 -_0803F24C: .4byte 0x00000175 -_0803F250: .4byte gUnknown_2024020 -_0803F254: .4byte gBattleMoves -_0803F258: .4byte gCurrentMove -_0803F25C: .4byte gCritMultiplier -_0803F260: .4byte gUnknown_825DEAD -_0803F264: - adds r5, r7, 0 - b _0803F286 -_0803F268: - ldr r2, _0803F2B8 @ =gUnknown_825DEAD - movs r0, 0x19 - ldrsb r0, [r6, r0] -_0803F26E: - lsls r0, 1 - adds r1, r0, r2 - ldrb r1, [r1] - adds r5, r7, 0 - muls r5, r1 - adds r2, 0x1 - adds r0, r2 - ldrb r1, [r0] - adds r0, r5, 0 - bl __divsi3 - adds r5, r0, 0 -_0803F286: - ldr r0, _0803F2BC @ =gUnknown_2024020 - ldrh r0, [r0] - muls r5, r0 - adds r0, r6, 0 - adds r0, 0x2A - ldrb r0, [r0] - lsls r0, 1 - movs r1, 0x5 - bl __divsi3 - adds r0, 0x2 - muls r5, r0 - ldrb r0, [r4] - cmp r0, 0x2 - bne _0803F2C4 - ldr r2, [sp, 0x4] - movs r0, 0x1A - ldrsb r0, [r2, r0] - cmp r0, 0x5 - bgt _0803F2C0 - ldr r2, _0803F2B8 @ =gUnknown_825DEAD - ldr r3, [sp, 0x4] - movs r0, 0x1A - ldrsb r0, [r3, r0] - b _0803F2CC - .align 2, 0 -_0803F2B8: .4byte gUnknown_825DEAD -_0803F2BC: .4byte gUnknown_2024020 -_0803F2C0: - ldr r3, [sp, 0x14] - b _0803F2E6 -_0803F2C4: - ldr r2, _0803F344 @ =gUnknown_825DEAD - ldr r1, [sp, 0x4] - movs r0, 0x1A - ldrsb r0, [r1, r0] -_0803F2CC: - lsls r0, 1 - adds r1, r0, r2 - ldrb r1, [r1] - ldr r7, [sp, 0x14] - adds r3, r7, 0 - muls r3, r1 - adds r2, 0x1 - adds r0, r2 - ldrb r1, [r0] - adds r0, r3, 0 - bl __divsi3 - adds r3, r0, 0 -_0803F2E6: - adds r0, r5, 0 - adds r1, r3, 0 - bl __divsi3 - adds r5, r0, 0 - movs r1, 0x32 - bl __divsi3 - adds r5, r0, 0 - ldr r0, [r6, 0x4C] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0803F310 - ldr r1, [sp, 0x24] - ldrb r0, [r1] - cmp r0, 0x3E - beq _0803F310 - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 -_0803F310: - movs r0, 0x1 - ldr r2, [sp, 0xC] - ands r0, r2 - cmp r0, 0 - beq _0803F352 - ldrb r1, [r4] - cmp r1, 0x1 - bne _0803F352 - ldr r0, _0803F348 @ =gBattleTypeFlags - ldr r0, [r0] - ands r0, r1 - cmp r0, 0 - beq _0803F34C - movs r0, 0x2 - bl sub_803F5B4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0803F34C - adds r0, r5, 0 - movs r1, 0x3 - bl __divsi3 - lsls r5, r0, 1 - b _0803F352 - .align 2, 0 -_0803F344: .4byte gUnknown_825DEAD -_0803F348: .4byte gBattleTypeFlags -_0803F34C: - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 -_0803F352: - ldr r0, _0803F3B0 @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0803F384 - ldr r0, _0803F3B4 @ =gBattleMoves - ldr r3, [sp, 0x8] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x6] - cmp r0, 0x8 - bne _0803F384 - movs r0, 0x2 - bl sub_803F5B4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0803F384 - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 -_0803F384: - cmp r5, 0 - bne _0803F38A - movs r5, 0x1 -_0803F38A: - mov r7, r9 - cmp r7, 0x9 - bne _0803F392 - movs r5, 0 -_0803F392: - mov r0, r9 - cmp r0, 0x9 - bhi _0803F39A - b _0803F59C -_0803F39A: - ldr r0, _0803F3B8 @ =gCritMultiplier - ldrb r1, [r0] - adds r4, r0, 0 - cmp r1, 0x2 - bne _0803F3C4 - movs r0, 0x1C - ldrsb r0, [r6, r0] - cmp r0, 0x6 - ble _0803F3C0 - ldr r2, _0803F3BC @ =gUnknown_825DEAD - b _0803F3CA - .align 2, 0 -_0803F3B0: .4byte gBattleTypeFlags -_0803F3B4: .4byte gBattleMoves -_0803F3B8: .4byte gCritMultiplier -_0803F3BC: .4byte gUnknown_825DEAD -_0803F3C0: - mov r5, r8 - b _0803F3E2 -_0803F3C4: - ldr r2, _0803F410 @ =gUnknown_825DEAD - movs r0, 0x1C - ldrsb r0, [r6, r0] -_0803F3CA: - lsls r0, 1 - adds r1, r0, r2 - ldrb r1, [r1] - mov r5, r8 - muls r5, r1 - adds r2, 0x1 - adds r0, r2 - ldrb r1, [r0] - adds r0, r5, 0 - bl __divsi3 - adds r5, r0, 0 -_0803F3E2: - ldr r0, _0803F414 @ =gUnknown_2024020 - ldrh r0, [r0] - muls r5, r0 - adds r0, r6, 0 - adds r0, 0x2A - ldrb r0, [r0] - lsls r0, 1 - movs r1, 0x5 - bl __divsi3 - adds r0, 0x2 - muls r5, r0 - ldrb r0, [r4] - cmp r0, 0x2 - bne _0803F41C - ldr r1, [sp, 0x4] - movs r0, 0x1D - ldrsb r0, [r1, r0] - cmp r0, 0x5 - bgt _0803F418 - ldr r2, _0803F410 @ =gUnknown_825DEAD - b _0803F424 - .align 2, 0 -_0803F410: .4byte gUnknown_825DEAD -_0803F414: .4byte gUnknown_2024020 -_0803F418: - ldr r3, [sp, 0x18] - b _0803F43E -_0803F41C: - ldr r2, _0803F484 @ =gUnknown_825DEAD - ldr r7, [sp, 0x4] - movs r0, 0x1D - ldrsb r0, [r7, r0] -_0803F424: - lsls r0, 1 - adds r1, r0, r2 - ldrb r1, [r1] - ldr r6, [sp, 0x18] - adds r3, r6, 0 - muls r3, r1 - adds r2, 0x1 - adds r0, r2 - ldrb r1, [r0] - adds r0, r3, 0 - bl __divsi3 - adds r3, r0, 0 -_0803F43E: - adds r0, r5, 0 - adds r1, r3, 0 - bl __divsi3 - adds r5, r0, 0 - movs r1, 0x32 - bl __divsi3 - adds r5, r0, 0 - movs r0, 0x2 - ldr r7, [sp, 0xC] - ands r0, r7 - cmp r0, 0 - beq _0803F492 - ldrb r1, [r4] - cmp r1, 0x1 - bne _0803F492 - ldr r0, _0803F488 @ =gBattleTypeFlags - ldr r0, [r0] - ands r0, r1 - cmp r0, 0 - beq _0803F48C - movs r0, 0x2 - bl sub_803F5B4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0803F48C - adds r0, r5, 0 - movs r1, 0x3 - bl __divsi3 - lsls r5, r0, 1 - b _0803F492 - .align 2, 0 -_0803F484: .4byte gUnknown_825DEAD -_0803F488: .4byte gBattleTypeFlags -_0803F48C: - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 -_0803F492: - ldr r0, _0803F50C @ =gBattleTypeFlags - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0803F4C4 - ldr r0, _0803F510 @ =gBattleMoves - ldr r2, [sp, 0x8] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x6] - cmp r0, 0x8 - bne _0803F4C4 - movs r0, 0x2 - bl sub_803F5B4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0803F4C4 - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 -_0803F4C4: - movs r0, 0 - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl sub_8019F18 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0803F574 - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl sub_8019F18 - lsls r0, 24 - cmp r0, 0 - bne _0803F574 - ldr r2, _0803F514 @ =gBattleWeather - ldrh r1, [r2] - movs r0, 0x1 - ands r0, r1 - adds r4, r2, 0 - cmp r0, 0 - beq _0803F52C - mov r3, r9 - cmp r3, 0xA - beq _0803F518 - cmp r3, 0xB - beq _0803F520 - b _0803F52C - .align 2, 0 -_0803F50C: .4byte gBattleTypeFlags -_0803F510: .4byte gBattleMoves -_0803F514: .4byte gBattleWeather -_0803F518: - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 - b _0803F52C -_0803F520: - lsls r0, r5, 4 - subs r0, r5 - movs r1, 0xA - bl __divsi3 - adds r5, r0, 0 -_0803F52C: - ldrh r1, [r4] - movs r0, 0x9F - ands r0, r1 - cmp r0, 0 - beq _0803F544 - ldr r0, _0803F55C @ =gCurrentMove - ldrh r0, [r0] - cmp r0, 0x4C - bne _0803F544 - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 -_0803F544: - ldrh r1, [r4] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _0803F574 - mov r6, r9 - cmp r6, 0xA - beq _0803F560 - cmp r6, 0xB - beq _0803F56E - b _0803F574 - .align 2, 0 -_0803F55C: .4byte gCurrentMove -_0803F560: - lsls r0, r5, 4 - subs r0, r5 - movs r1, 0xA - bl __divsi3 - adds r5, r0, 0 - b _0803F574 -_0803F56E: - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 -_0803F574: - ldr r0, _0803F5B0 @ =gBattleResources - ldr r0, [r0] - ldr r0, [r0, 0x4] - ldr r7, [sp, 0x10] - lsls r1, r7, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0803F59C - mov r0, r9 - cmp r0, 0xA - bne _0803F59C - lsls r0, r5, 4 - subs r0, r5 - movs r1, 0xA - bl __divsi3 - adds r5, r0, 0 -_0803F59C: - adds r0, r5, 0x2 - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0803F5B0: .4byte gBattleResources - thumb_func_end sub_803ECEC - - .align 2, 0 @ Don't pad with nop. |