diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index 4e11922ff4..32f741f656 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -645,6 +645,9 @@ BattleScript_MoveEffectCoreEnforcer:: setgastroacid BattleScript_CoreEnforcerRet printstring STRINGID_PKMNSABILITYSUPPRESSED waitmessage B_WAIT_TIME_LONG + trytoclearprimalweather + printstring STRINGID_EMPTYSTRING3 + waitmessage 1 BattleScript_CoreEnforcerRet: return @@ -1744,6 +1747,9 @@ BattleScript_EffectSimpleBeam: waitanimation printstring STRINGID_PKMNACQUIREDSIMPLE waitmessage B_WAIT_TIME_LONG + trytoclearprimalweather + printstring STRINGID_EMPTYSTRING3 + waitmessage 1 goto BattleScript_MoveEnd BattleScript_EffectSuckerPunch: @@ -1832,6 +1838,9 @@ BattleScript_EffectWorrySeed: waitanimation printstring STRINGID_PKMNACQUIREDABILITY waitmessage B_WAIT_TIME_LONG + trytoclearprimalweather + printstring STRINGID_EMPTYSTRING3 + waitmessage 1 goto BattleScript_MoveEnd BattleScript_EffectPowerSplit: @@ -1960,6 +1969,9 @@ BattleScript_EffectGastroAcid: waitanimation printstring STRINGID_PKMNSABILITYSUPPRESSED waitmessage B_WAIT_TIME_LONG + trytoclearprimalweather + printstring STRINGID_EMPTYSTRING3 + waitmessage 1 goto BattleScript_MoveEnd BattleScript_EffectToxicSpikes: @@ -3095,6 +3107,9 @@ BattleScript_EffectTransform:: attackcanceler attackstring ppreduce + trytoclearprimalweather + printstring STRINGID_EMPTYSTRING3 + waitmessage 1 transformdataexecution attackanimation waitanimation diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 8f059df28e..a372582da8 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -8790,7 +8790,8 @@ static void Cmd_various(void) if (((GetBattlerAbility(i) == ABILITY_DESOLATE_LAND && gBattleWeather & WEATHER_SUN_PRIMAL) || (GetBattlerAbility(i) == ABILITY_PRIMORDIAL_SEA && gBattleWeather & WEATHER_RAIN_PRIMAL) || (GetBattlerAbility(i) == ABILITY_DELTA_STREAM && gBattleWeather & WEATHER_STRONG_WINDS)) - && IsBattlerAlive(i)) + && IsBattlerAlive(i) + && !(gStatuses3[i] & STATUS3_GASTRO_ACID)) shouldNotClear = TRUE; } if (gBattleWeather & WEATHER_SUN_PRIMAL && !shouldNotClear)