Fixs Aftermath ability popup message (#6491)

This commit is contained in:
Alex 2025-03-29 09:45:59 +01:00 committed by GitHub
parent b0c7d1a8ee
commit 7ead90aeff
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 31 additions and 1 deletions

View File

@ -7075,7 +7075,7 @@ BattleScript_AnticipationActivates::
BattleScript_AftermathDmg::
pause B_WAIT_TIME_SHORT
call BattleScript_AbilityPopUp
call BattleScript_AbilityPopUpScripting
jumpifability BS_ATTACKER, ABILITY_MAGIC_GUARD, BattleScript_AftermathDmgRet
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
healthbarupdate BS_ATTACKER

View File

@ -5867,6 +5867,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32
}
else
{
gBattleScripting.battler = gBattlerTarget;
gBattleStruct->moveDamage[gBattlerAttacker] = GetNonDynamaxMaxHP(gBattlerAttacker) / 4;
if (gBattleStruct->moveDamage[gBattlerAttacker] == 0)
gBattleStruct->moveDamage[gBattlerAttacker] = 1;
@ -5889,6 +5890,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32
break;
}
gBattleScripting.battler = gBattlerTarget;
gBattleStruct->moveDamage[gBattlerAttacker] = gBattleStruct->moveDamage[gBattlerTarget];
BattleScriptPushCursor();
gBattlescriptCurrInstr = BattleScript_AftermathDmg;

View File

@ -20,3 +20,31 @@ SINGLE_BATTLE_TEST("Aftermath damages the attacker by 1/4th of its max HP if fai
EXPECT_EQ(aftermathDamage, opponent->maxHP / 4);
}
}
SINGLE_BATTLE_TEST("Aftermath ability pop-up will be displayed correctly: player point of view")
{
GIVEN {
PLAYER(SPECIES_SHROOMISH) { Ability(ABILITY_POISON_HEAL); };
OPPONENT(SPECIES_VOLTORB) { HP(1); Ability(ABILITY_AFTERMATH); };
} WHEN {
TURN {MOVE(player, MOVE_HEADBUTT);}
} SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_HEADBUTT, player);
MESSAGE("The opposing Voltorb fainted!");
ABILITY_POPUP(opponent, ABILITY_AFTERMATH);
}
}
SINGLE_BATTLE_TEST("Aftermath ability pop-up will be displayed correctly: opponent point of view")
{
GIVEN {
PLAYER(SPECIES_VOLTORB) { HP(1); Ability(ABILITY_AFTERMATH); };
OPPONENT(SPECIES_SHROOMISH) { Ability(ABILITY_POISON_HEAL); };
} WHEN {
TURN {MOVE(opponent, MOVE_HEADBUTT);}
} SCENE {
ANIMATION(ANIM_TYPE_MOVE, MOVE_HEADBUTT, opponent);
MESSAGE("Voltorb fainted!");
ABILITY_POPUP(player, ABILITY_AFTERMATH);
}
}