diff --git a/src/battle_util.c b/src/battle_util.c index a4ad7e018f..5d4d842fda 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -4139,7 +4139,8 @@ u32 AbilityBattleEffects(u32 caseID, u32 battler, u32 ability, u32 special, u32 } break; case ABILITY_ICE_BODY: - if (!IsBattlerAtMaxHp(battler) + if (IsBattlerWeatherAffected(battler, B_WEATHER_HAIL | B_WEATHER_SNOW) + && !IsBattlerAtMaxHp(battler) && !(gStatuses3[battler] & (STATUS3_UNDERGROUND | STATUS3_UNDERWATER)) && !(gStatuses3[battler] & STATUS3_HEAL_BLOCK)) {