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;
        }
Exemple #2
0
        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;
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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;
        }