Fixes moveend_absorb hitmarker (#7591)
This commit is contained in:
parent
f24b919a11
commit
504d3bc31f
@ -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;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user