From 504d3bc31ff6e397f8c4289c3ea75bea9d757fb4 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Thu, 21 Aug 2025 16:49:13 +0200 Subject: [PATCH] Fixes moveend_absorb hitmarker (#7591) --- src/battle_script_commands.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index acd04e23da..bc97a288d8 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -2635,7 +2635,7 @@ static void Cmd_healthbarupdate(void) static void Cmd_datahpupdate(void) { CMD_ARGS(u8 battler); - bool32 isPassiveDamageOrHealing = gHitMarker & HITMARKER_PASSIVE_DAMAGE; + bool32 isPassiveHpUpdate = gHitMarker & HITMARKER_PASSIVE_HP_UPDATE; if (gBattleControllerExecFlags) return; @@ -2751,13 +2751,13 @@ static void Cmd_datahpupdate(void) } if (gBattlerAttacker != gBattlerTarget - && !isPassiveDamageOrHealing + && !isPassiveHpUpdate && GetMoveCategory(gCurrentMove) != DAMAGE_CATEGORY_STATUS && IsBattlerTurnDamaged(gBattlerTarget)) gBattleStruct->timesGotHit[GetBattlerSide(gBattlerTarget)][gBattlerPartyIndexes[gBattlerTarget]]++; if (GetMoveEffect(gCurrentMove) == EFFECT_KNOCK_OFF - && !isPassiveDamageOrHealing + && !isPassiveHpUpdate && IsBattlerTurnDamaged(gBattlerTarget) && gBattleMons[gBattlerTarget].item != ITEM_NONE && !DoesSubstituteBlockMove(gBattlerAttacker, battler, gCurrentMove) @@ -6633,12 +6633,11 @@ static void Cmd_moveend(void) { gBattleStruct->moveDamage[gBattlerAttacker] = max(1, (gBattleStruct->moveDamage[gBattlerTarget] * GetMoveAbsorbPercentage(gCurrentMove) / 100)); gBattleStruct->moveDamage[gBattlerAttacker] = GetDrainedBigRootHp(gBattlerAttacker, gBattleStruct->moveDamage[gBattlerAttacker]); - gHitMarker |= HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_DISGUISE | HITMARKER_PASSIVE_DAMAGE; + gHitMarker |= HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_DISGUISE | HITMARKER_PASSIVE_HP_UPDATE; effect = TRUE; if (GetBattlerAbility(gBattlerTarget) == ABILITY_LIQUID_OOZE) { gBattleStruct->moveDamage[gBattlerAttacker] *= -1; - gHitMarker |= HITMARKER_PASSIVE_HP_UPDATE; gBattleCommunication[MULTISTRING_CHOOSER] = B_MSG_ABSORB_OOZE; BattleScriptPushCursor(); gBattlescriptCurrInstr = BattleScript_EffectAbsorbLiquidOoze;