mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-11-16 19:47:35 +01:00
add AI_MoveMakesContact, dissuade multi-hit attacks against rocky helmet
This commit is contained in:
parent
e5a0630596
commit
01cf8e6452
@ -58,6 +58,7 @@ bool32 CanKnockOffItem(u8 battler, u16 item);
|
|||||||
bool32 IsAbilityOfRating(u16 ability, s8 rating);
|
bool32 IsAbilityOfRating(u16 ability, s8 rating);
|
||||||
s8 GetAbilityRating(u16 ability);
|
s8 GetAbilityRating(u16 ability);
|
||||||
bool32 AI_IsAbilityOnSide(u32 battlerId, u32 ability);
|
bool32 AI_IsAbilityOnSide(u32 battlerId, u32 ability);
|
||||||
|
bool32 AI_MoveMakesContact(u32 ability, u32 holdEffect, u16 move);
|
||||||
|
|
||||||
// stat stage checks
|
// stat stage checks
|
||||||
bool32 AnyStatIsRaised(u8 battlerId);
|
bool32 AnyStatIsRaised(u8 battlerId);
|
||||||
|
@ -3246,6 +3246,9 @@ static s16 AI_CheckViability(u8 battlerAtk, u8 battlerDef, u16 move, s16 score)
|
|||||||
case EFFECT_MULTI_HIT:
|
case EFFECT_MULTI_HIT:
|
||||||
case EFFECT_DOUBLE_HIT:
|
case EFFECT_DOUBLE_HIT:
|
||||||
case EFFECT_TRIPLE_KICK:
|
case EFFECT_TRIPLE_KICK:
|
||||||
|
if (AI_MoveMakesContact(AI_DATA->atkAbility, AI_DATA->atkHoldEffect, move)
|
||||||
|
&& AI_DATA->defHoldEffect == HOLD_EFFECT_ROCKY_HELMET)
|
||||||
|
score -= 2;
|
||||||
break;
|
break;
|
||||||
case EFFECT_CONVERSION:
|
case EFFECT_CONVERSION:
|
||||||
if (!IS_BATTLER_OF_TYPE(battlerAtk, gBattleMoves[gBattleMons[battlerAtk].moves[0]].type))
|
if (!IS_BATTLER_OF_TYPE(battlerAtk, gBattleMoves[gBattleMons[battlerAtk].moves[0]].type))
|
||||||
|
@ -3598,3 +3598,12 @@ void IncreaseConfusionScore(u8 battlerAtk, u8 battlerDef, u16 move, s16 *score)
|
|||||||
*score += 2;
|
*score += 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool32 AI_MoveMakesContact(u32 ability, u32 holdEffect, u16 move)
|
||||||
|
{
|
||||||
|
if (TestMoveFlags(move, FLAG_MAKES_CONTACT)
|
||||||
|
&& ability != ABILITY_LONG_REACH
|
||||||
|
&& holdEffect != HOLD_EFFECT_PROTECTIVE_PADS)
|
||||||
|
return TRUE;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user