namespace PkmnLib.Plugin.Gen7.Scripts.Abilities; /// /// Misty Surge is an ability that creates Misty Terrain when the Pokémon enters battle. /// /// Bulbapedia - Misty Surge /// [Script(ScriptCategory.Ability, "misty_surge")] public class MistySurge : Script { /// public override void OnSwitchIn(IPokemon pokemon, byte position) { if (pokemon.BattleData?.Battle is null) return; var terrainName = ScriptUtils.ResolveName(); if (pokemon.BattleData.Battle.TerrainName == terrainName) return; EventBatchId batchId = new(); pokemon.BattleData.Battle.EventHook.Invoke(new AbilityTriggerEvent(pokemon) { BatchId = batchId, }); pokemon.BattleData.Battle.SetTerrain(terrainName, batchId); } }