Pastel Veil grants immunity to poison
This commit is contained in:
parent
3647825a30
commit
6a403ab45c
@ -834,7 +834,7 @@ static bool8 DoesAbilityPreventStatus(struct Pokemon *mon, u32 status)
|
||||
ret = TRUE;
|
||||
break;
|
||||
case STATUS1_TOXIC_POISON:
|
||||
if (ability == ABILITY_IMMUNITY)
|
||||
if (ability == ABILITY_IMMUNITY || ability == ABILITY_PASTEL_VEIL)
|
||||
ret = TRUE;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -2880,11 +2880,11 @@ void SetMoveEffect(bool32 primary, u32 certain)
|
||||
statusChanged = TRUE;
|
||||
break;
|
||||
case STATUS1_POISON:
|
||||
if (battlerAbility == ABILITY_IMMUNITY
|
||||
if ((battlerAbility == ABILITY_IMMUNITY || battlerAbility == ABILITY_PASTEL_VEIL)
|
||||
&& (primary == TRUE || certain == MOVE_EFFECT_CERTAIN))
|
||||
{
|
||||
gLastUsedAbility = ABILITY_IMMUNITY;
|
||||
RecordAbilityBattle(gEffectBattler, ABILITY_IMMUNITY);
|
||||
gLastUsedAbility = battlerAbility;
|
||||
RecordAbilityBattle(gEffectBattler, battlerAbility);
|
||||
|
||||
BattleScriptPush(gBattlescriptCurrInstr + 1);
|
||||
gBattlescriptCurrInstr = BattleScript_PSNPrevention;
|
||||
@ -3004,10 +3004,11 @@ void SetMoveEffect(bool32 primary, u32 certain)
|
||||
statusChanged = TRUE;
|
||||
break;
|
||||
case STATUS1_TOXIC_POISON:
|
||||
if (battlerAbility == ABILITY_IMMUNITY && (primary == TRUE || certain == MOVE_EFFECT_CERTAIN))
|
||||
if ((battlerAbility == ABILITY_IMMUNITY || battlerAbility == ABILITY_PASTEL_VEIL)
|
||||
&& (primary == TRUE || certain == MOVE_EFFECT_CERTAIN))
|
||||
{
|
||||
gLastUsedAbility = ABILITY_IMMUNITY;
|
||||
RecordAbilityBattle(gEffectBattler, ABILITY_IMMUNITY);
|
||||
gLastUsedAbility = battlerAbility;
|
||||
RecordAbilityBattle(gEffectBattler, battlerAbility);
|
||||
|
||||
BattleScriptPush(gBattlescriptCurrInstr + 1);
|
||||
gBattlescriptCurrInstr = BattleScript_PSNPrevention;
|
||||
@ -6765,6 +6766,7 @@ static void Cmd_switchineffects(void)
|
||||
if (!(gBattleMons[gActiveBattler].status1 & STATUS1_ANY)
|
||||
&& !IS_BATTLER_OF_TYPE(gActiveBattler, TYPE_STEEL)
|
||||
&& GetBattlerAbility(gActiveBattler) != ABILITY_IMMUNITY
|
||||
&& !IsAbilityOnSide(gActiveBattler, ABILITY_PASTEL_VEIL)
|
||||
&& !(gSideStatuses[GetBattlerSide(gActiveBattler)] & SIDE_STATUS_SAFEGUARD)
|
||||
&& !(gFieldStatuses & STATUS_FIELD_MISTY_TERRAIN))
|
||||
{
|
||||
|
||||
@ -5956,6 +5956,7 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move
|
||||
switch (GetBattlerAbility(battler))
|
||||
{
|
||||
case ABILITY_IMMUNITY:
|
||||
case ABILITY_PASTEL_VEIL:
|
||||
if (gBattleMons[battler].status1 & (STATUS1_POISON | STATUS1_TOXIC_POISON | STATUS1_TOXIC_COUNTER))
|
||||
{
|
||||
StringCopy(gBattleTextBuff1, gStatusConditionString_PoisonJpn);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user