diff --git a/src/battle_ai_main.c b/src/battle_ai_main.c index 68cf333b57..bf6768f71c 100644 --- a/src/battle_ai_main.c +++ b/src/battle_ai_main.c @@ -5694,8 +5694,11 @@ static s32 AI_CalcAdditionalEffectScore(u32 battlerAtk, u32 battlerDef, u32 move u32 i; u32 additionalEffectCount = GetMoveAdditionalEffectCount(move); - if (IsSheerForceAffected(move, aiData->abilities[battlerAtk])) + if (IsSheerForceAffected(move, aiData->abilities[battlerAtk]) + && !(GetMoveEffect(move) == EFFECT_ORDER_UP && gBattleStruct->battlerState[battlerAtk].commanderSpecies != SPECIES_NONE)) + { return score; + } // check move additional effects that are likely to happen for (i = 0; i < additionalEffectCount; i++) diff --git a/src/battle_ai_util.c b/src/battle_ai_util.c index 8e6f0b2c36..1b55026ac8 100644 --- a/src/battle_ai_util.c +++ b/src/battle_ai_util.c @@ -1034,8 +1034,11 @@ static bool32 AI_IsMoveEffectInPlus(u32 battlerAtk, u32 battlerDef, u32 move, s3 enum Ability abilityDef = gAiLogicData->abilities[battlerDef]; enum Ability abilityAtk = gAiLogicData->abilities[battlerAtk]; - if (IsSheerForceAffected(move, abilityAtk)) + if (IsSheerForceAffected(move, abilityAtk) + && !(GetMoveEffect(move) == EFFECT_ORDER_UP && gBattleStruct->battlerState[battlerAtk].commanderSpecies != SPECIES_NONE)) + { return FALSE; + } switch (GetMoveEffect(move)) {