Fixes Rage Fist counter increment (#7582)
Co-authored-by: Bassoonian <iasperbassoonian@gmail.com>
This commit is contained in:
parent
95eb3ba1a7
commit
c0231c9bb1
@ -2635,6 +2635,7 @@ static void Cmd_healthbarupdate(void)
|
||||
static void Cmd_datahpupdate(void)
|
||||
{
|
||||
CMD_ARGS(u8 battler);
|
||||
bool32 isPassiveDamageOrHealing = gHitMarker & HITMARKER_PASSIVE_DAMAGE;
|
||||
|
||||
if (gBattleControllerExecFlags)
|
||||
return;
|
||||
@ -2750,11 +2751,13 @@ static void Cmd_datahpupdate(void)
|
||||
}
|
||||
|
||||
if (gBattlerAttacker != gBattlerTarget
|
||||
&& !isPassiveDamageOrHealing
|
||||
&& GetMoveCategory(gCurrentMove) != DAMAGE_CATEGORY_STATUS
|
||||
&& IsBattlerTurnDamaged(gBattlerTarget))
|
||||
gBattleStruct->timesGotHit[GetBattlerSide(gBattlerTarget)][gBattlerPartyIndexes[gBattlerTarget]]++;
|
||||
|
||||
if (GetMoveEffect(gCurrentMove) == EFFECT_KNOCK_OFF
|
||||
&& !isPassiveDamageOrHealing
|
||||
&& IsBattlerTurnDamaged(gBattlerTarget)
|
||||
&& gBattleMons[gBattlerTarget].item != ITEM_NONE
|
||||
&& !DoesSubstituteBlockMove(gBattlerAttacker, battler, gCurrentMove)
|
||||
@ -6630,7 +6633,7 @@ 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;
|
||||
gHitMarker |= HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_DISGUISE | HITMARKER_PASSIVE_DAMAGE;
|
||||
effect = TRUE;
|
||||
if (GetBattlerAbility(gBattlerTarget) == ABILITY_LIQUID_OOZE)
|
||||
{
|
||||
|
||||
@ -342,3 +342,28 @@ SINGLE_BATTLE_TEST("Rage Fist doesn't get increased power if Substitute is hit")
|
||||
EXPECT_EQ(timesGotHit[0], timesGotHit[1]);
|
||||
}
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Rage Fist - X")
|
||||
{
|
||||
s16 timesGotHit[2];
|
||||
|
||||
GIVEN {
|
||||
ASSUME(GetMoveEffect(MOVE_GIGA_DRAIN) == EFFECT_ABSORB);
|
||||
PLAYER(SPECIES_WOBBUFFET);
|
||||
OPPONENT(SPECIES_WOBBUFFET);
|
||||
} WHEN {
|
||||
TURN { MOVE(player, MOVE_RAGE_FIST); MOVE(opponent, MOVE_GIGA_DRAIN); }
|
||||
TURN { MOVE(player, MOVE_RAGE_FIST); }
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_RAGE_FIST, player);
|
||||
HP_BAR(opponent, captureDamage: ×GotHit[0]);
|
||||
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_GIGA_DRAIN, opponent);
|
||||
HP_BAR(player);
|
||||
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_RAGE_FIST, player);
|
||||
HP_BAR(opponent, captureDamage: ×GotHit[1]);
|
||||
} THEN {
|
||||
EXPECT_MUL_EQ(timesGotHit[0], Q_4_12(2.0), timesGotHit[1]);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user