From 44453888dfcdeb6e991f1e576343f5ee209d06df Mon Sep 17 00:00:00 2001 From: Martin Griffin Date: Tue, 11 Nov 2025 21:00:03 +0000 Subject: [PATCH] =?UTF-8?q?AccuracyCheck:=20Avoid=20calling=20GetMoveEffec?= =?UTF-8?q?t=20with=20NO=5FACC=5FCALC=5FCHECK=5FLOC=E2=80=A6=20(#8222)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/battle_script_commands.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 7331ea8e5e..79bc2dd2b4 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -1333,10 +1333,6 @@ static void AccuracyCheck(bool32 recalcDragonDarts, const u8 *nextInstr, const u if (move == ACC_CURR_MOVE) move = gCurrentMove; - enum BattleMoveEffects effect = GetMoveEffect(move); - enum Ability abilityAtk = GetBattlerAbility(gBattlerAttacker); - enum HoldEffect holdEffectAtk = GetBattlerHoldEffect(gBattlerAttacker); - if (move == NO_ACC_CALC_CHECK_LOCK_ON) { if (gBattleMons[gBattlerTarget].volatiles.lockOn && gDisableStructs[gBattlerTarget].battlerWithSureHit == gBattlerAttacker) @@ -1357,8 +1353,14 @@ static void AccuracyCheck(bool32 recalcDragonDarts, const u8 *nextInstr, const u GetBattleMoveType(gCurrentMove), RUN_SCRIPT); } + return; } - else if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_2ND_HIT + + enum Ability abilityAtk = GetBattlerAbility(gBattlerAttacker); + enum HoldEffect holdEffectAtk = GetBattlerHoldEffect(gBattlerAttacker); + enum BattleMoveEffects effect = GetMoveEffect(move); + + if (gSpecialStatuses[gBattlerAttacker].parentalBondState == PARENTAL_BOND_2ND_HIT || (gSpecialStatuses[gBattlerAttacker].multiHitOn && (abilityAtk == ABILITY_SKILL_LINK || holdEffectAtk == HOLD_EFFECT_LOADED_DICE || !(effect == EFFECT_TRIPLE_KICK || effect == EFFECT_POPULATION_BOMB))))