コード例 #1
0
    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));
    }
コード例 #2
0
ファイル: ItemDatas.cs プロジェクト: mars1277/Szakdolgozat
    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);
        }
    }
コード例 #3
0
ファイル: Boots.cs プロジェクト: mars1277/Szakdolgozat
    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));
    }
コード例 #4
0
ファイル: Crossbow.cs プロジェクト: mars1277/Szakdolgozat
    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));
    }
コード例 #5
0
ファイル: Staff.cs プロジェクト: mars1277/Szakdolgozat
    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));
    }
コード例 #6
0
ファイル: Staff.cs プロジェクト: mars1277/Szakdolgozat
    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));
    }