diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/battle_3.s | 4 | ||||
-rw-r--r-- | asm/battle_4.s | 12 | ||||
-rw-r--r-- | asm/battle_controller_player.s | 2 | ||||
-rw-r--r-- | asm/calculate_base_damage.s | 1045 | ||||
-rw-r--r-- | asm/pokemon_2.s | 14 | ||||
-rw-r--r-- | asm/rom_8034C54.s | 4 | ||||
-rw-r--r-- | asm/rom_817C95C.s | 2 |
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] |