mirror of
https://github.com/rh-hideout/pokeemerald-expansion.git
synced 2026-03-21 18:04:50 -05:00
Fix missing AI handling for partnerProtecting and Well-Baked Body (#9385)
This commit is contained in:
parent
9f251f95be
commit
a7ecf56328
|
|
@ -3299,12 +3299,17 @@ static s32 AI_DoubleBattle(enum BattlerId battlerAtk, enum BattlerId battlerDef,
|
|||
if (gBattleMons[battlerAtkPartner].volatiles.dragonCheer
|
||||
|| gBattleMons[battlerAtkPartner].volatiles.focusEnergy
|
||||
|| !HasDamagingMove(battlerAtkPartner))
|
||||
{
|
||||
ADJUST_SCORE(-5);
|
||||
else if (atkPartnerHoldEffect == HOLD_EFFECT_SCOPE_LENS
|
||||
|| IS_BATTLER_OF_TYPE(battlerAtkPartner, TYPE_DRAGON)
|
||||
|| GetMoveCriticalHitStage(aiData->partnerMove) > 0
|
||||
|| HasMoveWithCriticalHitChance(battlerAtkPartner))
|
||||
}
|
||||
else if (!partnerProtecting
|
||||
&& (atkPartnerHoldEffect == HOLD_EFFECT_SCOPE_LENS
|
||||
|| IS_BATTLER_OF_TYPE(battlerAtkPartner, TYPE_DRAGON)
|
||||
|| GetMoveCriticalHitStage(aiData->partnerMove) > 0
|
||||
|| HasMoveWithCriticalHitChance(battlerAtkPartner)))
|
||||
{
|
||||
ADJUST_SCORE(GOOD_EFFECT);
|
||||
}
|
||||
break;
|
||||
case EFFECT_COACHING:
|
||||
if (!hasPartner
|
||||
|
|
@ -3446,7 +3451,9 @@ static s32 AI_DoubleBattle(enum BattlerId battlerAtk, enum BattlerId battlerDef,
|
|||
switch (atkPartnerHoldEffect)
|
||||
{
|
||||
case HOLD_EFFECT_WEAKNESS_POLICY:
|
||||
if (aiData->effectiveness[battlerAtk][battlerAtkPartner][gAiThinkingStruct->movesetIndex] >= UQ_4_12(2.0) && isFriendlyFireOK)
|
||||
if (!partnerProtecting
|
||||
&& aiData->effectiveness[battlerAtk][battlerAtkPartner][gAiThinkingStruct->movesetIndex] >= UQ_4_12(2.0)
|
||||
&& isFriendlyFireOK)
|
||||
{
|
||||
ADJUST_SCORE(GOOD_EFFECT);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -591,6 +591,7 @@ static bool32 FindMonThatAbsorbsOpponentsMove(enum BattlerId battler)
|
|||
if (incomingType == TYPE_FIRE)
|
||||
{
|
||||
absorbingTypeAbilities[numAbsorbingAbilities++] = ABILITY_FLASH_FIRE;
|
||||
absorbingTypeAbilities[numAbsorbingAbilities++] = ABILITY_WELL_BAKED_BODY;
|
||||
}
|
||||
if (incomingType == TYPE_WATER)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1196,6 +1196,7 @@ AI_SINGLE_BATTLE_TEST("AI_FLAG_SMART_SWITCHING: AI will switch out if it has an
|
|||
enum Move move;
|
||||
enum Ability absorbingAbility;
|
||||
PARAMETRIZE { aiMon = SPECIES_NINETALES; absorbingAbility = ABILITY_FLASH_FIRE; move = MOVE_FLAMETHROWER; }
|
||||
PARAMETRIZE { aiMon = SPECIES_DACHSBUN; absorbingAbility = ABILITY_WELL_BAKED_BODY; move = MOVE_FLAMETHROWER; }
|
||||
PARAMETRIZE { aiMon = SPECIES_MANTINE; absorbingAbility = ABILITY_WATER_ABSORB; move = MOVE_SURF; }
|
||||
PARAMETRIZE { aiMon = SPECIES_TOXICROAK; absorbingAbility = ABILITY_DRY_SKIN; move = MOVE_SURF; }
|
||||
PARAMETRIZE { aiMon = SPECIES_GASTRODON; absorbingAbility = ABILITY_STORM_DRAIN; move = MOVE_SURF; }
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user