Fixes Switch in flag not restoring mons properly with test (#5746)
This commit is contained in:
parent
e4ef3a440f
commit
953f2292e2
2 changed files with 15 additions and 0 deletions
|
@ -3507,6 +3507,7 @@ u32 AI_WhoStrikesFirstPartyMon(u32 battlerAtk, u32 battlerDef, struct BattlePoke
|
|||
SetBattlerAiData(battlerAtk, AI_DATA);
|
||||
u32 aiMonFaster = AI_IsFaster(battlerAtk, battlerDef, moveConsidered);
|
||||
FreeRestoreBattleMons(savedBattleMons);
|
||||
SetBattlerAiData(battlerAtk, AI_DATA);
|
||||
|
||||
return aiMonFaster;
|
||||
}
|
||||
|
|
|
@ -895,3 +895,17 @@ AI_SINGLE_BATTLE_TEST("Switch AI: AI will switch into mon with good type matchup
|
|||
TURN { MOVE(player, MOVE_TACKLE); EXPECT_SWITCH(opponent, 1); }
|
||||
}
|
||||
}
|
||||
|
||||
AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_MON_CHOICES: AI correctly handles abilities when scoring moves")
|
||||
{
|
||||
GIVEN {
|
||||
ASSUME(B_PRANKSTER_DARK_TYPES >= GEN_7);
|
||||
ASSUME(gSpeciesInfo[SPECIES_GRENINJA].types[1] == TYPE_DARK);
|
||||
AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY | AI_FLAG_OMNISCIENT | AI_FLAG_SMART_MON_CHOICES);
|
||||
PLAYER(SPECIES_GRENINJA) { Moves(MOVE_WATER_GUN); }
|
||||
OPPONENT(SPECIES_WHIMSICOTT) { Ability(ABILITY_PRANKSTER); Moves(MOVE_LEECH_SEED, MOVE_STUN_SPORE, MOVE_ABSORB); }
|
||||
OPPONENT(SPECIES_WHIMSICOTT) { Ability(ABILITY_INFILTRATOR); }
|
||||
} WHEN {
|
||||
TURN { MOVE(player, MOVE_WATER_GUN); EXPECT_MOVE(opponent, MOVE_ABSORB); }
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue