Mimicry updates typing with RemoveAllTerrains() (#5666)
Co-authored-by: Alex <93446519+AlexOn1ine@users.noreply.github.com>
This commit is contained in:
parent
8f137b33e4
commit
5388ed0cad
4 changed files with 35 additions and 1 deletions
|
@ -267,6 +267,7 @@ bool32 CanGetFrostbite(u32 battler);
|
|||
bool32 CanBeConfused(u32 battler);
|
||||
bool32 IsBattlerTerrainAffected(u32 battler, u32 terrainFlag);
|
||||
u32 GetBattlerAffectionHearts(u32 battler);
|
||||
void TryToRevertMimicryAndFlags(void);
|
||||
u32 CountBattlerStatIncreases(u32 battler, bool32 countEvasionAcc);
|
||||
bool32 ChangeTypeBasedOnTerrain(u32 battler);
|
||||
void RemoveConfusionStatus(u32 battler);
|
||||
|
|
|
@ -8655,6 +8655,7 @@ static void RemoveAllTerrains(void)
|
|||
break;
|
||||
}
|
||||
gFieldStatuses &= ~STATUS_FIELD_TERRAIN_ANY; // remove the terrain
|
||||
TryToRevertMimicryAndFlags();
|
||||
}
|
||||
|
||||
#define DEFOG_CLEAR(status, structField, battlescript, move)\
|
||||
|
|
|
@ -1612,7 +1612,7 @@ u32 GetBattlerAffectionHearts(u32 battler)
|
|||
return GetMonAffectionHearts(&party[gBattlerPartyIndexes[battler]]);
|
||||
}
|
||||
|
||||
static void TryToRevertMimicryAndFlags(void)
|
||||
void TryToRevertMimicryAndFlags(void)
|
||||
{
|
||||
u32 i;
|
||||
|
||||
|
|
|
@ -124,3 +124,35 @@ AI_SINGLE_BATTLE_TEST("Ice Spinner can be chosen by the AI regardless if there i
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Steel Roller and Ice Spinner reverts typing on Mimicry users")
|
||||
{
|
||||
u32 j;
|
||||
static const u16 terrainMoves[] =
|
||||
{
|
||||
MOVE_ELECTRIC_TERRAIN,
|
||||
MOVE_PSYCHIC_TERRAIN,
|
||||
MOVE_GRASSY_TERRAIN,
|
||||
MOVE_MISTY_TERRAIN,
|
||||
};
|
||||
|
||||
u16 terrainMove = MOVE_NONE;
|
||||
u16 removeTerrainMove = MOVE_NONE;
|
||||
|
||||
for (j = 0; j < ARRAY_COUNT(terrainMoves); j++)
|
||||
{
|
||||
PARAMETRIZE { removeTerrainMove = MOVE_STEEL_ROLLER; terrainMove = terrainMoves[j]; }
|
||||
PARAMETRIZE { removeTerrainMove = MOVE_ICE_SPINNER; terrainMove = terrainMoves[j]; }
|
||||
}
|
||||
|
||||
GIVEN {
|
||||
ASSUME(gSpeciesInfo[SPECIES_STUNFISK_GALARIAN].types[1] == TYPE_STEEL);
|
||||
PLAYER(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_STUNFISK_GALARIAN) { Ability(ABILITY_MIMICRY); }
|
||||
} WHEN {
|
||||
TURN { MOVE(opponent, terrainMove); MOVE(player, removeTerrainMove); }
|
||||
TURN { MOVE(player, MOVE_TOXIC); }
|
||||
} SCENE {
|
||||
MESSAGE("It doesn't affect Foe Stunfisk…");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue