public WeaponAttackEvent(TargetingData targetingData, AttackData attackData, int percentileRoll = AttackEvent.PercentileNotRolled, int exchange = 0, int volley = 0) : base(targetingData, percentileRoll: percentileRoll, exchange: exchange, volley: volley) { this.Description = "Weapon Attack Event"; this.AttackData = attackData; // Just to avoid any confusion this.TargetingData.TargetUnitPercentileRoll = percentileRoll; }
public AttackEvent(TargetingData targetingData, int percentileRoll = AttackEvent.PercentileNotRolled, int exchange = 0, int volley = 0) : base("Attack Event", exchange, volley) { this.TargetingData = TargetingData.Clone(targetingData); this.UnitAssignmentPercentile = percentileRoll; // Just to avoid any confusion this.TargetingData.TargetUnitPercentileRoll = percentileRoll; }
internal static TargetingData Clone(TargetingData td) { var newTD = (TargetingData)td.MemberwiseClone(); newTD.Source = TargetingProfile.Clone(td.Source); newTD.Target = TargetingProfile.Clone(td.Target); return(newTD); }
public AttackEvent(AttackEvent evt, int percentileRoll = AttackEvent.PercentileNotRolled, GameUnitFormationActor sourceUnit = null, GameUnitFormationActor targetUnit = null) : base(evt.Description) { // Perform a deep copy this.Exchange = evt.Exchange; this.Volley = evt.Volley; this.TargetingData = TargetingData.Clone(evt.TargetingData); this.TargetingData.Source.UnitActor = sourceUnit; this.TargetingData.Target.UnitActor = targetUnit; this.UnitAssignmentPercentile = percentileRoll; // Just to avoid any confusion this.TargetingData.TargetUnitPercentileRoll = percentileRoll; }