Exemple #1
0
 public Weapon(WeaponData model, EquipmentMaterial material)
     : base(model, material)
 {
     style      = model.style;
     attackType = model.attackType;
     element    = model.element;
     damage     = model.damage * material.damage[element];
     accuracy   = model.accuracy;
     ammoType   = model.ammoType;
 }
Exemple #2
0
 public Weapon(WeaponDesign design, EquipmentMaterial material)
     : base(design, material)
 {
     element   = design.element;
     ammoType  = design.ammoType;
     style     = design.style;
     minRange  = design.minRange;
     maxRange  = design.maxRange;
     damage    = design.damage * material.attack[element];
     attribute = design.attribute;
 }
Exemple #3
0
 protected void EnsureMaterialFromLootSource(Equipment eq, EquipmentMaterial mat)
 {
     if (!eq.IsMaterialAware())
     {
         return;
     }
     // int level = eq.LevelIndex;
     //if (level > MaterialProps.IronDropLootSrcLevel)
     {
         eq.SetMaterial(mat);
     }
 }
Exemple #4
0
        public void SetMaterial(EquipmentMaterial material)
        {
            if (material == EquipmentMaterial.Unset)
            {
                return;
            }

            if (this.Material != EquipmentMaterial.Unset &&
                this.Material != EquipmentMaterial.Bronze)
            {
                Debug.Assert(false);
                return;
            }

            var eskToEnhance = EntityStatKind.Unset;

            switch (EquipmentKind)
            {
            case EquipmentKind.Weapon:
                eskToEnhance = EntityStatKind.MeleeAttack;
                break;

            //case EquipmentKind.Armor:
            //case EquipmentKind.Helmet:
            //case EquipmentKind.Shield:
            //case EquipmentKind.Glove:
            //  eskToEnhance = EntityStatKind.Defense;
            //  break;
            default:
                break;
            }

            this.Material = material;
            if (material == EquipmentMaterial.Iron)
            {
                int k = 0;
                k++;
            }
            if (this.Name == "Tusk")
            {
                int k = 0;
                k++;
            }
            if (eskToEnhance != EntityStatKind.Unset)
            {
                if (Class != EquipmentClass.Unique)
                {
                    this.DisplayedName = material.ToDescription() + " " + Name.ToLower();
                    EnhanceStatsDueToMaterial(material);
                }
            }
        }
Exemple #5
0
 public IHttpActionResult GetEquipmentMaterial(long?equipmentMaterialId, long?doctorStudentId)
 {
     try
     {
         EquipmentMaterial equipmentMateria = new EquipmentMaterial();
         var result = equipmentMateria.GetEquipmentMaterial(equipmentMaterialId, doctorStudentId);
         return(Ok(result));
     }
     catch (Exception ex)
     {
         throw;
     }
 }
Exemple #6
0
    public Equipment(EquipmentData model, EquipmentMaterial material)
    {
        this.model    = model;
        this.material = material;

        weight     = (int)(model.weight * material.weight);
        value      = (int)(model.value * material.value);
        armorClass = model.armorClass;

        resistance = new ElementSet();
        foreach (var el in ElementSet.EnumKeys)
        {
            resistance[el] = (int)(model.resistance * material.resist[el]);
        }
    }
    public Equipment(EquipmentDesign design, EquipmentMaterial material)
    {
        this.design   = design;
        this.material = material;

        slot       = design.slot;
        weight     = (int)(design.weight * material.weight);
        value      = (int)(design.value * material.value);
        attunement = design.attunement * material.attunement;

        armorClass = new ElementSet();
        foreach (var el in ElementSet.EnumKeys)
        {
            armorClass[el] = (int)(design.armorClass * material.defense[el]);
        }
    }
Exemple #8
0
 public IHttpActionResult SaveEquipmentMaterial(EquipmentMaterial equipmentMaterial)
 {
     try
     {
         var result = equipmentMaterial.SaveEquipmentMaterial();
         if (result == null)
         {
             return(NotFound());
         }
         return(Ok(result));
     }
     catch (Exception ex)
     {
         throw;
     }
 }
Exemple #9
0
        protected Tuple <string, EquipmentMaterial> GetRandomFromList(int level, ref EquipmentMaterial mat, List <Equipment> plains)
        {
            Tuple <string, EquipmentMaterial> res = null;
            var eqsAtLevel = plains.Where(i => i.LevelIndex == level).ToList();

            var eq = RandHelper.GetRandomElem <Equipment>(eqsAtLevel);

            if (eq != null)
            {
                if (eq.IsMaterialAware() && mat == EquipmentMaterial.Unset)
                {
                    mat = EquipmentMaterial.Bronze;
                }
                res = new Tuple <string, EquipmentMaterial>(eq.tag1, mat);
            }

            return(res);
        }
Exemple #10
0
        protected virtual Tuple <string, EquipmentMaterial> GetLootAtLevel(int level)
        {
            Tuple <string, EquipmentMaterial> res = new Tuple <string, EquipmentMaterial>("", EquipmentMaterial.Unset);
            EquipmentMaterial mat = EquipmentMaterial.Unset;
            bool upgMaterial      = false;

            if (level > MaterialProps.SteelDropLootSrcLevel)
            {
                mat = EquipmentMaterial.Iron;
                if (RandHelper.GetRandomDouble() > 0.33f)//make it more unpredictable
                {
                    mat         = EquipmentMaterial.Steel;
                    upgMaterial = true;
                }
            }
            else if (level > MaterialProps.IronDropLootSrcLevel)
            {
                if (RandHelper.GetRandomDouble() > 0.33f)
                {
                    mat         = EquipmentMaterial.Iron;
                    upgMaterial = true;
                }
            }

            if (upgMaterial)
            {
                level--;
            }

            var plains = prototypes.Values.Where(i => i.Class == EquipmentClass.Plain).ToList();

            res = GetRandomFromList(level, ref mat, plains);
            //if (eq !=null mat != EquipmentMaterial.Bronze)
            //{
            //  EnsureMaterialFromLootSource(eq);
            //}
            return(res);
        }
Exemple #11
0
 public int Insert(EquipmentMaterial _model)
 {
     return(dal.Insert(_model));
 }
Exemple #12
0
 public int Insert(EquipmentMaterial model)
 {
     return(CommonAccess.ComSQLiteInsert(model));
 }
Exemple #13
0
 public int delete(EquipmentMaterial _model)
 {
     return(dal.Delete(_model));
 }
Exemple #14
0
 public int UpdateBy(EquipmentMaterial _model, string _identity)
 {
     return(dal.Update(_model, _identity));
 }
Exemple #15
0
 public int InsertOrUpdateBy(EquipmentMaterial _model, string _identity)
 {
     return(_model.ID == 0 ? dal.Insert(_model) : dal.Update(_model, _identity));
 }
Exemple #16
0
 public int Update(EquipmentMaterial _model)
 {
     return(dal.Update(_model, "ID"));
 }
Exemple #17
0
 public int Update(EquipmentMaterial model, string _identity)
 {
     return(CommonAccess.ComSQLiteUpdate(model, _identity));
 }
Exemple #18
0
 public int Delete(EquipmentMaterial model)
 {
     return(CommonAccess.ComSQLiteDelete(model, "ID"));
 }
Exemple #19
0
 public Armor(ArmorData model, EquipmentMaterial material)
     : base(model, material)
 {
     slot = model.slot;
 }
Exemple #20
0
 public Armor(ArmorDesign design, EquipmentMaterial material)
     : base(design, material)
 {
 }