using PkmnLib.Dynamic.Models; namespace PkmnLib.Dynamic.Events; /// /// Event triggered when a Pokemon takes damage. /// public record DamageEvent : IEventData { /// public DamageEvent(IPokemon pokemon, uint previousHealth, uint newHealth, DamageSource source) { Pokemon = pokemon; PreviousHealth = previousHealth; NewHealth = newHealth; Source = source; } /// /// The Pokemon that took damage. /// public IPokemon Pokemon { get; init; } /// /// The previous health of the Pokemon. /// public uint PreviousHealth { get; init; } /// /// The new health of the Pokemon. /// public uint NewHealth { get; init; } /// /// The source of the damage. /// public DamageSource Source { get; init; } /// public EventBatchId BatchId { get; init; } = new(); }