Fixes freeze on Galvanize Explosion against Volt Absorb (#4601)

This commit is contained in:
Alex 2024-05-19 21:29:54 +02:00 committed by GitHub
parent 35e90b896d
commit 57ec87387d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 22 additions and 3 deletions

View file

@ -8097,7 +8097,6 @@ BattleScript_MoveStatDrain::
.endif
BattleScript_MoveStatDrain_Cont:
clearsemiinvulnerablebit
tryfaintmon BS_ATTACKER
goto BattleScript_MoveEnd
BattleScript_MonMadeMoveUseless_PPLoss::
@ -8108,7 +8107,6 @@ BattleScript_MonMadeMoveUseless::
call BattleScript_AbilityPopUp
printstring STRINGID_PKMNSXMADEYUSELESS
waitmessage B_WAIT_TIME_LONG
tryfaintmon BS_ATTACKER
orhalfword gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE
goto BattleScript_MoveEnd
@ -8120,7 +8118,6 @@ BattleScript_FlashFireBoost::
call BattleScript_AbilityPopUp
printfromtable gFlashFireStringIds
waitmessage B_WAIT_TIME_LONG
tryfaintmon BS_ATTACKER
goto BattleScript_MoveEnd
BattleScript_AbilityPreventsPhasingOut::

View file

@ -123,3 +123,25 @@ SINGLE_BATTLE_TEST("Explosion does not trigger Destiny Bond")
NOT HP_BAR(opponent);
}
}
DOUBLE_BATTLE_TEST("Explosion boosted by Galvanize is correctly blocked by Volt Absorb")
{
GIVEN {
PLAYER(SPECIES_GEODUDE_ALOLAN) { Ability(ABILITY_GALVANIZE); }
PLAYER(SPECIES_WYNAUT) { HP(1); }
OPPONENT(SPECIES_LANTURN) { Ability(ABILITY_VOLT_ABSORB); }
OPPONENT(SPECIES_WOBBUFFET) { HP(1); }
} WHEN {
TURN { MOVE(playerLeft, MOVE_EXPLOSION); }
} SCENE {
MESSAGE("Geodude used Explosion!");
HP_BAR(playerLeft, hp: 0);
ABILITY_POPUP(opponentLeft, ABILITY_VOLT_ABSORB);
NOT HP_BAR(opponentLeft, hp: 0);
HP_BAR(playerRight, hp: 0);
MESSAGE("Wynaut fainted!");
HP_BAR(opponentRight, hp: 0);
MESSAGE("Foe Wobbuffet fainted!");
MESSAGE("Geodude fainted!");
}
}