Add missing clear check for Defog

We usually want to check first before we remove any statuses.
This commit is contained in:
Alex 2025-12-02 22:59:23 +01:00 committed by GitHub
parent 7e0b1de2ae
commit 65a4d852fe
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -9392,14 +9392,21 @@ static bool32 TryDefogClear(u32 battlerAtk, bool32 clear)
} }
if (gBattleWeather & B_WEATHER_FOG) if (gBattleWeather & B_WEATHER_FOG)
{ {
gBattleWeather &= ~B_WEATHER_FOG;
BattleScriptCall(BattleScript_FogEnded_Ret); if (clear)
{
gBattleWeather &= ~B_WEATHER_FOG;
BattleScriptCall(BattleScript_FogEnded_Ret);
}
return TRUE; return TRUE;
} }
if (GetConfig(CONFIG_DEFOG_EFFECT_CLEARING) >= GEN_8 && (gFieldStatuses & STATUS_FIELD_TERRAIN_ANY)) if (GetConfig(CONFIG_DEFOG_EFFECT_CLEARING) >= GEN_8 && (gFieldStatuses & STATUS_FIELD_TERRAIN_ANY))
{ {
RemoveAllTerrains(); if (clear)
BattleScriptCall(BattleScript_TerrainEnds_Ret); {
RemoveAllTerrains();
BattleScriptCall(BattleScript_TerrainEnds_Ret);
}
return TRUE; return TRUE;
} }
} }