Fixes Purifying Salt being poisoned by Toxic Spikes (#5252)

This commit is contained in:
Alex 2024-08-25 15:06:03 +02:00 committed by GitHub
parent 51a127fcb5
commit 92038129e2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 20 additions and 2 deletions

View file

@ -7184,7 +7184,7 @@ static void UpdateSentMonFlags(u32 battler)
static bool32 DoSwitchInEffectsForBattler(u32 battler)
{
u32 i;
u32 i = 0;
// Neutralizing Gas announces itself before hazards
if (gBattleMons[battler].ability == ABILITY_NEUTRALIZING_GAS && gSpecialStatuses[battler].announceNeutralizingGas == 0)
{
@ -7252,9 +7252,11 @@ static bool32 DoSwitchInEffectsForBattler(u32 battler)
}
else if (IsBattlerAffectedByHazards(battler, TRUE))
{
i = GetBattlerAbility(battler);
if (!(gBattleMons[battler].status1 & STATUS1_ANY)
&& !IS_BATTLER_OF_TYPE(battler, TYPE_STEEL)
&& GetBattlerAbility(battler) != ABILITY_IMMUNITY
&& i != ABILITY_IMMUNITY
&& i != ABILITY_PURIFYING_SALT
&& !IsAbilityOnSide(battler, ABILITY_PASTEL_VEIL)
&& !(gSideStatuses[GetBattlerSide(battler)] & SIDE_STATUS_SAFEGUARD)
&& !(gFieldStatuses & STATUS_FIELD_MISTY_TERRAIN))

View file

@ -84,3 +84,19 @@ SINGLE_BATTLE_TEST("Purifying Salt grants immunity to status effects")
}
}
}
SINGLE_BATTLE_TEST("Purifying Salt user can't be poisoned by Toxic Spikes")
{
GIVEN {
PLAYER(SPECIES_WOBBUFFET);
PLAYER(SPECIES_GARGANACL) { Ability(ABILITY_PURIFYING_SALT); }
OPPONENT(SPECIES_WOBBUFFET);
} WHEN {
TURN { MOVE(opponent, MOVE_TOXIC_SPIKES); }
TURN { SWITCH(player, 1); }
} SCENE {
SEND_IN_MESSAGE("Garganacl");
} THEN {
EXPECT_EQ(player->status1, STATUS1_NONE);
}
}