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));
        }
Exemple #4
0
            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);
            }