public static ItemCostXml GetSellCostOverride(InventoryItemTypeEnum inventoryItemType, int itemLvl, RarityEnum itemRarity) { var lvlRange = RespecCostsLevel.FirstOrDefault(key => key.LevelMin <= itemLvl && itemLvl <= key.LevelMax); if (lvlRange == null) { return(new ItemCostXml(CapitalResourceTypeEnum.cCapResCoin, 0)); } var result = lvlRange.Cost; var budgetInfo = ItemBudgetInfo.FirstOrDefault(key => key.InventoryItemType == inventoryItemType); if (budgetInfo != null) { var budgetModifier = budgetInfo.BudgetModifier; var rarityInfo = RarityInfo.FirstOrDefault(key => key.Rarity == itemRarity); result = lvlRange.Cost + budgetModifier * rarityInfo?.Factor ?? lvlRange.Cost + budgetModifier; } if (result < 0) { result = 0; } return(new ItemCostXml(CapitalResourceTypeEnum.cCapResCoin, result)); }
public static string ToLocalizedString(this InventoryItemTypeEnum type, ILanguages languages, string language = "English") { switch (type) { case InventoryItemTypeEnum.Material: return ($"{languages["stringtablex"][language][52890].Text}"); case InventoryItemTypeEnum.Blueprint: return ($"{languages["stringtablex"][language][52887].Text}"); case InventoryItemTypeEnum.Trait: return ($"{languages["stringtablex"][language][63898].Text}"); case InventoryItemTypeEnum.Design: return ($"{languages["stringtablex"][language][52888].Text}"); case InventoryItemTypeEnum.Resource: return ($"{languages["stringtablex"][language][36059].Text}"); case InventoryItemTypeEnum.Advisor: return ($"{languages["stringtablex"][language][63901].Text}"); case InventoryItemTypeEnum.Consumable: return ($"{languages["stringtablex"][language][52891].Text}"); case InventoryItemTypeEnum.LootRoll: return ($"{languages["stringtablex"][language][57460].Text}"); case InventoryItemTypeEnum.Quest: return ($"{languages["stringtablex"][language][53219].Text}"); case InventoryItemTypeEnum.CapitalResource: return ("Capital Resource"); case InventoryItemTypeEnum.GameCurrency: return ("Game Currency"); case InventoryItemTypeEnum.Invalid: return ("Invalid!"); default: throw new ArgumentOutOfRangeException(nameof(type), type, null); } }
public ItemBudgetInfo(InventoryItemTypeEnum inventoryItemType, double budgetModifier) { InventoryItemType = inventoryItemType; BudgetModifier = budgetModifier; }