AccuracyCheck: Avoid calling GetMoveEffect with NO_ACC_CALC_CHECK_LOC… (#8222)

This commit is contained in:
Martin Griffin 2025-11-11 21:00:03 +00:00 committed by GitHub
parent 12b65b565b
commit 44453888df
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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))))