public override void SetAttributes() { float rarityBonus; attributeQualities = GameObject.Find("Datas").GetComponent <ItemDatas>().GetAttributesQualities(3); switch (GetRarity()) { case "Common": rarityBonus = 1f; break; case "Uncommon": rarityBonus = 2f; break; case "Heroic": rarityBonus = 3f; break; case "Legendary": rarityBonus = 4f; break; default: rarityBonus = 0f; break; } armor1Value = GameObject.Find("Datas").GetComponent <ItemDatas>().AttributeQualityToValue(armor1Type, attributeQualities[1]) * rarityBonus; armor2Value = GameObject.Find("Datas").GetComponent <ItemDatas>().AttributeQualityToValue(armor2Type, attributeQualities[2]) * rarityBonus; mainStatType = GameObject.Find("Datas").GetComponent <ItemDatas>().GetMainAttributeType(); mainStatValue = GameObject.Find("Datas").GetComponent <ItemDatas>().AttributeQualityToValue(mainStatType, attributeQualities[3]) * rarityBonus; SetPrice(Mathf.RoundToInt(attributeQualities[0] * rarityBonus * rarityBonus / 10f * GameObject.Find("Datas").GetComponent <Datas>().Get_AdvancementValues(GetLevel()))); SetUpgradePrice(Mathf.RoundToInt(GetPrice() * 1.2f)); }
public float AttributeQualityToValue(ItemStatType.Stats attributeName, int attributeQuality) { switch (attributeName) { case ItemStatType.Stats.Health: return(attributeQuality * 15 / 100); case ItemStatType.Stats.AttackPower: return(attributeQuality * 15 / 100); case ItemStatType.Stats.MagicPower: return(attributeQuality * 15 / 100); case ItemStatType.Stats.Armor: return(attributeQuality * 2 / 100); case ItemStatType.Stats.HealthRegen: return(Mathf.RoundToInt(attributeQuality * 3 / 20) / 10f); case ItemStatType.Stats.AttackSpeed: return(GetAS_CC_CDRValue(attributeQuality)); case ItemStatType.Stats.CritChance: return(GetAS_CC_CDRValue(attributeQuality)); case ItemStatType.Stats.CDReducation: return(GetAS_CC_CDRValue(attributeQuality)); case ItemStatType.Stats.MovementSpeed: return(GetMovSpeedValue(attributeQuality)); default: return(0); } }
public Boots(string r, int l, ItemStatType.Stats[] attributeTypes, int[] attributeValues) : base(r, l) { attributeQualities = attributeValues; float rarityBonus; switch (GetRarity()) { case "Common": rarityBonus = 1f; break; case "Uncommon": rarityBonus = 2f; break; case "Heroic": rarityBonus = 3f; break; case "Legendary": rarityBonus = 4f; break; default: rarityBonus = 0f; break; } armorValue = GameObject.Find("Datas").GetComponent <ItemDatas>().AttributeQualityToValue(armorType, attributeQualities[1]) * rarityBonus; mainStatType = attributeTypes[0]; mainStatValue = GameObject.Find("Datas").GetComponent <ItemDatas>().AttributeQualityToValue(mainStatType, attributeQualities[2]) * rarityBonus; movSpeedValue = GameObject.Find("Datas").GetComponent <ItemDatas>().AttributeQualityToValue(movSpeedType, attributeQualities[3]) * rarityBonus; SetPrice(Mathf.RoundToInt(attributeQualities[0] * rarityBonus * rarityBonus / 10f * GameObject.Find("Datas").GetComponent <Datas>().Get_AdvancementValues(GetLevel()))); SetUpgradePrice(Mathf.RoundToInt(GetPrice() * 1.2f)); }
public override void SetAttributes() { SetAttackSpeed(1.5f); SetTwoHanded(true); System.Random r = new System.Random(); float attackQuality = r.Next(800, 1201); SetDamageQuality(attackQuality); SetDamagePerSec(attackQuality * 15 / 100 / 10f); float rarityBonus; attributeQualities = GameObject.Find("Datas").GetComponent <ItemDatas>().GetAttributesQualities(2); switch (GetRarity()) { case "Common": rarityBonus = 1f; break; case "Uncommon": rarityBonus = 2f; break; case "Heroic": rarityBonus = 3f; break; case "Legendary": rarityBonus = 4f; break; default: rarityBonus = 0f; break; } mainStatType = GameObject.Find("Datas").GetComponent <ItemDatas>().GetMainAttributeType(); mainStatValue = GameObject.Find("Datas").GetComponent <ItemDatas>().AttributeQualityToValue(mainStatType, attributeQualities[1]) * rarityBonus; secStatType = GameObject.Find("Datas").GetComponent <ItemDatas>().GetSecondaryAttributeType(); if (secStatType == ItemStatType.Stats.HealthRegen) { secStatValue = GameObject.Find("Datas").GetComponent <ItemDatas>().AttributeQualityToValue(secStatType, attributeQualities[2]) * rarityBonus; } else { secStatValue = GameObject.Find("Datas").GetComponent <ItemDatas>().AttributeQualityToValue(secStatType, attributeQualities[2]); } SetPrice(Mathf.RoundToInt((attributeQualities[0] + GetDamageQuality()) * rarityBonus * rarityBonus / 10f * GameObject.Find("Datas").GetComponent <Datas>().Get_AdvancementValues(GetLevel()))); SetUpgradePrice(Mathf.RoundToInt(GetPrice() * 1.2f)); }
public override void SetAttributes() { magicPowerMultiplier = 1.3f; SetAttackSpeed(1f); SetTwoHanded(false); System.Random r = new System.Random(); float attackQuality = r.Next(320, 481); SetDamageQuality(attackQuality); float rarityBonus; attributeQualities = GameObject.Find("Datas").GetComponent <ItemDatas>().GetAttributesQualities(1); switch (GetRarity()) { case "Common": rarityBonus = 1f; break; case "Uncommon": rarityBonus = 2f; break; case "Heroic": rarityBonus = 3f; break; case "Legendary": rarityBonus = 4f; break; default: rarityBonus = 0f; break; } SetDamagePerSec(attackQuality * 15 * rarityBonus / 100 / 10f); mainStatType = GameObject.Find("Datas").GetComponent <ItemDatas>().GetMainAttributeType(); mainStatValue = GameObject.Find("Datas").GetComponent <ItemDatas>().AttributeQualityToValue(mainStatType, attributeQualities[1]) * rarityBonus; SetPrice(Mathf.RoundToInt((attributeQualities[0] + GetDamageQuality() + 200) * rarityBonus * rarityBonus / 10f * GameObject.Find("Datas").GetComponent <Datas>().Get_AdvancementValues(GetLevel()))); SetUpgradePrice(Mathf.RoundToInt(GetPrice() * 1.2f)); }
public Staff(string r, int l, int attackQuality, ItemStatType.Stats[] attributeTypes, int[] attributeValues) : base(r, l) { magicPowerMultiplier = 1.3f; SetAttackSpeed(1.5f); SetTwoHanded(false); SetDamageQuality(attackQuality); float rarityBonus; switch (GetRarity()) { case "Common": rarityBonus = 1f; break; case "Uncommon": rarityBonus = 2f; break; case "Heroic": rarityBonus = 3f; break; case "Legendary": rarityBonus = 4f; break; default: rarityBonus = 0f; break; } SetDamagePerSec(attackQuality * 15 * rarityBonus / 100 / 10f); attributeQualities = attributeValues; mainStatType = attributeTypes[0]; mainStatValue = GameObject.Find("Datas").GetComponent <ItemDatas>().AttributeQualityToValue(mainStatType, attributeQualities[1]) * rarityBonus; SetPrice(Mathf.RoundToInt((attributeQualities[0] + GetDamageQuality() + 200) * rarityBonus * rarityBonus / 10f * GameObject.Find("Datas").GetComponent <Datas>().Get_AdvancementValues(GetLevel()))); SetUpgradePrice(Mathf.RoundToInt(GetPrice() * 1.2f)); }