summaryrefslogtreecommitdiff
path: root/asm/calculate_base_damage.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/calculate_base_damage.s')
-rw-r--r--asm/calculate_base_damage.s1123
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.