Merge pull request #1917 from BuffelSaft/unseen_fist

Implement Unseen Fist
This commit is contained in:
Eduardo Quezada D'Ottone 2021-11-19 17:29:25 -03:00 committed by GitHub
commit ef3f573cc2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -7517,8 +7517,13 @@ bool32 IsBattlerProtected(u8 battlerId, u16 move)
else if (gProtectStructs[battlerId].protected)
return FALSE;
}
if (!(gBattleMoves[move].flags & FLAG_PROTECT_AFFECTED))
// Protective Pads doesn't stop Unseen Fist from bypassing Protect effects, so IsMoveMakingContact() isn't used here.
// This means extra logic is needed to handle Shell Side Arm.
if (GetBattlerAbility(gBattlerAttacker == ABILITY_UNSEEN_FIST)
&& (gBattleMoves[move].flags & FLAG_MAKES_CONTACT || (gBattleMoves[move].effect == EFFECT_SHELL_SIDE_ARM && gSwapDamageCategory)))
return FALSE;
else if (!(gBattleMoves[move].flags & FLAG_PROTECT_AFFECTED))
return FALSE;
else if (gBattleMoves[move].effect == MOVE_EFFECT_FEINT)
return FALSE;