Fixes Shell Bell inlcuding heal amount from Future Sight when triggered (#5962)
This commit is contained in:
parent
10a3ed2044
commit
2da547908e
@ -2456,7 +2456,9 @@ static void Cmd_datahpupdate(void)
|
||||
}
|
||||
|
||||
// Record damage for Shell Bell
|
||||
if (gSpecialStatuses[battler].shellBellDmg == 0 && !(gHitMarker & HITMARKER_PASSIVE_DAMAGE))
|
||||
if (gSpecialStatuses[gBattlerTarget].shellBellDmg == IGNORE_SHELL_BELL)
|
||||
gSpecialStatuses[battler].shellBellDmg = 0;
|
||||
else if (gSpecialStatuses[battler].shellBellDmg == 0 && !(gHitMarker & HITMARKER_PASSIVE_DAMAGE))
|
||||
gSpecialStatuses[battler].shellBellDmg = gHpDealt;
|
||||
|
||||
// Record damage for foreseen moves
|
||||
|
||||
@ -34,3 +34,29 @@ SINGLE_BATTLE_TEST("Shell Bell doesn't restore HP for damage dealt by a foreseen
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SINGLE_BATTLE_TEST("Shell Bell does not activate on Future Sight if the original user is on the field")
|
||||
{
|
||||
s16 damage = 0;
|
||||
s16 healed = 0;
|
||||
|
||||
GIVEN {
|
||||
PLAYER(SPECIES_WOBBUFFET) { HP(1); Item(ITEM_SHELL_BELL); }
|
||||
OPPONENT(SPECIES_WYNAUT);
|
||||
} WHEN {
|
||||
TURN { MOVE(player, MOVE_FUTURE_SIGHT); }
|
||||
TURN {}
|
||||
TURN {}
|
||||
TURN { MOVE(player, MOVE_DRAGON_RAGE); }
|
||||
} SCENE {
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_FUTURE_SIGHT, player);
|
||||
MESSAGE("The opposing Wynaut took the Future Sight attack!");
|
||||
HP_BAR(opponent);
|
||||
ANIMATION(ANIM_TYPE_MOVE, MOVE_DRAGON_RAGE, player);
|
||||
HP_BAR(opponent, captureDamage: &damage);
|
||||
ANIMATION(ANIM_TYPE_GENERAL, B_ANIM_HELD_ITEM_EFFECT, player);
|
||||
HP_BAR(player, captureDamage: &healed);
|
||||
} THEN {
|
||||
EXPECT_MUL_EQ(damage, Q_4_12(-0.25), healed);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user