From 7b3f3fda8e7c3fe95564c6ec6e953c557bdac6ac Mon Sep 17 00:00:00 2001 From: PhallenTree <168426989+PhallenTree@users.noreply.github.com> Date: Sat, 21 Mar 2026 19:01:00 +0000 Subject: [PATCH] Hold Effect and Gastro Acid (on faint) cleanup --- src/battle_main.c | 2 -- src/battle_util.c | 3 +++ 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/battle_main.c b/src/battle_main.c index 32b93e61d9..fe914eb19d 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -3321,10 +3321,8 @@ void FaintClearSetData(enum BattlerId battler) for (enum Stat i = 0; i < NUM_BATTLE_STATS; i++) gBattleMons[battler].statStages[i] = DEFAULT_STAT_STAGE; - bool32 keepGastroAcid = gBattleMons[battler].volatiles.gastroAcid; bool32 keepTransformed = gBattleMons[battler].volatiles.transformed; memset(&gBattleMons[battler].volatiles, 0, sizeof(struct Volatiles)); - gBattleMons[battler].volatiles.gastroAcid = keepGastroAcid; // Edge case: Keep Gastro Acid if pokemon's ability can have effect after fainting, for example Innards Out. gBattleMons[battler].volatiles.transformed = keepTransformed; // Edge case: Keep Transformed status to prevent triggering FORM_CHANGE_FAINT on transformed mons. for (enum BattlerId i = 0; i < gBattlersCount; i++) diff --git a/src/battle_util.c b/src/battle_util.c index 8f0736af06..ad1ad7152a 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5695,6 +5695,9 @@ enum HoldEffect GetBattlerHoldEffectInternal(enum BattlerId battler, enum Abilit enum HoldEffect GetBattlerHoldEffectIgnoreNegation(enum BattlerId battler) { + if (gBattleStruct->battlerState[battler].notOnField) + return HOLD_EFFECT_NONE; + gPotentialItemEffectBattler = battler; if (gBattleMons[battler].item == ITEM_ENIGMA_BERRY_E_READER) return gEnigmaBerries[battler].holdEffect;