From f9d644ce0f7e2c4ec06d8a54af59d30690553c55 Mon Sep 17 00:00:00 2001 From: Seth Barberee Date: Mon, 30 May 2022 10:03:38 -0700 Subject: [PATCH] document CalculateStatusTurns (from PR comments) --- asm/code_8046CE4.s | 2 +- asm/code_80521D0.s | 4 +-- asm/code_805744C.s | 6 ++-- asm/code_8057824.s | 12 +++---- asm/code_8075BA4.s | 24 +++++++------- asm/code_8077274.s | 78 +++++++++++++++++++++++----------------------- asm/code_807E5AC.s | 4 +-- asm/code_807FCD4.s | 4 +-- src/code_808417C.c | 22 ++++++------- 9 files changed, 78 insertions(+), 78 deletions(-) diff --git a/asm/code_8046CE4.s b/asm/code_8046CE4.s index 713c3a3dd..6cbade5fa 100644 --- a/asm/code_8046CE4.s +++ b/asm/code_8046CE4.s @@ -1998,7 +1998,7 @@ sub_80482D4: ldr r1, _080482F8 adds r0, r4, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r2, r0, 0 adds r0, r5, 0 adds r1, r4, 0 diff --git a/asm/code_80521D0.s b/asm/code_80521D0.s index 393cfe850..500210389 100644 --- a/asm/code_80521D0.s +++ b/asm/code_80521D0.s @@ -6770,7 +6770,7 @@ _08055D54: ldr r1, _08055DD8 adds r0, r5, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r3, r0, 0 movs r0, 0 str r0, [sp] @@ -6925,7 +6925,7 @@ _08055EC0: ldr r1, _08055F88 adds r0, r4, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r2, r0, 0 adds r0, r4, 0 adds r1, r4, 0 diff --git a/asm/code_805744C.s b/asm/code_805744C.s index 4272c44bf..4d95c0ee3 100644 --- a/asm/code_805744C.s +++ b/asm/code_805744C.s @@ -376,7 +376,7 @@ sub_80576D0: ldr r1, _080576F4 adds r0, r4, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r2, r0, 0 adds r2, 0x1 adds r0, r5, 0 @@ -398,7 +398,7 @@ sub_80576F8: ldr r1, _0805771C adds r0, r4, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r2, r0, 0 adds r0, r5, 0 adds r1, r4, 0 @@ -420,7 +420,7 @@ sub_8057720: ldr r1, _08057744 adds r0, r4, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r2, r0, 0 adds r0, r5, 0 adds r1, r4, 0 diff --git a/asm/code_8057824.s b/asm/code_8057824.s index 3fd73d05b..d4600ed4c 100644 --- a/asm/code_8057824.s +++ b/asm/code_8057824.s @@ -90,7 +90,7 @@ sub_8057E28: ldr r1, _08057E4C adds r0, r4, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r2, r0, 0 adds r0, r5, 0 adds r1, r4, 0 @@ -1727,7 +1727,7 @@ sub_8058A54: ldr r1, _08058A78 adds r0, r4, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r2, r0, 0 adds r0, r5, 0 adds r1, r4, 0 @@ -5269,7 +5269,7 @@ sub_805A4D4: ldr r1, _0805A4F8 adds r0, r4, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r2, r0, 0 adds r0, r5, 0 adds r1, r4, 0 @@ -6166,7 +6166,7 @@ _0805ABEC: ldr r1, _0805AC04 adds r0, r6, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r2, r0, 0 adds r0, r5, 0 adds r1, r6, 0 @@ -6316,7 +6316,7 @@ sub_805AD04: ldr r1, _0805AD30 adds r0, r4, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r3, r0, 0 movs r0, 0x1 str r0, [sp] @@ -8393,7 +8393,7 @@ sub_805BC70: ldr r1, _0805BC94 adds r0, r4, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r2, r0, 0 adds r0, r5, 0 adds r1, r4, 0 diff --git a/asm/code_8075BA4.s b/asm/code_8075BA4.s index 2f26f5274..0343da63d 100644 --- a/asm/code_8075BA4.s +++ b/asm/code_8075BA4.s @@ -549,7 +549,7 @@ _08075FF6: ldr r1, _08076064 adds r0, r4, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r5, 0 adds r1, 0xA9 @@ -755,7 +755,7 @@ _080761A8: ldr r1, _080761EC adds r0, r4, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r5, 0 adds r1, 0xBD @@ -906,7 +906,7 @@ _080762E8: ldr r1, _08076330 adds r0, r5, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 mov r1, r8 adds r1, 0xAD @@ -1132,7 +1132,7 @@ _080764B4: ldr r1, _08076504 adds r0, r5, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 mov r1, r8 adds r1, 0xAD @@ -1364,7 +1364,7 @@ _0807669C: ldr r1, _080766E8 adds r0, r5, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 mov r1, r8 adds r1, 0xAD @@ -1595,7 +1595,7 @@ _08076892: ldr r1, _080768D4 adds r0, r5, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r7, 0 adds r1, 0xB8 @@ -1689,7 +1689,7 @@ _08076948: ldr r1, _080769A4 adds r0, r5, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r6, 0 adds r1, 0xB8 @@ -1796,7 +1796,7 @@ _08076A2A: ldr r1, _08076A80 adds r0, r5, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r6, 0 adds r1, 0xB8 @@ -1877,7 +1877,7 @@ _08076AD8: ldr r1, _08076B20 adds r0, r5, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r7, 0 adds r1, 0xB8 @@ -1971,7 +1971,7 @@ _08076B74: ldr r1, _08076C0C adds r0, r4, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 mov r1, r8 adds r1, 0xB8 @@ -2192,7 +2192,7 @@ _08076D7C: _08076D7E: adds r0, r6, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r4, 0 adds r1, 0xB8 @@ -2761,4 +2761,4 @@ _0807722E: _08077238: .4byte gUnknown_80FC21C thumb_func_end sub_8077160 - .align 2, 0 \ No newline at end of file + .align 2, 0 diff --git a/asm/code_8077274.s b/asm/code_8077274.s index 46662f7a4..08a891836 100644 --- a/asm/code_8077274.s +++ b/asm/code_8077274.s @@ -594,7 +594,7 @@ _08077718: ldr r1, _0807775C adds r0, r4, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r6, 0 adds r1, 0xBD @@ -699,7 +699,7 @@ _080777EC: ldr r1, _08077848 adds r0, r5, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 mov r1, r8 adds r1, 0xAD @@ -837,7 +837,7 @@ sub_8077910: ldr r1, _08077964 adds r0, r5, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r4, r0, 0x1 _08077940: ldr r6, [r5, 0x70] @@ -987,7 +987,7 @@ _08077A5A: adds r0, r5, 0 ldr r1, _08077A7C movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 strb r0, [r4] b _08077A86 @@ -1116,7 +1116,7 @@ _08077B58: ldr r1, _08077B90 adds r0, r4, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r5, 0 adds r1, 0xBD @@ -1181,7 +1181,7 @@ sub_8077BB4: ldr r1, _08077C20 adds r0, r4, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r5, 0 adds r1, 0xBD @@ -1675,7 +1675,7 @@ _08077FE2: ldr r1, _08078018 adds r0, r4, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r7, 0 adds r1, 0xD9 @@ -1845,7 +1845,7 @@ _08078134: ldr r1, _08078174 adds r0, r5, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r6, 0 adds r1, 0xD9 @@ -2058,7 +2058,7 @@ sub_80782CC: ldr r1, _08078324 adds r0, r4, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r5, 0 adds r1, 0xDD @@ -2117,7 +2117,7 @@ sub_8078348: ldr r1, _080783A0 adds r0, r4, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r5, 0 adds r1, 0xDD @@ -2276,7 +2276,7 @@ _080784A8: ldr r1, _08078588 adds r0, r7, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 ldr r1, [sp, 0x1C] strb r0, [r1] @@ -2427,7 +2427,7 @@ _080785F6: ldr r1, _08078634 adds r0, r6, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r7, 0 adds r1, 0xCB @@ -2537,7 +2537,7 @@ _080786C8: ldr r1, _08078744 adds r0, r6, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r5, 0 adds r1, 0xCB @@ -2616,7 +2616,7 @@ sub_8078758: ldr r1, _080787C0 adds r0, r4, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r6, 0 adds r1, 0xBD @@ -2740,7 +2740,7 @@ _08078884: ldr r1, _080788C4 adds r0, r4, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r7, 0 adds r1, 0xE5 @@ -2805,7 +2805,7 @@ sub_80788E8: ldr r1, _08078944 adds r0, r5, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 strb r0, [r4] ldr r0, _08078948 @@ -2918,7 +2918,7 @@ _080789F0: ldr r1, _08078A30 adds r0, r4, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r5, 0 adds r1, 0xBD @@ -3363,7 +3363,7 @@ sub_8078D8C: ldr r1, _08078DF4 adds r0, r4, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r6, 0 adds r1, 0xED @@ -3498,7 +3498,7 @@ _08078ED4: ldr r1, _08078F44 adds r0, r5, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r7, 0 adds r1, 0xE5 @@ -3575,7 +3575,7 @@ _08078F78: ldr r1, _08078FB8 adds r0, r4, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r7, 0 adds r1, 0xE5 @@ -3812,7 +3812,7 @@ BlindTarget: ldr r1, _080791B4 adds r0, r4, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r6, 0 adds r1, 0xE9 @@ -3889,7 +3889,7 @@ sub_80791D8: ldr r1, _08079250 adds r0, r4, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r7, 0 adds r1, 0xE9 @@ -3945,7 +3945,7 @@ RestoreVisionTarget: ldr r1, _080792D4 adds r0, r4, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r5, 0 adds r1, 0xE9 @@ -4486,7 +4486,7 @@ _080796C6: ldr r1, _08079718 adds r0, r7, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r2, r5, 0 adds r2, 0xC1 @@ -4501,7 +4501,7 @@ _080796E4: ldr r1, _0807971C adds r0, r7, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r5, 0 adds r1, 0xC1 @@ -4637,7 +4637,7 @@ _080797E8: ldr r1, _0807982C adds r0, r4, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r6, 0 adds r1, 0xC5 @@ -4689,7 +4689,7 @@ sub_8079834: ldr r1, _0807988C adds r0, r4, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r5, 0 adds r1, 0xC5 @@ -4748,7 +4748,7 @@ sub_80798B0: ldr r1, _08079908 adds r0, r4, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r5, 0 adds r1, 0xC5 @@ -4807,7 +4807,7 @@ sub_807992C: ldr r1, _08079984 adds r0, r4, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r5, 0 adds r1, 0xC5 @@ -4866,7 +4866,7 @@ sub_80799A8: ldr r1, _08079A00 adds r0, r4, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r5, 0 adds r1, 0xC5 @@ -4925,7 +4925,7 @@ sub_8079A24: ldr r1, _08079A7C adds r0, r4, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r5, 0 adds r1, 0xC5 @@ -4984,7 +4984,7 @@ sub_8079AA0: ldr r1, _08079AF8 adds r0, r4, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r5, 0 adds r1, 0xC5 @@ -5041,7 +5041,7 @@ sub_8079B1C: ldr r1, _08079B70 adds r0, r4, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r5, 0 adds r1, 0xC5 @@ -5107,7 +5107,7 @@ sub_8079BA8: ldr r1, _08079C00 adds r0, r4, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r5, 0 adds r1, 0xC5 @@ -5166,7 +5166,7 @@ sub_8079C24: ldr r1, _08079C7C adds r0, r4, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r5, 0 adds r1, 0xC5 @@ -5225,7 +5225,7 @@ sub_8079CA0: ldr r1, _08079CF8 adds r0, r4, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r5, 0 adds r1, 0xC5 @@ -5299,7 +5299,7 @@ _08079D50: ldr r1, _08079D94 adds r0, r4, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r6, 0 adds r1, 0xC5 @@ -5358,7 +5358,7 @@ sub_8079DB8: ldr r1, _08079E10 adds r0, r4, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns adds r0, 0x1 adds r1, r5, 0 adds r1, 0xC5 @@ -5900,7 +5900,7 @@ _0807A228: ldr r1, _0807A250 adds r0, r5, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r2, r0, 0 adds r2, 0x1 adds r0, r6, 0 diff --git a/asm/code_807E5AC.s b/asm/code_807E5AC.s index 56979bb93..ffe0b3ca1 100644 --- a/asm/code_807E5AC.s +++ b/asm/code_807E5AC.s @@ -485,7 +485,7 @@ sub_807EA30: ldr r1, _0807EA5C movs r0, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns ldr r1, _0807EA60 ldr r1, [r1] ldr r2, _0807EA64 @@ -505,7 +505,7 @@ _0807EA6C: ldr r1, _0807EA90 movs r0, 0 movs r2, 0 - bl sub_808417C + bl CalculateStatusTurns ldr r1, _0807EA94 ldr r1, [r1] ldr r2, _0807EA98 diff --git a/asm/code_807FCD4.s b/asm/code_807FCD4.s index 57c6f3e32..9d544c1d9 100644 --- a/asm/code_807FCD4.s +++ b/asm/code_807FCD4.s @@ -866,7 +866,7 @@ sub_8080388: ldr r1, _080803B0 adds r0, r4, 0 movs r2, 0x1 - bl sub_808417C + bl CalculateStatusTurns adds r2, r0, 0 adds r0, r5, 0 adds r1, r4, 0 @@ -6598,4 +6598,4 @@ sub_8083260: bx r0 thumb_func_end sub_8083260 - .align 2, 0 \ No newline at end of file + .align 2, 0 diff --git a/src/code_808417C.c b/src/code_808417C.c index 38bef05f7..eb8a9dd34 100644 --- a/src/code_808417C.c +++ b/src/code_808417C.c @@ -6,21 +6,21 @@ #include "dungeon_random.h" #include "dungeon_util.h" -s32 sub_808417C(struct DungeonEntity *param_1, s16 *param_2, u8 param_3) +s32 CalculateStatusTurns(struct DungeonEntity *target, s16 *turnRange, bool8 factorCurerSkills) { - s32 iVar2; + s32 numTurns; - iVar2 = DungeonRandomRange(param_2[0],param_2[1]); - if (EntityExists(param_1) && (GetEntityType(param_1) == ENTITY_POKEMON) && (param_3 != 0)) { - if (HasIQSkill(param_1, IQ_SKILL_SELF_CURER) && (iVar2 != 0x7f)) { - iVar2 /= 2; + numTurns = DungeonRandomRange(turnRange[0],turnRange[1]); + if (EntityExists(target) && (GetEntityType(target) == ENTITY_POKEMON) && (factorCurerSkills)) { + if (HasIQSkill(target, IQ_SKILL_SELF_CURER) && (numTurns != 0x7f)) { + numTurns /= 2; } - if (HasAbility(param_1, ABILITY_NATURAL_CURE) && (iVar2 != 0x7f) && (4 < iVar2)) { - iVar2 = 5; + if (HasAbility(target, ABILITY_NATURAL_CURE) && (numTurns != 0x7f) && (4 < numTurns)) { + numTurns = 5; } } - if (iVar2 < 1) { - iVar2 = 1; + if (numTurns < 1) { + numTurns = 1; } - return iVar2; + return numTurns; }