using System; using System.Collections.Generic; namespace TeslaConsole.BattleTech; /// /// A mech took damage (MechDamagedMessage). Carries the Red Planet /// damage fields plus BT's damage-matrix extras: which zone was hit, whether it /// was destroyed, and the weapon that did it. /// [Serializable] internal class BTDamagedEvent : BTMissionEvent { public readonly BTPlayer Damager; public readonly int DamageLoss; public readonly int PointsTransfered; public readonly int DamageZoneIndex; public readonly bool DamageZoneDestroyed; public readonly int WeaponIndex; public override IEnumerable InvolvedPilots => new BTPlayer[2] { ReportingPilot, Damager }; public BTDamagedEvent(BTPlayer reportingPilot, TimeSpan missionTime, BTPlayer damager, int damageLoss, int pointsTransfered, int damageZoneIndex, bool damageZoneDestroyed, int weaponIndex) : base(reportingPilot, missionTime) { Damager = damager; DamageLoss = damageLoss; PointsTransfered = pointsTransfered; DamageZoneIndex = damageZoneIndex; DamageZoneDestroyed = damageZoneDestroyed; WeaponIndex = weaponIndex; } private BTDamagedEvent() { } }