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