From 39022f3e6a14f32459e050202c7ad40c7aa1e433 Mon Sep 17 00:00:00 2001 From: Pawkkie <61265402+Pawkkie@users.noreply.github.com> Date: Thu, 15 May 2025 13:42:06 -0400 Subject: [PATCH] Fix FindMonThatAbsorbsOpponentsMove not seeing Mold Breaker or choice items (#6864) --- src/battle_ai_switch_items.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/battle_ai_switch_items.c b/src/battle_ai_switch_items.c index 4445a54869..4b81908349 100644 --- a/src/battle_ai_switch_items.c +++ b/src/battle_ai_switch_items.c @@ -462,6 +462,8 @@ static bool32 FindMonThatAbsorbsOpponentsMove(u32 battler) return FALSE; if (AreStatsRaised(battler)) return FALSE; + if (IsMoldBreakerTypeAbility(opposingBattler, gAiLogicData->abilities[opposingBattler])) + return FALSE; // Don't switch if mon could OHKO for (i = 0; i < MAX_MON_MOVES; i++) @@ -472,7 +474,7 @@ static bool32 FindMonThatAbsorbsOpponentsMove(u32 battler) // Only check damage if it's a damaging move if (!IsBattleMoveStatus(aiMove)) { - if (AI_GetDamage(battler, opposingBattler, i, AI_ATTACKING, gAiLogicData) > gBattleMons[opposingBattler].hp) + if (!AI_DoesChoiceItemBlockMove(battler, aiMove) && AI_GetDamage(battler, opposingBattler, i, AI_ATTACKING, gAiLogicData) > gBattleMons[opposingBattler].hp) return FALSE; } }