Replace BattleStruct members quickClawRandom/quickDrawRandom with locals (#6136)
This commit is contained in:
parent
927bb8f833
commit
6432027f6b
@ -806,8 +806,6 @@ struct BattleStruct
|
||||
u8 dauntlessShieldBoost[NUM_BATTLE_SIDES];
|
||||
u8 supersweetSyrup[NUM_BATTLE_SIDES];
|
||||
u8 supremeOverlordCounter[MAX_BATTLERS_COUNT];
|
||||
u8 quickClawRandom[MAX_BATTLERS_COUNT];
|
||||
u8 quickDrawRandom[MAX_BATTLERS_COUNT];
|
||||
u8 shellSideArmCategory[MAX_BATTLERS_COUNT][MAX_BATTLERS_COUNT];
|
||||
u8 speedTieBreaks; // MAX_BATTLERS_COUNT! values.
|
||||
u8 categoryOverride; // for Z-Moves and Max Moves
|
||||
|
||||
@ -111,7 +111,7 @@ static void SetActionsAndBattlersTurnOrder(void);
|
||||
static void UpdateBattlerPartyOrdersOnSwitch(u32 battler);
|
||||
static bool8 AllAtActionConfirmed(void);
|
||||
static void TryChangeTurnOrder(void);
|
||||
static void TryChangingTurnOrderEffects(u32 battler1, u32 battler2);
|
||||
static void TryChangingTurnOrderEffects(u32 battler1, u32 battler2, u32 *quickClawRandom, u32 *quickDrawRandom);
|
||||
static void CheckChangingTurnOrderEffects(void);
|
||||
static void FreeResetData_ReturnToOvOrDoEvolutions(void);
|
||||
static void ReturnFromBattleToOverworld(void);
|
||||
@ -5045,6 +5045,9 @@ static void SetActionsAndBattlersTurnOrder(void)
|
||||
}
|
||||
else
|
||||
{
|
||||
u32 quickClawRandom[MAX_BATTLERS_COUNT] = {0};
|
||||
u32 quickDrawRandom[MAX_BATTLERS_COUNT] = {0};
|
||||
|
||||
for (battler = 0; battler < gBattlersCount; battler++)
|
||||
{
|
||||
if (gChosenActionByBattler[battler] == B_ACTION_USE_ITEM
|
||||
@ -5064,8 +5067,8 @@ static void SetActionsAndBattlersTurnOrder(void)
|
||||
{
|
||||
gActionsByTurnOrder[turnOrderId] = gChosenActionByBattler[battler];
|
||||
gBattlerByTurnOrder[turnOrderId] = battler;
|
||||
gBattleStruct->quickClawRandom[battler] = RandomPercentage(RNG_QUICK_CLAW, GetBattlerHoldEffectParam(battler));
|
||||
gBattleStruct->quickDrawRandom[battler] = RandomPercentage(RNG_QUICK_DRAW, 30);
|
||||
quickClawRandom[battler] = RandomPercentage(RNG_QUICK_CLAW, GetBattlerHoldEffectParam(battler));
|
||||
quickDrawRandom[battler] = RandomPercentage(RNG_QUICK_DRAW, 30);
|
||||
turnOrderId++;
|
||||
}
|
||||
}
|
||||
@ -5075,7 +5078,7 @@ static void SetActionsAndBattlersTurnOrder(void)
|
||||
{
|
||||
u8 battler1 = gBattlerByTurnOrder[i];
|
||||
u8 battler2 = gBattlerByTurnOrder[j];
|
||||
TryChangingTurnOrderEffects(battler1, battler2);
|
||||
TryChangingTurnOrderEffects(battler1, battler2, quickClawRandom, quickDrawRandom);
|
||||
if (gActionsByTurnOrder[i] != B_ACTION_USE_ITEM
|
||||
&& gActionsByTurnOrder[j] != B_ACTION_USE_ITEM
|
||||
&& gActionsByTurnOrder[i] != B_ACTION_SWITCH
|
||||
@ -5254,7 +5257,7 @@ static void TryChangeTurnOrder(void)
|
||||
}
|
||||
}
|
||||
|
||||
static void TryChangingTurnOrderEffects(u32 battler1, u32 battler2)
|
||||
static void TryChangingTurnOrderEffects(u32 battler1, u32 battler2, u32 *quickClawRandom, u32 *quickDrawRandom)
|
||||
{
|
||||
u32 ability1 = GetBattlerAbility(battler1);
|
||||
u32 holdEffectBattler1 = GetBattlerHoldEffect(battler1, TRUE);
|
||||
@ -5263,21 +5266,21 @@ static void TryChangingTurnOrderEffects(u32 battler1, u32 battler2)
|
||||
|
||||
// Battler 1
|
||||
// Quick Draw
|
||||
if (ability1 == ABILITY_QUICK_DRAW && !IsBattleMoveStatus(gChosenMoveByBattler[battler1]) && gBattleStruct->quickDrawRandom[battler1])
|
||||
if (ability1 == ABILITY_QUICK_DRAW && !IsBattleMoveStatus(gChosenMoveByBattler[battler1]) && quickDrawRandom[battler1])
|
||||
gProtectStructs[battler1].quickDraw = TRUE;
|
||||
// Quick Claw and Custap Berry
|
||||
if (!gProtectStructs[battler1].quickDraw
|
||||
&& ((holdEffectBattler1 == HOLD_EFFECT_QUICK_CLAW && gBattleStruct->quickClawRandom[battler1])
|
||||
&& ((holdEffectBattler1 == HOLD_EFFECT_QUICK_CLAW && quickClawRandom[battler1])
|
||||
|| (holdEffectBattler1 == HOLD_EFFECT_CUSTAP_BERRY && HasEnoughHpToEatBerry(battler1, 4, gBattleMons[battler1].item))))
|
||||
gProtectStructs[battler1].usedCustapBerry = TRUE;
|
||||
|
||||
// Battler 2
|
||||
// Quick Draw
|
||||
if (ability2 == ABILITY_QUICK_DRAW && !IsBattleMoveStatus(gChosenMoveByBattler[battler2]) && gBattleStruct->quickDrawRandom[battler2])
|
||||
if (ability2 == ABILITY_QUICK_DRAW && !IsBattleMoveStatus(gChosenMoveByBattler[battler2]) && quickDrawRandom[battler2])
|
||||
gProtectStructs[battler2].quickDraw = TRUE;
|
||||
// Quick Claw and Custap Berry
|
||||
if (!gProtectStructs[battler2].quickDraw
|
||||
&& ((holdEffectBattler2 == HOLD_EFFECT_QUICK_CLAW && gBattleStruct->quickClawRandom[battler2])
|
||||
&& ((holdEffectBattler2 == HOLD_EFFECT_QUICK_CLAW && quickClawRandom[battler2])
|
||||
|| (holdEffectBattler2 == HOLD_EFFECT_CUSTAP_BERRY && HasEnoughHpToEatBerry(battler2, 4, gBattleMons[battler2].item))))
|
||||
gProtectStructs[battler2].usedCustapBerry = TRUE;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user