From c1364e14d492cfaa01ee305dc897e35604189cb0 Mon Sep 17 00:00:00 2001 From: Alex <93446519+AlexOn1ine@users.noreply.github.com> Date: Sat, 29 Mar 2025 17:07:56 +0100 Subject: [PATCH] Fixes Hospitality not being blocked by Heal Block (#6494) --- src/battle_util.c | 1 + test/battle/ability/hospitality.c | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/src/battle_util.c b/src/battle_util.c index 4404e14922..21957ecbd6 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -5282,6 +5282,7 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 if (!gSpecialStatuses[battler].switchInAbilityDone && IsDoubleBattle() + && !(gStatuses3[partner] & STATUS3_HEAL_BLOCK) && gBattleMons[partner].hp < gBattleMons[partner].maxHP && IsBattlerAlive(partner)) { diff --git a/test/battle/ability/hospitality.c b/test/battle/ability/hospitality.c index c772d6e776..2c89c3eb97 100644 --- a/test/battle/ability/hospitality.c +++ b/test/battle/ability/hospitality.c @@ -89,3 +89,25 @@ DOUBLE_BATTLE_TEST("Hospitality does not trigger if there is no ally on the fiel NOT ABILITY_POPUP(playerLeft, ABILITY_HOSPITALITY); } } + +DOUBLE_BATTLE_TEST("Hospitality is blocked by Heal Block") +{ + GIVEN { + ASSUME(GetMoveEffect(MOVE_HEAL_BLOCK) == EFFECT_HEAL_BLOCK); + PLAYER(SPECIES_WOBBUFFET) + PLAYER(SPECIES_WOBBUFFET) { HP(75); MaxHP(100); } + PLAYER(SPECIES_POLTCHAGEIST) { Ability(ABILITY_HOSPITALITY); } + OPPONENT(SPECIES_WOBBUFFET); + OPPONENT(SPECIES_WOBBUFFET); + } WHEN { + TURN { MOVE(opponentLeft, MOVE_HEAL_BLOCK, target: playerRight); } + TURN { SWITCH(playerLeft, 2); } + } SCENE { + ANIMATION(ANIM_TYPE_MOVE, MOVE_HEAL_BLOCK, opponentLeft); + NONE_OF { + ABILITY_POPUP(playerLeft, ABILITY_HOSPITALITY); + MESSAGE("Wobbuffet drank down all the matcha that Poltchageist made!"); + HP_BAR(playerRight, damage: -25); + } + } +}