Esempio n. 1
0
    public static SupplyData createSupplyData(SupplyType type, ItemQuality quality)
    {
        float level    = randLevel();
        int   value    = 0;
        int   duration = 0;

        switch (type)
        {
        case SupplyType.MEDKIT_SMALL:
        case SupplyType.MEDKIT_MEDIUM:
        case SupplyType.MEDKIT_LARGE:
        case SupplyType.MEDKIT_ULTRA:
            value = Mathf.RoundToInt(type.value() * level * qualityMultiplier(quality));
            break;

        case SupplyType.GRENADE_FLASH:
            duration = quality == ItemQuality.UNIQUE? 12: quality == ItemQuality.RARE? 10: quality == ItemQuality.SUPERIOR? 8: quality == ItemQuality.GOOD? 6: 4;
            break;

        case SupplyType.GRENADE_PARALIZE:
            duration = quality == ItemQuality.UNIQUE? 7: quality == ItemQuality.RARE? 6: quality == ItemQuality.SUPERIOR? 5: quality == ItemQuality.GOOD? 4: 3;
            break;

        case SupplyType.INJECTION_ARMOR:
            value    = Mathf.RoundToInt(type.value() * level * qualityMultiplier(quality)) * 2;
            duration = quality == ItemQuality.UNIQUE? 20: quality == ItemQuality.RARE? 14: quality == ItemQuality.SUPERIOR? 10: quality == ItemQuality.GOOD? 7: 5;
            break;

        case SupplyType.INJECTION_REGENERATION:
            value    = Mathf.RoundToInt(type.value() * level * qualityMultiplier(quality));
            duration = quality == ItemQuality.UNIQUE? 7: quality == ItemQuality.RARE? 6: quality == ItemQuality.SUPERIOR? 5: quality == ItemQuality.GOOD? 4: 3;
            break;

        case SupplyType.INJECTION_SPEED:
            value    = quality == ItemQuality.UNIQUE? 5: quality == ItemQuality.RARE? 4: quality == ItemQuality.SUPERIOR? 3: quality == ItemQuality.GOOD? 2: 1;
            duration = 5;
            break;
        }

        SupplyData data = new SupplyData(quality, level, type, value, duration);

        data.initCommons(calculateCost(data), 0);

        return(data);
    }