Fixes Grassy Terrain healing when Heal Blocked/Semi-Invulnerable (#7353)

This commit is contained in:
PhallenTree 2025-07-16 21:29:25 +01:00 committed by GitHub
parent da3d223c45
commit 67d007f4fb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 2 deletions

View File

@ -490,10 +490,16 @@ static bool32 HandleEndTurnFirstEventBlock(u32 battler)
gBattleStruct->eventBlockCounter++;
break;
case FIRST_EVENT_BLOCK_GRASSY_TERRAIN_HEAL:
if (gFieldStatuses & STATUS_FIELD_GRASSY_TERRAIN && IsBattlerAlive(battler) && !IsBattlerAtMaxHp(battler) && IsBattlerGrounded(battler))
if (gFieldStatuses & STATUS_FIELD_GRASSY_TERRAIN
&& IsBattlerAlive(battler)
&& !IsBattlerAtMaxHp(battler)
&& !(gStatuses3[battler] & (STATUS3_SEMI_INVULNERABLE | STATUS3_HEAL_BLOCK))
&& IsBattlerGrounded(battler))
{
gBattlerAttacker = battler;
gBattleStruct->moveDamage[battler] = -(GetNonDynamaxMaxHP(battler) / 16);
if (gBattleStruct->moveDamage[battler] == 0)
gBattleStruct->moveDamage[battler] = -1;
BattleScriptExecute(BattleScript_GrassyTerrainHeals);
effect = TRUE;
}

View File

@ -1205,7 +1205,8 @@ const u16 gGotBurnedStringIds[] =
const u16 gGotFrostbiteStringIds[] =
{
[B_MSG_STATUSED] = STRINGID_PKMNGOTFROSTBITE
[B_MSG_STATUSED] = STRINGID_PKMNGOTFROSTBITE,
[B_MSG_STATUSED_BY_ABILITY] = STRINGID_PKMNGOTFROSTBITE,
};
const u16 gFrostbiteHealedStringIds[] =