Пример #1
0
        /// <summary>
        /// Updates items attributes based on items grade
        /// </summary>
        /// <param name="item">EquipableItem to update</param>
        private static void SetItemsAttributesByGrade(EquipableItem item)
        {
            if (item.Attribute == null)
            {
                item.Attribute = new AttributeData();
            }

            if (item.EquipableData.BaseAttributes == null)
            {
                return;
            }

            AttributeData.MoveData(item.Attribute, item.EquipableData.BaseAttributes);

            float multiplier;

            switch (item.Grade)
            {
            case ItemGrade.S:
                multiplier = 0.85f;
                break;

            case ItemGrade.A:
                multiplier = 0.7f;
                break;

            case ItemGrade.B:
                multiplier = 0.55f;
                break;

            case ItemGrade.C:
                multiplier = 0.4f;
                break;

            case ItemGrade.D:
                multiplier = 0.25f;
                break;

            case ItemGrade.E:
                multiplier = 0.1f;
                break;

            default:
                multiplier = 1;
                break;
            }

            item.Attribute *= multiplier;
        }
Пример #2
0
 /// <summary>
 /// Assigns random durability based on characters luck
 /// </summary>
 /// <param name="item">Item to whom assign the durability</param>
 /// <param name="luck">Luck amount</param>
 public static void AssignRandomDurability(EquipableItem item, int luck = 1)
 {
     item.Durability = R.RandomRange(luck, 101) / 100.0f;
 }