Ejemplo n.º 1
0
 /// <summary>
 /// Creé une nouvelle instance de Weapon à partir du modèle donné.
 /// </summary>
 /// <param name="model"></param>
 public Weapon(Entities.EntityHero owner, WeaponModel model)
 {
     Model   = model;
     Level   = 0;
     Enchant = new WeaponEnchantModel();
     Owner   = owner;
 }
Ejemplo n.º 2
0
        public static WeaponEnchantModel Vampire()
        {
            var cst = GameServer.GetScene().Constants.Equip;
            WeaponEnchantModel model = new WeaponEnchantModel();

            model.Price          = cst.EquipCost[5];
            model.Name           = "vampire";
            model.CastingEffects = new List <Entities.StateAlterationModel>()
            {
                CreatePassive(StateAlterationType.Heal, 4, 0),
            };
            return(model);
        }
Ejemplo n.º 3
0
        public static WeaponEnchantModel Destroyer()
        {
            var cst = GameServer.GetScene().Constants.Equip;
            WeaponEnchantModel model = new WeaponEnchantModel();

            model.Price        = cst.EquipCost[5];
            model.Name         = "destroyer";
            model.OnHitEffects = new List <Entities.StateAlterationModel>()
            {
                CreatePassive(StateAlterationType.ArmorBuff, -3, 2),
            };
            return(model);
        }
Ejemplo n.º 4
0
        public static WeaponEnchantModel Runic()
        {
            var cst = GameServer.GetScene().Constants.Equip;
            WeaponEnchantModel model = new WeaponEnchantModel();

            model.Price          = cst.EquipCost[3];
            model.Name           = "runic";
            model.PassiveEffects = new List <Entities.StateAlterationModel>()
            {
                CreatePassive(StateAlterationType.CDR, 3, 0),
            };
            return(model);
        }
Ejemplo n.º 5
0
        public static WeaponEnchantModel Cold()
        {
            var cst = GameServer.GetScene().Constants.Equip;
            WeaponEnchantModel model = new WeaponEnchantModel();

            model.Price        = cst.EquipCost[5];
            model.Name         = "cold";
            model.OnHitEffects = new List <Entities.StateAlterationModel>()
            {
                CreatePassive(StateAlterationType.MoveSpeed, -2, 4),
            };
            return(model);
        }
Ejemplo n.º 6
0
        public static WeaponEnchantModel Soften()
        {
            var cst = GameServer.GetScene().Constants.Equip;
            WeaponEnchantModel model = new WeaponEnchantModel();

            model.Price          = cst.EquipCost[5];
            model.Name           = "soften";
            model.CastingEffects = new List <Entities.StateAlterationModel>()
            {
                CreatePassive(StateAlterationType.AttackDamageBuff, -2, 2),
                CreatePassive(StateAlterationType.MagicDamageBuff, -2, 2),
            };
            return(model);
        }
Ejemplo n.º 7
0
        public static WeaponEnchantModel Precision()
        {
            var cst = GameServer.GetScene().Constants.Equip;
            WeaponEnchantModel model = new WeaponEnchantModel();

            model.Price          = cst.EquipCost[5];
            model.Name           = "precision";
            model.CastingEffects = new List <Entities.StateAlterationModel>()
            {
                CreatePassive(StateAlterationType.AttackDamageBuff, 4, 3),
                CreatePassive(StateAlterationType.AttackSpeed, 3, 3)
            };
            return(model);
        }
Ejemplo n.º 8
0
        public static WeaponEnchantModel Fury()
        {
            var cst = GameServer.GetScene().Constants.Equip;
            WeaponEnchantModel model = new WeaponEnchantModel();

            model.Price          = cst.EquipCost[5];
            model.Name           = "fury";
            model.CastingEffects = new List <Entities.StateAlterationModel>()
            {
                CreatePassive(StateAlterationType.ArmorBuff, -2, 4),
                CreatePassive(StateAlterationType.AttackSpeed, 4, 4),
                CreatePassive(StateAlterationType.MoveSpeed, 50, 4),
            };
            return(model);
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Retourne une copie de cette instance.
        /// </summary>
        /// <returns></returns>
        public WeaponEnchantModel Copy()
        {
            WeaponEnchantModel copy = new WeaponEnchantModel();

            foreach (var i in OnHitEffects)
            {
                copy.OnHitEffects.Add(i.Copy());
            }
            foreach (var i in PassiveEffects)
            {
                copy.PassiveEffects.Add(i.Copy());
            }
            foreach (var i in CastingEffects)
            {
                copy.CastingEffects.Add(i.Copy());
            }
            return(copy);
        }