AI uses Flower Shield. (#7640)
This commit is contained in:
parent
9bfae7fa93
commit
16fa6c8f71
@ -4224,6 +4224,30 @@ static u32 AI_CalcMoveEffectScore(u32 battlerAtk, u32 battlerDef, u32 move)
|
||||
ADJUST_SCORE(AWFUL_EFFECT);
|
||||
}
|
||||
break;
|
||||
case EFFECT_FLOWER_SHIELD:
|
||||
if (IS_BATTLER_OF_TYPE(battlerAtk, TYPE_GRASS))
|
||||
{
|
||||
ADJUST_SCORE(IncreaseStatUpScore(battlerAtk, battlerDef, STAT_CHANGE_DEF));
|
||||
}
|
||||
if (hasPartner && IS_BATTLER_OF_TYPE(BATTLE_PARTNER(battlerAtk), TYPE_GRASS))
|
||||
{
|
||||
ADJUST_SCORE(IncreaseStatUpScore(BATTLE_PARTNER(battlerAtk), battlerDef, STAT_CHANGE_DEF));
|
||||
}
|
||||
if (IS_BATTLER_OF_TYPE(FOE(battlerAtk), TYPE_GRASS))
|
||||
{
|
||||
if (aiData->abilities[FOE(battlerAtk)] == ABILITY_CONTRARY)
|
||||
ADJUST_SCORE(WEAK_EFFECT);
|
||||
else
|
||||
ADJUST_SCORE(AWFUL_EFFECT);
|
||||
}
|
||||
if (IS_BATTLER_OF_TYPE(BATTLE_PARTNER(FOE(battlerAtk)), TYPE_GRASS))
|
||||
{
|
||||
if (aiData->abilities[BATTLE_PARTNER(FOE(battlerAtk))] == ABILITY_CONTRARY)
|
||||
ADJUST_SCORE(WEAK_EFFECT);
|
||||
else
|
||||
ADJUST_SCORE(AWFUL_EFFECT);
|
||||
}
|
||||
break;
|
||||
case EFFECT_HAZE:
|
||||
if (AnyStatIsRaised(BATTLE_PARTNER(battlerAtk))
|
||||
|| DoesPartnerHaveSameMoveEffect(BATTLE_PARTNER(battlerAtk), battlerDef, move, aiData->partnerMove))
|
||||
|
||||
@ -456,7 +456,6 @@ AI_DOUBLE_BATTLE_TEST("AI can use all moves, 501-600")
|
||||
case EFFECT_ION_DELUGE:
|
||||
case EFFECT_AROMATIC_MIST:
|
||||
case EFFECT_POWDER:
|
||||
case EFFECT_FLOWER_SHIELD:
|
||||
case EFFECT_ELECTRIFY:
|
||||
|
||||
//TODO: AI TESTS
|
||||
@ -467,6 +466,7 @@ AI_DOUBLE_BATTLE_TEST("AI can use all moves, 501-600")
|
||||
case EFFECT_FAIRY_LOCK:
|
||||
|
||||
// tests exist elsewhere
|
||||
case EFFECT_FLOWER_SHIELD:
|
||||
case EFFECT_ROTOTILLER:
|
||||
case EFFECT_GRASSY_TERRAIN:
|
||||
case EFFECT_MISTY_TERRAIN:
|
||||
|
||||
@ -37,3 +37,19 @@ DOUBLE_BATTLE_TEST("Flower Shield raises the defense of all Grass-type Pokémon"
|
||||
}
|
||||
|
||||
TO_DO_BATTLE_TEST("Flower Shield fails if there's no Grass-type Pokémon on the field")
|
||||
|
||||
AI_DOUBLE_BATTLE_TEST("AI uses Flower Shield")
|
||||
{
|
||||
GIVEN {
|
||||
ASSUME(GetSpeciesType(SPECIES_TANGELA, 0) == TYPE_GRASS);
|
||||
ASSUME(GetSpeciesType(SPECIES_WOBBUFFET, 0) != TYPE_GRASS);
|
||||
ASSUME(GetSpeciesType(SPECIES_WOBBUFFET, 1) != TYPE_GRASS);
|
||||
AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_CHECK_VIABILITY | AI_FLAG_TRY_TO_FAINT | AI_FLAG_OMNISCIENT);
|
||||
PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_POUND, MOVE_CELEBRATE); }
|
||||
PLAYER(SPECIES_WOBBUFFET) { Moves(MOVE_POUND, MOVE_CELEBRATE); }
|
||||
OPPONENT(SPECIES_TANGELA) { Moves(MOVE_FLOWER_SHIELD, MOVE_POUND); }
|
||||
OPPONENT(SPECIES_TANGELA);
|
||||
} WHEN {
|
||||
TURN { EXPECT_MOVE(opponentLeft, MOVE_FLOWER_SHIELD); }
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user