Fix AI resisted move scoring (#7350)
This commit is contained in:
parent
d5c1d3322c
commit
64f9d6a24e
@ -1118,30 +1118,7 @@ static s32 AI_CheckBadMove(u32 battlerAtk, u32 battlerDef, u32 move, s32 score)
|
||||
}
|
||||
|
||||
if (effectiveness == UQ_4_12(0.0))
|
||||
{
|
||||
RETURN_SCORE_MINUS(20);
|
||||
}
|
||||
else if (effectiveness < UQ_4_12(0.5))
|
||||
{
|
||||
switch (moveEffect)
|
||||
{
|
||||
case EFFECT_FIXED_HP_DAMAGE:
|
||||
case EFFECT_LEVEL_DAMAGE:
|
||||
case EFFECT_PSYWAVE:
|
||||
case EFFECT_OHKO:
|
||||
case EFFECT_SHEER_COLD:
|
||||
case EFFECT_BIDE:
|
||||
case EFFECT_FIXED_PERCENT_DAMAGE:
|
||||
case EFFECT_ENDEAVOR:
|
||||
case EFFECT_COUNTER:
|
||||
case EFFECT_MIRROR_COAT:
|
||||
case EFFECT_METAL_BURST:
|
||||
case EFFECT_FINAL_GAMBIT:
|
||||
break;
|
||||
default:
|
||||
RETURN_SCORE_MINUS(10);
|
||||
}
|
||||
}
|
||||
|
||||
if (DoesBattlerIgnoreAbilityChecks(battlerAtk, abilityAtk, move))
|
||||
abilityDef = ABILITY_NONE;
|
||||
|
||||
@ -912,3 +912,14 @@ AI_SINGLE_BATTLE_TEST("AI will see Magnitude damage")
|
||||
TURN { MOVE(player, MOVE_MAGNITUDE); EXPECT_SWITCH(opponent, 1); }
|
||||
}
|
||||
}
|
||||
|
||||
AI_SINGLE_BATTLE_TEST("AI will prefer resisted move over failing move")
|
||||
{
|
||||
GIVEN {
|
||||
AI_FLAGS(AI_FLAG_CHECK_BAD_MOVE | AI_FLAG_TRY_TO_FAINT | AI_FLAG_CHECK_VIABILITY);
|
||||
PLAYER(SPECIES_ROSELIA) { Moves(MOVE_ABSORB); };
|
||||
OPPONENT(SPECIES_GLOOM) { Moves(MOVE_MEGA_DRAIN, MOVE_STUN_SPORE, MOVE_LEECH_SEED, MOVE_SYNTHESIS); }
|
||||
} WHEN {
|
||||
TURN { MOVE(player, MOVE_ABSORB); EXPECT_MOVE(opponent, MOVE_MEGA_DRAIN);}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user