Fixes moves based on Dragon Darts with strikeCount > 2 always hitting the same battler from the second hit onwards (#5830)
This commit is contained in:
parent
a2aba3f86a
commit
a60a23474b
@ -1734,7 +1734,6 @@ static void AccuracyCheck(bool32 recalcDragonDarts, const u8 *nextInstr, const u
|
||||
{
|
||||
// Smart target to partner if miss
|
||||
gBattlerTarget = BATTLE_PARTNER(battlerDef);
|
||||
gBattleStruct->moveResultFlags[battlerDef] &= ~MOVE_RESULT_MISSED;
|
||||
AccuracyCheck(TRUE, nextInstr, failInstr, move);
|
||||
return;
|
||||
}
|
||||
@ -6511,7 +6510,7 @@ static void Cmd_moveend(void)
|
||||
else
|
||||
{
|
||||
if (gMovesInfo[gCurrentMove].effect == EFFECT_DRAGON_DARTS
|
||||
&& gBattleStruct->moveTarget[gBattlerAttacker] == gBattlerTarget // Haven't already changed targets
|
||||
&& !(gBattleStruct->moveResultFlags[BATTLE_PARTNER(gBattlerTarget)] & MOVE_RESULT_MISSED) // didn't miss the other target
|
||||
&& CanTargetPartner(gBattlerAttacker, gBattlerTarget)
|
||||
&& !TargetFullyImmuneToCurrMove(gBattlerAttacker, BATTLE_PARTNER(gBattlerTarget)))
|
||||
gBattlerTarget = BATTLE_PARTNER(gBattlerTarget); // Target the partner in doubles for second hit.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user