namespace PkmnLib.Plugin.Gen7.Scripts.Weather; [Script(ScriptCategory.Weather, "primordial_sea")] public class PrimordialSea : Script { private HashSet _placers = new(); public void MarkAsPlaced(IPokemon pokemon) { _placers.Add(pokemon); } /// public override void OnSwitchOut(IPokemon oldPokemon, byte position) { _placers.Remove(oldPokemon); if (_placers.Count == 0) oldPokemon.BattleData?.Battle.SetWeather(null, 0); } /// public override void PreventWeatherChange(StringKey? weatherName, ref bool preventWeatherChange) { if (weatherName == ScriptUtils.ResolveName() || weatherName == ScriptUtils.ResolveName()) return; preventWeatherChange = true; } }