コード例 #1
0
ファイル: WeaponDamage.cs プロジェクト: OlegGelezcov/neb
 public WeaponDamage(WeaponBaseType baseType, float rockDmg, float lasDmg, float acidDmg)
 {
     SetRocketDamage(rockDmg);
     SetLaserDamage(lasDmg);
     SetAcidDamage(acidDmg);
     SetBaseType(baseType);
 }
コード例 #2
0
 public void StartDamage(float interval, float dmgPerSec, WeaponBaseType wbt)
 {
     damagePerSecond   = dmgPerSec;
     mTimer            = interval;
     m_TimedDamageType = wbt;
     active            = true;
 }
コード例 #3
0
ファイル: WeaponDamage.cs プロジェクト: OlegGelezcov/neb
        public void SetDamage(WeaponBaseType bt, float dmg)
        {
            switch (bt)
            {
            case WeaponBaseType.Rocket: {
                SetRocketDamage(dmg);
            }
            break;

            case WeaponBaseType.Laser: {
                SetLaserDamage(dmg);
            }
            break;

            case WeaponBaseType.Acid: {
                SetAcidDamage(dmg);
            }
            break;

            case WeaponBaseType.None: {
                SetRocketDamage(dmg);
            }
            break;
            }
        }
コード例 #4
0
ファイル: WeaponDamage.cs プロジェクト: OlegGelezcov/neb
        public void Add(float val, WeaponBaseType bt)
        {
            switch (bt)
            {
            case WeaponBaseType.Rocket: {
                m_RocketDamage += val;
            }
            break;

            case WeaponBaseType.Laser: {
                m_LaserDamage += val;
            }
            break;

            case WeaponBaseType.Acid: {
                m_AcidDamage += val;
            }
            break;

            case WeaponBaseType.None: {
                m_RocketDamage += val;
            }
            break;
            }
        }
コード例 #5
0
ファイル: WeaponObject.cs プロジェクト: OlegGelezcov/neb
        public void ParseInfo(Hashtable info)
        {
            mRaw          = info;
            this.id       = info.GetValue <string>((int)SPC.Id, string.Empty);
            this.template = info.GetValue <string>((int)SPC.Template, string.Empty);
            this.level    = info.GetValue <int>((int)SPC.Level, 0);
            //this.damage = info.Value<float>((int)SPC.Damage);
            this.optimalDistance = info.GetValue <float>((int)SPC.OptimalDistance, 0f);
            this.color           = (ObjectColor)(byte)info.GetValue <int>((int)SPC.Color, (int)(byte)ObjectColor.white);
            this.damageType      = (WeaponDamageType)(byte)info.GetValue <int>((int)SPC.DamageType, 0);
            this.baseCritChance  = info.GetValue <float>((int)SPC.CritChance, 0f);
            this.mWorkshop       = info.GetValue <int>((int)SPC.Workshop, (int)(byte)Workshop.DarthTribe);
            binded = info.GetValue <bool>((int)SPC.Binded, false);
            isNew  = info.GetValue <bool>((int)SPC.IsNew, false);

            m_Damage.SetRocketDamage(info.GetValue <float>((int)SPC.RocketDamage, 0f));
            m_Damage.SetLaserDamage(info.GetValue <float>((int)SPC.LaserDamage, 0f));
            m_Damage.SetAcidDamage(info.GetValue <float>((int)SPC.AcidDamage, 0f));

            int            iBaseType = info.GetValue <int>((int)SPC.WeaponBaseType, (int)WeaponBaseType.None);
            WeaponBaseType wbt       = (WeaponBaseType)iBaseType;

            if (wbt == WeaponBaseType.None)
            {
                wbt = WeaponBaseType.Laser;
            }
            m_Damage.SetBaseType(wbt);
        }
コード例 #6
0
        //public float ReceiveDamage(byte damagerType, string damagerID, float damage) {
        //    return ReceiveDamage(damagerType, damagerID, damage, (byte)Workshop.Arlen, 1);
        //}


        public void SetTimedDamage(float interval, float damagePerSecond, WeaponBaseType wbt, int skillID)
        {
            if (timedDamage != null)
            {
                timedDamage.StartDamage(interval, damagePerSecond, wbt);

                if (mBonuses != null)
                {
                    Buff buff = new Buff(skillID.ToString(), null, BonusType.timed_damage, interval, damagePerSecond);
                    mBonuses.SetBuff(buff, null);
                }
            }
        }
コード例 #7
0
ファイル: WeaponDamage.cs プロジェクト: OlegGelezcov/neb
        public void Mult(WeaponBaseType bt, float val)
        {
            switch (bt)
            {
            case WeaponBaseType.Acid: {
                m_AcidDamage *= val;
            }
            break;

            case WeaponBaseType.Laser: {
                m_LaserDamage *= val;
            }
            break;

            case WeaponBaseType.Rocket: {
                m_RocketDamage *= val;
            }
            break;
            }
        }
コード例 #8
0
        public Weapon(string name, WeaponBaseType weaponBaseType, WeaponSubType weaponSubType, WeaponProficiencyType weaponProficiencyType, WeaponEffortType weaponEffortType, int[] mediumDamageRoll, WeaponAttackType weaponAttackType, int criticalMinRoll, int criticalMultiplier, WeaponDamageType[] weaponDamageTypes, int range, SizeType sizeType, double cost, double weight, string description) : base(name, cost, weight, description, slotType: SlotType.Weapon)
        {
            WeaponBaseType        = weaponBaseType;
            WeaponSubType         = weaponSubType;
            WeaponProficiencyType = weaponProficiencyType;
            WeaponEffortType      = weaponEffortType;
            MediumDamageRoll      = mediumDamageRoll;
            WeaponAttackType      = weaponAttackType;
            CriticalMinRoll       = criticalMinRoll;
            CriticalMultiplier    = criticalMultiplier;
            WeaponDamageTypes     = weaponDamageTypes;
            Range = range;

            SetSize(sizeType);

            // standard attack
            CombatActions.Add(CombatAction.CreateWeaponAttack(null, this, false));

            // full attack
            CombatActions.Add(CombatAction.CreateWeaponAttack(null, this, true));
        }
コード例 #9
0
ファイル: InputDamage.cs プロジェクト: OlegGelezcov/neb
 public void Mult(WeaponBaseType bt, float val)
 {
     m_Damage.Mult(bt, val);
 }
コード例 #10
0
ファイル: WeaponDamage.cs プロジェクト: OlegGelezcov/neb
 public void SetBaseType(WeaponBaseType bt)
 {
     m_BaseType = bt;
 }
コード例 #11
0
ファイル: WeaponDamage.cs プロジェクト: OlegGelezcov/neb
 public WeaponDamage(WeaponBaseType bt) :
     this(bt, 0, 0, 0)
 {
 }