Example #1
0
        public WeaponPrefix Read(BinaryReader br)
        {
            BasePrefix.Read(br);

            FiringArcPercent     = br.ReadSingle();
            RangePercent         = br.ReadSingle();
            RechargeTimePercent  = br.ReadSingle();
            HeatPercent          = br.ReadSingle();
            HeatAdjust           = br.ReadInt16();
            PowerPerShot         = br.ReadInt16();
            DamagePercentAll     = br.ReadSingle();
            DamagePercentMinimum = br.Read <Single>(6);
            DamagePercentMaximum = br.Read <Single>(6);
            DamageAdjustMinimum  = br.ReadStruct <DamageArray>();
            DamageAdjustMaximum  = br.ReadStruct <DamageArray>();
            OffenseBonus         = br.ReadInt16();

            br.ReadBytes(2);

            OffenseBonusPercent  = br.ReadSingle();
            AccucaryBonusPercent = br.ReadSingle();
            PenetrationBonus     = br.ReadInt16();

            br.ReadBytes(2);

            return(this);
        }
Example #2
0
        public PrefixArmor(BinaryReader br)
            : base(br)
        {
            ArmorFactorPercent = br.ReadSingle();
            ArmorFactorAdjust = br.ReadInt16();
            ResistAdjust = DamageArray.Read(br);

            br.ReadBytes(2);
        }
Example #3
0
 public void ApplyResistanceModification(DamageArray dmg, Boolean reverse)
 {
     for (var i = 0; i < 6; ++i)
     {
         if (reverse)
             ArmorSpecific.Resistances.Damage[i] -= dmg.Damage[i];
         else
             ArmorSpecific.Resistances.Damage[i] += dmg.Damage[i];
     }
 }
Example #4
0
        public ArmorPrefix Read(BinaryReader br)
        {
            BasePrefix.Read(br);

            ArmorFactorPercent = br.ReadSingle();
            ArmorFactorAdjust  = br.ReadInt16();
            ResistAdjust       = br.ReadStruct <DamageArray>();

            br.ReadBytes(2);

            return(this);
        }
Example #5
0
        public PrefixWeapon(BinaryReader br)
            : base(br)
        {
            FiringArcPercent = br.ReadSingle();
            RangePercent = br.ReadSingle();
            RechargeTimePercent = br.ReadSingle();
            HeatPercent = br.ReadSingle();
            HeatAdjust = br.ReadInt16();
            PowerPerShot = br.ReadInt16();
            DamagePercentAll = br.ReadSingle();
            DamagePercentMinimum = br.Read<Single>(6);
            DamagePercentMaximum = br.Read<Single>(6);
            DamageAdjustMinimum = DamageArray.Read(br);
            DamageAdjustMaximum = DamageArray.Read(br);
            OffenseBonus = br.ReadInt16();

            br.ReadBytes(2);

            OffenseBonusPercent = br.ReadSingle();
            AccucaryBonusPercent = br.ReadSingle();
            PenetrationBonus = br.ReadInt16();

            br.ReadBytes(2);
        }
Example #6
0
        public override void InitializeBaseData()
        {
            base.InitializeBaseData();

            if (!(CloneBaseObject is CloneBaseWeapon))
                return;

            var cbw = (CloneBaseObject as CloneBaseWeapon);

            _damageBonusPerLevel = cbw.WeaponSpecific.DamageBonusPerLevel;
            _dmgMinimum = cbw.WeaponSpecific.MinMin;
            _dmgMaximum = cbw.WeaponSpecific.MaxMax;
            _rangeMaximum = cbw.WeaponSpecific.RangeMax;
            _rangeMinimum = cbw.WeaponSpecific.RangeMin;
            _prefixPenetrationBonus = cbw.WeaponSpecific.PenetrationModifier;
            _varianceOffensiveBonus = cbw.WeaponSpecific.OffenseBonus;
            _flags = cbw.WeaponSpecific.Flags;
            _validArc = cbw.WeaponSpecific.ValidArc;
            _rechargeInterval = cbw.WeaponSpecific.RechargeTime;
            _hitBonusPerLevel = cbw.WeaponSpecific.HitBonusPerLevel;
            _prefixAccurayBonus = cbw.WeaponSpecific.AccucaryModifier;
            _damageScalar = cbw.WeaponSpecific.DamageScalar;
            _varianceDamageMinimum = cbw.WeaponSpecific.DmgMinMin;
            _varianceDamageMaximum = cbw.WeaponSpecific.DmgMaxMax;
            _explosionRadius = cbw.WeaponSpecific.ExplosionRadius;
            _firePoint = cbw.WeaponSpecific.FirePoint;
        }