public override int GetEnergyCostForRefining(ref Crafting.RefiningFormula refineFormula, Hero hero) { int num = ForgeOverhaulConfig.ConfigSettings.RefiningStaminaCost; if (hero.GetPerkValue(DefaultPerks.Crafting.PracticalRefiner)) { num = (num + 1) / 2; } return(num); }
public static void GetEnergyCostForRefining(ref Crafting.RefiningFormula refineFormula, Hero hero, ref int __result) { if ((hero?.IsHumanPlayerCharacter ?? false) && BannerlordCheatsSettings.Instance.SmithingEnergyCostPercentage < 100) { var factor = BannerlordCheatsSettings.Instance.SmithingEnergyCostPercentage / 100f; var newValue = (int)Math.Round(factor * __result); __result = newValue; } }
public override int GetSkillXpForRefining(ref Crafting.RefiningFormula refineFormula) { int result = base.GetSkillXpForRefining(ref refineFormula); decimal mult = (decimal)Settings.Instance.RefiningXPMultiplier / 100m; if (mult != 1.0m) { return((int)decimal.Round((decimal)result * mult)); } else { return(result); } }
public static void GetEnergyCostForRefining(ref Crafting.RefiningFormula refineFormula, Hero hero, ref int __result) { try { if (hero.PartyBelongedTo.IsPlayerParty() && BannerlordCheatsSettings.Instance?.SmithingEnergyCostPercentage < 100f) { var factor = BannerlordCheatsSettings.Instance.SmithingEnergyCostPercentage / 100f; var newValue = (int)Math.Round(factor * __result); __result = newValue; } } catch (Exception e) { SubModule.LogError(e, typeof(SmithingEnergyCostPercentageRefining)); } }
public override int GetEnergyCostForRefining(ref Crafting.RefiningFormula refineFormula, Hero hero) { return(0); }
public static int GetMaxCounts(ref CraftingCampaignBehavior instance, Hero hero, Crafting.RefiningFormula refineFormula) { ItemRoster itemRoster = MobileParty.MainParty.ItemRoster; int energyCostForRefining = Campaign.Current.Models.SmithingModel.GetEnergyCostForRefining(ref refineFormula, hero); int result; if (energyCostForRefining <= 0) { result = 2147483647; } else { result = instance.GetHeroCraftingStamina(hero) / energyCostForRefining; } if (refineFormula.Input1Count > 0) { ItemObject craftingMaterialItem1; int input1result; craftingMaterialItem1 = Campaign.Current.Models.SmithingModel.GetCraftingMaterialItem(refineFormula.Input1); input1result = MaxForInput(itemRoster, craftingMaterialItem1, refineFormula.Input1Count); result = input1result; } if (refineFormula.Input2Count > 0) { ItemObject craftingMaterialItem2; int input2result; craftingMaterialItem2 = Campaign.Current.Models.SmithingModel.GetCraftingMaterialItem(refineFormula.Input2); input2result = MaxForInput(itemRoster, craftingMaterialItem2, refineFormula.Input2Count); return(Math.Min(result, input2result)); } return(result); }
public override int GetEnergyCostForRefining(ref Crafting.RefiningFormula refineFormula, Hero hero) { return((int)Math.Floor(base.GetEnergyCostForRefining(ref refineFormula, hero) * ModSettings.Settings.CraftingConfig.StaminaCostMultiplier)); }