/// <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; }
/// <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; }