public static string mod_GetSpellbookActionName(string actionName, ItemEntity item, UnitEntityData unit) { if (actionName != LocalizedTexts.Instance.Items.CopyScroll) { return(actionName); } BlueprintAbility spell = CopyScrollNew.mod_ExtractSpell(item); if (spell == null) { return(actionName); } List <Spellbook> spellbooks = unit.Descriptor.Spellbooks.Where(x => x.Blueprint.SpellList.Contains(spell)).ToList(); int count = spellbooks.Count; if (count <= 0) { return(actionName); } string actionFormat = LocalizationManagerNew.LoadString("76e0a02a-e6f4-4422-b14d-d958028a7cbd"); return(string.Format(actionFormat, actionName, count == 1 ? spellbooks.First().Blueprint.Name : "Multiple")); }
public static string mod_GetVersion() { var gameVersion = Resources.Load<GameVersion>("Version"); if (gameVersion == null) { return "Editor"; } string version = gameVersion.Version; alias_Cached = version; string modVersionFormat = LocalizationManagerNew.LoadString("a0763979-fde3-44bb-a68f-3ee826d9c8fe"); return string.Format(modVersionFormat, gameVersion.Version); }
public static string mod_GetItemCost(ItemEntity item) { if (!KingmakerPatchSettings.UI.AddLabelToSellCost) { return(source_GetItemCost(item)); } if (!item.IsIdentified) { return(LocalizedTexts.Instance.UserInterfacesText.Tooltips.Unidentified); } string sellForLabel = LocalizationManagerNew.LoadString("2f09e1be-86de-460d-96be-8a8ca72d456f"); return(string.Format(sellForLabel, Kingmaker.Game.Instance.Vendor.GetItemSellPrice(item) * item.Count)); }
public void mod_Initialize(BlueprintSettlementBuilding building, SettlementBuilding settlementBuilding, SettlementState settlement) { if (!KingmakerPatchSettings.CurrencyFallback.Enabled) { this.source_Initialize(building, settlementBuilding, settlement); return; } string costFormat = LocalizationManagerNew.LoadString("9191fbc8-23ac-4bd4-8167-28de8d418122"); string costSplitFormat = LocalizationManagerNew.LoadString("da676fed-170f-4099-8b09-ba516d632dd7"); this.alias_Slots.sprite = KingdomUIRoot.Instance.Settlement.GetSlotSprite(building.SlotCount); if (settlementBuilding == null) { int actualCost = settlement.GetActualCost(building, out bool isDiscounted); this.alias_DiscountLayer.gameObject.SetActive(actualCost == 0 || isDiscounted); if (actualCost == 0) { this.alias_Cost.text = string.Format(costFormat, KingdomUIRoot.Instance.Texts.BuildFreeCost); } else { Tuple <int, int> costSplit = KingdomCurrencyFallback.SplitCost(actualCost); LocalizedString format = isDiscounted ? KingdomUIRoot.Instance.Texts.BuildPointsDiscountFormat : KingdomUIRoot.Instance.Texts.BuildPointsFormat; if (costSplit.Item2 == 0) { this.alias_Cost.text = string.Format(costFormat, string.Format(format, costSplit.Item1)); } else { this.alias_Cost.text = string.Format(costSplitFormat, string.Format(format, costSplit.Item1), costSplit.Item2); } } } else { this.alias_DiscountLayer.gameObject.SetActive(false); this.alias_Cost.text = string.Format(costFormat, string.Format(KingdomUIRoot.Instance.Texts.BuildPointsFormat, settlementBuilding.Owner.GetSellPrice(building))); } this.alias_SetColor(building, settlementBuilding, settlement); }