using PkmnLib.Dynamic.Models; using PkmnLib.Static.Species; using PkmnLib.Static.Utils; namespace PkmnLib.Dynamic.Events; /// /// AbilityTriggerEvent is triggered when a Pokémon's ability is activated. /// public record AbilityTriggerEvent : IEventData { /// /// The Pokémon whose ability is being triggered. /// public IPokemon Pokemon { get; } /// /// The ability that is being triggered for the Pokémon. /// public IAbility? Ability { get; } public Dictionary? Metadata { get; init; } = null; /// public AbilityTriggerEvent(IPokemon pokemon) { Pokemon = pokemon; Ability = pokemon.ActiveAbility; } /// public EventBatchId BatchId { get; init; } }