fix ghost types unable to escape from mean look/trap

This commit is contained in:
Evan 2021-02-07 12:05:55 -07:00
parent 7a237595c9
commit 5e8c8a6aaf

View file

@ -5071,10 +5071,16 @@ u32 IsAbilityPreventingEscape(u32 battlerId)
bool32 CanBattlerEscape(u32 battlerId) // no ability check
{
return (GetBattlerHoldEffect(battlerId, TRUE) == HOLD_EFFECT_SHED_SHELL
|| !((gBattleMons[battlerId].status2 & (STATUS2_ESCAPE_PREVENTION | STATUS2_WRAPPED))
|| (gStatuses3[battlerId] & STATUS3_ROOTED)
|| gFieldStatuses & STATUS_FIELD_FAIRY_LOCK));
if (GetBattlerHoldEffect(battlerId, TRUE) == HOLD_EFFECT_SHED_SHELL)
return TRUE;
else if ((B_GHOSTS_ESCAPE >= GEN_6 && !IS_BATTLER_OF_TYPE(battlerId, TYPE_GHOST)) && gBattleMons[battlerId].status2 & (STATUS2_ESCAPE_PREVENTION | STATUS2_WRAPPED))
return FALSE;
else if (gStatuses3[battlerId] & STATUS3_ROOTED)
return FALSE;
else if (gFieldStatuses & STATUS_FIELD_FAIRY_LOCK)
return FALSE;
else
return TRUE;
}
void BattleScriptExecute(const u8 *BS_ptr)