summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/battle_3.s4
-rw-r--r--asm/battle_4.s12
-rw-r--r--asm/battle_controller_player.s2
-rw-r--r--asm/calculate_base_damage.s1045
-rw-r--r--asm/pokemon_2.s14
-rw-r--r--asm/rom_8034C54.s4
-rw-r--r--asm/rom_817C95C.s2
7 files changed, 19 insertions, 1064 deletions
diff --git a/asm/battle_3.s b/asm/battle_3.s
index 9a7a03e6f..dbae0b64c 100644
--- a/asm/battle_3.s
+++ b/asm/battle_3.s
@@ -4237,7 +4237,7 @@ _0804207C:
adds r0, r1, 0
movs r2, 0x1
movs r3, 0
- bl sub_806957C
+ bl CalculateBaseDamage
ldr r1, =gBattleMoveDamage
str r0, [r1]
ldr r0, =gProtectStructs
@@ -11133,7 +11133,7 @@ _08045F8C:
adds r0, r1, 0
movs r2, 0x1
movs r3, 0
- bl sub_806957C
+ bl CalculateBaseDamage
ldr r1, =gBattleMoveDamage
str r0, [r1]
ldr r1, =gBankTarget
diff --git a/asm/battle_4.s b/asm/battle_4.s
index 3fad18089..f46085f7a 100644
--- a/asm/battle_4.s
+++ b/asm/battle_4.s
@@ -1572,7 +1572,7 @@ atk05_damagecalc1: @ 8046D8C
str r4, [sp, 0x8]
ldrb r4, [r5]
str r4, [sp, 0xC]
- bl sub_806957C
+ bl CalculateBaseDamage
ldr r4, =gBattleMoveDamage
ldr r1, =gCritMultiplier
ldrb r1, [r1]
@@ -1670,7 +1670,7 @@ sub_8046E7C: @ 8046E7C
str r4, [sp, 0x4]
str r7, [sp, 0x8]
str r5, [sp, 0xC]
- bl sub_806957C
+ bl CalculateBaseDamage
ldr r4, =gBattleMoveDamage
movs r1, 0
strh r1, [r6]
@@ -18750,7 +18750,7 @@ _0805035C:
cmp r0, 0
beq _080503CC
movs r0, 0x1
- bl sub_8069DEC
+ bl CountAliveMonsInBattle
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0x2
@@ -19329,7 +19329,7 @@ _08050828:
str r4, [sp, 0x8]
ldrb r4, [r5]
str r4, [sp, 0xC]
- bl sub_806957C
+ bl CalculateBaseDamage
ldrb r2, [r6]
lsls r1, r2, 3
subs r1, r2
@@ -21033,7 +21033,7 @@ _080516A4:
cmp r0, 0
beq _08051714
movs r0, 0x1
- bl sub_8069DEC
+ bl CountAliveMonsInBattle
lsls r0, 24
lsrs r0, 24
cmp r0, 0x2
@@ -26497,7 +26497,7 @@ _080545DC:
str r4, [sp, 0x8]
ldrb r4, [r6]
str r4, [sp, 0xC]
- bl sub_806957C
+ bl CalculateBaseDamage
ldrb r1, [r6]
lsls r1, 2
mov r2, r8
diff --git a/asm/battle_controller_player.s b/asm/battle_controller_player.s
index 4313b060a..687b401b3 100644
--- a/asm/battle_controller_player.s
+++ b/asm/battle_controller_player.s
@@ -991,7 +991,7 @@ _08057D24:
cmp r0, 0
bne _08057D5A
movs r0, 0
- bl sub_8069DEC
+ bl CountAliveMonsInBattle
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
diff --git a/asm/calculate_base_damage.s b/asm/calculate_base_damage.s
deleted file mode 100644
index 5aabfc4c3..000000000
--- a/asm/calculate_base_damage.s
+++ /dev/null
@@ -1,1045 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start sub_806957C
-sub_806957C: @ 806957C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x30
- adds r6, r0, 0
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- ldr r0, [sp, 0x50]
- ldr r1, [sp, 0x54]
- ldr r2, [sp, 0x58]
- ldr r4, [sp, 0x5C]
- 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
- str r4, [sp, 0x14]
- movs r5, 0
- cmp r3, 0
- bne _080695D4
- ldr r2, =gBattleMovePower
- ldr r1, =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 _080695D8
- .pool
-_080695D4:
- ldr r0, =gBattleMovePower
- strh r3, [r0]
-_080695D8:
- cmp r7, 0
- bne _080695F8
- ldr r1, =gBattleMoves
- ldr r7, [sp, 0x8]
- lsls r0, r7, 1
- adds r0, r7
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x2]
- mov r10, r0
- b _08069602
- .pool
-_080695F8:
- movs r0, 0x3F
- mov r10, r0
- mov r1, r10
- ands r1, r7
- mov r10, r1
-_08069602:
- ldrh r7, [r6, 0x2]
- ldr r2, [sp, 0x4]
- ldrh r2, [r2, 0x4]
- str r2, [sp, 0x18]
- ldrh r3, [r6, 0x8]
- mov r8, r3
- ldr r0, [sp, 0x4]
- ldrh r0, [r0, 0xA]
- str r0, [sp, 0x1C]
- ldrh r0, [r6, 0x2E]
- cmp r0, 0xAF
- bne _08069634
- ldr r1, =gEnigmaBerries
- ldr r2, [sp, 0x10]
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r3, [r0, 0x7]
- mov r9, r3
- ldrb r0, [r0, 0x1A]
- b _0806964A
- .pool
-_08069634:
- ldrh r0, [r6, 0x2E]
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldrh r0, [r6, 0x2E]
- bl ItemId_GetHoldEffectParam
- lsls r0, 24
- lsrs r0, 24
-_0806964A:
- str r0, [sp, 0x24]
- ldr r1, [sp, 0x4]
- ldrh r0, [r1, 0x2E]
- cmp r0, 0xAF
- bne _0806967E
- ldr r1, =gEnigmaBerries
- ldr r2, [sp, 0x14]
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x7]
- str r0, [sp, 0x20]
- b _08069694
- .pool
-_0806966C:
- ldr r0, [sp, 0x24]
- adds r0, 0x64
- muls r0, r7
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
- b _0806977C
-_0806967E:
- ldr r3, [sp, 0x4]
- ldrh r0, [r3, 0x2E]
- bl ItemId_GetHoldEffect
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x20]
- ldr r1, [sp, 0x4]
- ldrh r0, [r1, 0x2E]
- bl ItemId_GetHoldEffectParam
-_08069694:
- adds r0, r6, 0
- adds r0, 0x20
- ldrb r1, [r0]
- str r0, [sp, 0x28]
- cmp r1, 0x25
- beq _080696A4
- cmp r1, 0x4A
- bne _080696A8
-_080696A4:
- lsls r0, r7, 17
- lsrs r7, r0, 16
-_080696A8:
- ldr r0, =0x00000867
- ldr r1, [sp, 0x10]
- bl sub_8069ED8
- lsls r0, 24
- cmp r0, 0
- beq _080696C4
- movs r0, 0x6E
- muls r0, r7
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
-_080696C4:
- ldr r0, =0x0000086b
- ldr r1, [sp, 0x14]
- bl sub_8069ED8
- lsls r0, 24
- cmp r0, 0
- beq _080696E4
- movs r0, 0x6E
- ldr r2, [sp, 0x18]
- muls r0, r2
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x18]
-_080696E4:
- ldr r4, =0x0000086d
- adds r0, r4, 0
- ldr r1, [sp, 0x10]
- bl sub_8069ED8
- lsls r0, 24
- cmp r0, 0
- beq _08069708
- movs r0, 0x6E
- mov r3, r8
- muls r3, r0
- adds r0, r3, 0
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
-_08069708:
- adds r0, r4, 0
- ldr r1, [sp, 0x14]
- bl sub_8069ED8
- lsls r0, 24
- cmp r0, 0
- beq _08069728
- movs r0, 0x6E
- ldr r1, [sp, 0x1C]
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x1C]
-_08069728:
- movs r2, 0
- ldr r4, =gHoldEffectToType
- ldr r3, [sp, 0x4]
- adds r3, 0x20
- str r3, [sp, 0x2C]
- adds r3, r4, 0
-_08069734:
- lsls r1, r2, 1
- ldrb r0, [r3]
- cmp r9, r0
- bne _08069774
- adds r0, r4, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r10, r0
- bne _08069774
- mov r1, r10
- cmp r1, 0x8
- bls _0806966C
- ldr r0, [sp, 0x24]
- 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 _0806977C
- .pool
-_08069774:
- adds r3, 0x2
- adds r2, 0x1
- cmp r2, 0x10
- bls _08069734
-_0806977C:
- mov r3, r9
- cmp r3, 0x1D
- bne _08069790
- movs r0, 0x96
- muls r0, r7
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
-_08069790:
- mov r0, r9
- cmp r0, 0x22
- bne _080697C6
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- ldr r1, =0x003f0100
- ands r0, r1
- cmp r0, 0
- bne _080697C6
- ldr r1, =0xfffffe69
- adds r0, r1, 0
- ldrh r2, [r6]
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080697C6
- 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
-_080697C6:
- ldr r0, [sp, 0x20]
- cmp r0, 0x22
- bne _080697FC
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- ldr r1, =0x003f0100
- ands r0, r1
- cmp r0, 0
- bne _080697FC
- ldr r1, =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 _080697FC
- movs r0, 0x96
- ldr r3, [sp, 0x1C]
- muls r0, r3
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x1C]
-_080697FC:
- mov r0, r9
- cmp r0, 0x23
- bne _08069812
- ldrh r1, [r6]
- ldr r0, =0x00000175
- cmp r1, r0
- bne _08069812
- mov r1, r8
- lsls r0, r1, 17
- lsrs r0, 16
- mov r8, r0
-_08069812:
- ldr r2, [sp, 0x20]
- cmp r2, 0x24
- bne _0806982A
- ldr r3, [sp, 0x4]
- ldrh r1, [r3]
- ldr r0, =0x00000175
- cmp r1, r0
- bne _0806982A
- ldr r1, [sp, 0x1C]
- lsls r0, r1, 17
- lsrs r0, 16
- str r0, [sp, 0x1C]
-_0806982A:
- mov r2, r9
- cmp r2, 0x2D
- bne _0806983E
- ldrh r0, [r6]
- cmp r0, 0x19
- bne _0806983E
- mov r3, r8
- lsls r0, r3, 17
- lsrs r0, 16
- mov r8, r0
-_0806983E:
- ldr r0, [sp, 0x20]
- cmp r0, 0x40
- bne _08069854
- ldr r1, [sp, 0x4]
- ldrh r0, [r1]
- cmp r0, 0x84
- bne _08069854
- ldr r2, [sp, 0x18]
- lsls r0, r2, 17
- lsrs r0, 16
- str r0, [sp, 0x18]
-_08069854:
- mov r3, r9
- cmp r3, 0x41
- bne _0806986A
- ldrh r0, [r6]
- subs r0, 0x68
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _0806986A
- lsls r0, r7, 17
- lsrs r7, r0, 16
-_0806986A:
- ldr r1, [sp, 0x2C]
- ldrb r0, [r1]
- cmp r0, 0x2F
- bne _08069882
- mov r2, r10
- cmp r2, 0xA
- beq _0806987C
- cmp r2, 0xF
- bne _08069882
-_0806987C:
- mov r3, r8
- lsrs r3, 1
- mov r8, r3
-_08069882:
- ldr r0, [sp, 0x28]
- ldrb r4, [r0]
- cmp r4, 0x37
- bne _08069898
- movs r0, 0x96
- muls r0, r7
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
-_08069898:
- cmp r4, 0x39
- bne _080698C6
- movs r0, 0
- str r0, [sp]
- movs r0, 0xE
- movs r1, 0
- movs r2, 0x3A
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- beq _080698C6
- 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
-_080698C6:
- ldr r2, [sp, 0x28]
- ldrb r0, [r2]
- cmp r0, 0x3A
- bne _080698F8
- movs r0, 0
- str r0, [sp]
- movs r0, 0xE
- movs r1, 0
- movs r2, 0x39
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- beq _080698F8
- 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
-_080698F8:
- ldr r1, [sp, 0x28]
- ldrb r0, [r1]
- cmp r0, 0x3E
- bne _08069914
- ldr r0, [r6, 0x4C]
- cmp r0, 0
- beq _08069914
- movs r0, 0x96
- muls r0, r7
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
-_08069914:
- ldr r2, [sp, 0x2C]
- ldrb r0, [r2]
- cmp r0, 0x3F
- bne _08069936
- ldr r3, [sp, 0x4]
- ldr r0, [r3, 0x4C]
- cmp r0, 0
- beq _08069936
- movs r0, 0x96
- ldr r1, [sp, 0x18]
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x18]
-_08069936:
- mov r2, r10
- cmp r2, 0xD
- bne _0806995A
- movs r0, 0
- str r0, [sp]
- movs r0, 0xE
- movs r1, 0
- movs r2, 0
- movs r3, 0xFD
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- beq _0806995A
- ldr r1, =gBattleMovePower
- ldrh r0, [r1]
- lsrs r0, 1
- strh r0, [r1]
-_0806995A:
- mov r3, r10
- cmp r3, 0xA
- bne _0806997E
- movs r0, 0
- str r0, [sp]
- movs r0, 0xE
- movs r1, 0
- movs r2, 0
- movs r3, 0xFE
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- beq _0806997E
- ldr r1, =gBattleMovePower
- ldrh r0, [r1]
- lsrs r0, 1
- strh r0, [r1]
-_0806997E:
- mov r0, r10
- cmp r0, 0xC
- bne _080699AE
- ldr r1, [sp, 0x28]
- ldrb r0, [r1]
- cmp r0, 0x41
- bne _080699AE
- ldrh r0, [r6, 0x2C]
- movs r1, 0x3
- bl __udivsi3
- ldrh r1, [r6, 0x28]
- lsls r0, 16
- lsrs r0, 16
- cmp r1, r0
- bhi _080699AE
- ldr r4, =gBattleMovePower
- ldrh r1, [r4]
- movs r0, 0x96
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- strh r0, [r4]
-_080699AE:
- mov r2, r10
- cmp r2, 0xA
- bne _080699DE
- ldr r3, [sp, 0x28]
- ldrb r0, [r3]
- cmp r0, 0x42
- bne _080699DE
- ldrh r0, [r6, 0x2C]
- movs r1, 0x3
- bl __udivsi3
- ldrh r1, [r6, 0x28]
- lsls r0, 16
- lsrs r0, 16
- cmp r1, r0
- bhi _080699DE
- ldr r4, =gBattleMovePower
- ldrh r1, [r4]
- movs r0, 0x96
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- strh r0, [r4]
-_080699DE:
- mov r0, r10
- cmp r0, 0xB
- bne _08069A0E
- ldr r1, [sp, 0x28]
- ldrb r0, [r1]
- cmp r0, 0x43
- bne _08069A0E
- ldrh r0, [r6, 0x2C]
- movs r1, 0x3
- bl __udivsi3
- ldrh r1, [r6, 0x28]
- lsls r0, 16
- lsrs r0, 16
- cmp r1, r0
- bhi _08069A0E
- ldr r4, =gBattleMovePower
- ldrh r1, [r4]
- movs r0, 0x96
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- strh r0, [r4]
-_08069A0E:
- mov r2, r10
- cmp r2, 0x6
- bne _08069A3E
- ldr r3, [sp, 0x28]
- ldrb r0, [r3]
- cmp r0, 0x44
- bne _08069A3E
- ldrh r0, [r6, 0x2C]
- movs r1, 0x3
- bl __udivsi3
- ldrh r1, [r6, 0x28]
- lsls r0, 16
- lsrs r0, 16
- cmp r1, r0
- bhi _08069A3E
- ldr r4, =gBattleMovePower
- ldrh r1, [r4]
- movs r0, 0x96
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- strh r0, [r4]
-_08069A3E:
- ldr r2, =gBattleMoves
- ldr r0, =gCurrentMove
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x7
- bne _08069A58
- ldr r0, [sp, 0x18]
- lsrs r0, 1
- str r0, [sp, 0x18]
-_08069A58:
- mov r1, r10
- cmp r1, 0x8
- bls _08069A60
- b _08069BC2
-_08069A60:
- ldr r0, =gCritMultiplier
- ldrb r1, [r0]
- adds r4, r0, 0
- cmp r1, 0x2
- bne _08069AA0
- movs r0, 0x19
- ldrsb r0, [r6, r0]
- cmp r0, 0x6
- ble _08069A9C
- ldr r2, =gUnknown_08329D2E
- b _08069AA6
- .pool
-_08069A9C:
- adds r5, r7, 0
- b _08069ABE
-_08069AA0:
- ldr r2, =gUnknown_08329D2E
- movs r0, 0x19
- ldrsb r0, [r6, r0]
-_08069AA6:
- 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
-_08069ABE:
- ldr r0, =gBattleMovePower
- 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 _08069AFC
- ldr r2, [sp, 0x4]
- movs r0, 0x1A
- ldrsb r0, [r2, r0]
- cmp r0, 0x5
- bgt _08069AF8
- ldr r2, =gUnknown_08329D2E
- ldr r3, [sp, 0x4]
- movs r0, 0x1A
- ldrsb r0, [r3, r0]
- b _08069B04
- .pool
-_08069AF8:
- ldr r3, [sp, 0x18]
- b _08069B1E
-_08069AFC:
- ldr r2, =gUnknown_08329D2E
- ldr r1, [sp, 0x4]
- movs r0, 0x1A
- ldrsb r0, [r1, r0]
-_08069B04:
- lsls r0, 1
- adds r1, r0, r2
- ldrb r1, [r1]
- ldr r7, [sp, 0x18]
- 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
-_08069B1E:
- 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 _08069B48
- ldr r1, [sp, 0x28]
- ldrb r0, [r1]
- cmp r0, 0x3E
- beq _08069B48
- lsrs r0, r5, 31
- adds r0, r5, r0
- asrs r5, r0, 1
-_08069B48:
- movs r0, 0x1
- ldr r2, [sp, 0xC]
- ands r0, r2
- cmp r0, 0
- beq _08069B8A
- ldrb r1, [r4]
- cmp r1, 0x1
- bne _08069B8A
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- ands r0, r1
- cmp r0, 0
- beq _08069B84
- movs r0, 0x2
- bl sub_8069DEC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08069B84
- adds r0, r5, 0
- movs r1, 0x3
- bl __divsi3
- lsls r5, r0, 1
- b _08069B8A
- .pool
-_08069B84:
- lsrs r0, r5, 31
- adds r0, r5, r0
- asrs r5, r0, 1
-_08069B8A:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08069BBC
- ldr r0, =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 _08069BBC
- movs r0, 0x2
- bl sub_8069DEC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08069BBC
- lsrs r0, r5, 31
- adds r0, r5, r0
- asrs r5, r0, 1
-_08069BBC:
- cmp r5, 0
- bne _08069BC2
- movs r5, 0x1
-_08069BC2:
- mov r7, r10
- cmp r7, 0x9
- bne _08069BCA
- movs r5, 0
-_08069BCA:
- mov r0, r10
- cmp r0, 0x9
- bhi _08069BD2
- b _08069DD4
-_08069BD2:
- ldr r0, =gCritMultiplier
- ldrb r1, [r0]
- adds r4, r0, 0
- cmp r1, 0x2
- bne _08069BFC
- movs r0, 0x1C
- ldrsb r0, [r6, r0]
- cmp r0, 0x6
- ble _08069BF8
- ldr r2, =gUnknown_08329D2E
- b _08069C02
- .pool
-_08069BF8:
- mov r5, r8
- b _08069C1A
-_08069BFC:
- ldr r2, =gUnknown_08329D2E
- movs r0, 0x1C
- ldrsb r0, [r6, r0]
-_08069C02:
- 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
-_08069C1A:
- ldr r0, =gBattleMovePower
- 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 _08069C54
- ldr r1, [sp, 0x4]
- movs r0, 0x1D
- ldrsb r0, [r1, r0]
- cmp r0, 0x5
- bgt _08069C50
- ldr r2, =gUnknown_08329D2E
- b _08069C5C
- .pool
-_08069C50:
- ldr r3, [sp, 0x1C]
- b _08069C76
-_08069C54:
- ldr r2, =gUnknown_08329D2E
- ldr r7, [sp, 0x4]
- movs r0, 0x1D
- ldrsb r0, [r7, r0]
-_08069C5C:
- lsls r0, 1
- adds r1, r0, r2
- ldrb r1, [r1]
- ldr r6, [sp, 0x1C]
- 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
-_08069C76:
- 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 _08069CCA
- ldrb r1, [r4]
- cmp r1, 0x1
- bne _08069CCA
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- ands r0, r1
- cmp r0, 0
- beq _08069CC4
- movs r0, 0x2
- bl sub_8069DEC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08069CC4
- adds r0, r5, 0
- movs r1, 0x3
- bl __divsi3
- lsls r5, r0, 1
- b _08069CCA
- .pool
-_08069CC4:
- lsrs r0, r5, 31
- adds r0, r5, r0
- asrs r5, r0, 1
-_08069CCA:
- ldr r0, =gBattleTypeFlags
- ldr r0, [r0]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08069CFC
- ldr r0, =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 _08069CFC
- movs r0, 0x2
- bl sub_8069DEC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _08069CFC
- lsrs r0, r5, 31
- adds r0, r5, r0
- asrs r5, r0, 1
-_08069CFC:
- movs r0, 0
- str r0, [sp]
- movs r0, 0xE
- movs r1, 0
- movs r2, 0xD
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08069DAC
- str r0, [sp]
- movs r0, 0xE
- movs r1, 0
- movs r2, 0x4D
- movs r3, 0
- bl AbilityBattleEffects
- lsls r0, 24
- cmp r0, 0
- bne _08069DAC
- ldr r2, =gBattleWeather
- ldrh r1, [r2]
- movs r0, 0x1
- ands r0, r1
- adds r4, r2, 0
- cmp r0, 0
- beq _08069D64
- mov r3, r10
- cmp r3, 0xA
- beq _08069D50
- cmp r3, 0xB
- beq _08069D58
- b _08069D64
- .pool
-_08069D50:
- lsrs r0, r5, 31
- adds r0, r5, r0
- asrs r5, r0, 1
- b _08069D64
-_08069D58:
- lsls r0, r5, 4
- subs r0, r5
- movs r1, 0xA
- bl __divsi3
- adds r5, r0, 0
-_08069D64:
- ldrh r1, [r4]
- movs r0, 0x9F
- ands r0, r1
- cmp r0, 0
- beq _08069D7C
- ldr r0, =gCurrentMove
- ldrh r0, [r0]
- cmp r0, 0x4C
- bne _08069D7C
- lsrs r0, r5, 31
- adds r0, r5, r0
- asrs r5, r0, 1
-_08069D7C:
- ldrh r1, [r4]
- movs r0, 0x60
- ands r0, r1
- cmp r0, 0
- beq _08069DAC
- mov r6, r10
- cmp r6, 0xA
- beq _08069D98
- cmp r6, 0xB
- beq _08069DA6
- b _08069DAC
- .pool
-_08069D98:
- lsls r0, r5, 4
- subs r0, r5
- movs r1, 0xA
- bl __divsi3
- adds r5, r0, 0
- b _08069DAC
-_08069DA6:
- lsrs r0, r5, 31
- adds r0, r5, r0
- asrs r5, r0, 1
-_08069DAC:
- ldr r0, =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 _08069DD4
- mov r0, r10
- cmp r0, 0xA
- bne _08069DD4
- lsls r0, r5, 4
- subs r0, r5
- movs r1, 0xA
- bl __divsi3
- adds r5, r0, 0
-_08069DD4:
- adds r0, r5, 0x2
- add sp, 0x30
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .pool
- thumb_func_end sub_806957C
-
- .align 2, 0 @ Don't pad with nop.
diff --git a/asm/pokemon_2.s b/asm/pokemon_2.s
index 66673664f..7c7db81fb 100644
--- a/asm/pokemon_2.s
+++ b/asm/pokemon_2.s
@@ -5,8 +5,8 @@
.text
- thumb_func_start sub_8069DEC
-sub_8069DEC: @ 8069DEC
+ thumb_func_start CountAliveMonsInBattle
+CountAliveMonsInBattle: @ 8069DEC
push {r4-r6,lr}
lsls r0, 24
lsrs r0, 24
@@ -115,10 +115,10 @@ _08069EC2:
pop {r1}
bx r1
.pool
- thumb_func_end sub_8069DEC
+ thumb_func_end CountAliveMonsInBattle
- thumb_func_start sub_8069ED8
-sub_8069ED8: @ 8069ED8
+ thumb_func_start ShouldGetStatBadgeBoost
+ShouldGetStatBadgeBoost: @ 8069ED8
push {r4,r5,lr}
lsls r0, 16
lsrs r5, r0, 16
@@ -162,7 +162,7 @@ _08069F2E:
pop {r4,r5}
pop {r1}
bx r1
- thumb_func_end sub_8069ED8
+ thumb_func_end ShouldGetStatBadgeBoost
thumb_func_start sub_8069F34
sub_8069F34: @ 8069F34
@@ -186,7 +186,7 @@ sub_8069F34: @ 8069F34
.pool
_08069F5C:
movs r0, 0
- bl sub_8069DEC
+ bl CountAliveMonsInBattle
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
diff --git a/asm/rom_8034C54.s b/asm/rom_8034C54.s
index c22aad8d4..ba1ad38d4 100644
--- a/asm/rom_8034C54.s
+++ b/asm/rom_8034C54.s
@@ -14889,7 +14889,7 @@ _0803CFDC:
adds r4, r0, r1
ldrh r0, [r4, 0x6]
muls r3, r0
- ldr r2, =gUnknown_08329D2E
+ ldr r2, =gStatStageRatios
movs r1, 0x1B
ldrsb r1, [r4, r1]
lsls r1, 1
@@ -14993,7 +14993,7 @@ _0803D0B8:
ldrh r0, [r4, 0x6]
adds r3, r0, 0
muls r3, r7
- ldr r2, =gUnknown_08329D2E
+ ldr r2, =gStatStageRatios
movs r1, 0x1B
ldrsb r1, [r4, r1]
lsls r1, 1
diff --git a/asm/rom_817C95C.s b/asm/rom_817C95C.s
index 528c7655a..de523a85b 100644
--- a/asm/rom_817C95C.s
+++ b/asm/rom_817C95C.s
@@ -4443,7 +4443,7 @@ _0817EFC2:
mov r6, r9
ldrb r4, [r6]
str r4, [sp, 0xC]
- bl sub_806957C
+ bl CalculateBaseDamage
adds r3, r0, 0
ldr r4, =gBattleMoveDamage
str r3, [r4]