Add AI for Zero to Hero Palafin (#6791)
This commit is contained in:
parent
5820cc99f6
commit
da047dfd22
@ -769,6 +769,11 @@ static bool32 ShouldSwitchIfAbilityBenefit(u32 battler)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
case ABILITY_ZERO_TO_HERO:
|
||||||
|
// Want to activate Palafin-Zero at all costs
|
||||||
|
if (gBattleMons[battler].species == SPECIES_PALAFIN_ZERO)
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|||||||
@ -2907,6 +2907,12 @@ enum AIPivot ShouldPivot(u32 battlerAtk, u32 battlerDef, u32 defAbility, u32 mov
|
|||||||
|
|
||||||
battlerToSwitch = gBattleStruct->AI_monToSwitchIntoId[battlerAtk];
|
battlerToSwitch = gBattleStruct->AI_monToSwitchIntoId[battlerAtk];
|
||||||
|
|
||||||
|
// Palafin always wants to activate Zero to Hero
|
||||||
|
if (gBattleMons[battlerAtk].species == SPECIES_PALAFIN_ZERO
|
||||||
|
&& gBattleMons[battlerAtk].ability == ABILITY_ZERO_TO_HERO
|
||||||
|
&& CountUsablePartyMons(battlerAtk) != 0)
|
||||||
|
return SHOULD_PIVOT;
|
||||||
|
|
||||||
if (PartyBattlerShouldAvoidHazards(battlerAtk, battlerToSwitch))
|
if (PartyBattlerShouldAvoidHazards(battlerAtk, battlerToSwitch))
|
||||||
return DONT_PIVOT;
|
return DONT_PIVOT;
|
||||||
|
|
||||||
|
|||||||
@ -1153,3 +1153,27 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if all moves
|
|||||||
TURN { EXPECT_SWITCH(opponent, 1); MOVE(player, MOVE_ROOST); }
|
TURN { EXPECT_SWITCH(opponent, 1); MOVE(player, MOVE_ROOST); }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
AI_SINGLE_BATTLE_TEST("Switch AI: AI will switch out if Palafin-Zero isn't transformed yet")
|
||||||
|
{
|
||||||
|
GIVEN {
|
||||||
|
AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT);
|
||||||
|
PLAYER(SPECIES_FINIZEN);
|
||||||
|
OPPONENT(SPECIES_PALAFIN_ZERO);
|
||||||
|
OPPONENT(SPECIES_FINIZEN);
|
||||||
|
} WHEN {
|
||||||
|
TURN { MOVE(player, MOVE_CELEBRATE); EXPECT_SWITCH(opponent, 1); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
AI_SINGLE_BATTLE_TEST("Switch AI: AI will use pivot move to activate Palafin's Zero to Hero rather than hard switching")
|
||||||
|
{
|
||||||
|
GIVEN {
|
||||||
|
AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT);
|
||||||
|
PLAYER(SPECIES_FINIZEN);
|
||||||
|
OPPONENT(SPECIES_PALAFIN_ZERO) { Moves(MOVE_FLIP_TURN); }
|
||||||
|
OPPONENT(SPECIES_FINIZEN);
|
||||||
|
} WHEN {
|
||||||
|
TURN { MOVE(player, MOVE_CELEBRATE); EXPECT_MOVE(opponent, MOVE_FLIP_TURN); EXPECT_SEND_OUT(opponent, 1); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user