diff --git a/Projects/BlacksmithMaster/BlacksmithMaster/Class1.cs b/Projects/BlacksmithMaster/BlacksmithMaster/Class1.cs index d6c3d50..47a7571 100644 --- a/Projects/BlacksmithMaster/BlacksmithMaster/Class1.cs +++ b/Projects/BlacksmithMaster/BlacksmithMaster/Class1.cs @@ -19,6 +19,9 @@ namespace BlacksmithMaster { public static ConfigEntry moneyMultiplier; public static ConfigEntry researchMultiplier; public static ConfigEntry salaryMultiplier; + public static ConfigEntry dailyCustomerMultiplier; + public static ConfigEntry decorationAdditionMultiplier; + public static ConfigEntry globalSpeedMultiplier; public static ConfigEntry alwaysEvenly; public static ConfigEntry alwaysChad; @@ -37,6 +40,15 @@ namespace BlacksmithMaster { salaryMultiplier = Config.Bind("General", "Salary Multiplier", 1f, new ConfigDescription("Salary Multiplier", new AcceptableValueRange(0.01f, 1024f))); + dailyCustomerMultiplier = Config.Bind( + "General", "Daily Customer Multiplier", 1f, + new ConfigDescription("Daily Customer Multiplier", new AcceptableValueRange(0.01f, 1024f))); + decorationAdditionMultiplier = Config.Bind( + "General", "Decoration Addition Multiplier", 1f, + new ConfigDescription("Decoration Addition Multiplier", new AcceptableValueRange(0.01f, 1024f))); + globalSpeedMultiplier = Config.Bind( + "General", "Global Speed Multiplier", 1f, + new ConfigDescription("Global Speed Multiplier", new AcceptableValueRange(0.01f, 1024f))); alwaysEvenly = Config.Bind("General", "Always Evenly", false, new ConfigDescription("Always Evenly", new AcceptableValueRange(false, true))); @@ -95,6 +107,29 @@ namespace BlacksmithMaster { } } + [HarmonyPatch(typeof(StaffModel), "RefreshGlobalModifiers")] + public class StaffModel_RefreshGlobalModifiers { + public static void Postfix(StaffModel __instance) { + var instanceTrav = Traverse.Create(__instance); + + var globalCustomersPerDayMultiplierField = instanceTrav.Field("GlobalCustomersPerDayMultiplier"); + var globalDecorationAdditionMultiplierField = instanceTrav.Field("GlobalDecorationAdditionMultiplier"); + var globalSpeedModifierField = instanceTrav.Field("GlobalSpeedModifier"); + + Main.LogDebug("Original daily customer: " + globalCustomersPerDayMultiplierField.GetValue()); + globalCustomersPerDayMultiplierField.SetValue(globalCustomersPerDayMultiplierField.GetValue() * Main.dailyCustomerMultiplier.Value); + Main.LogDebug("Modified daily customer: " + globalCustomersPerDayMultiplierField.GetValue()); + + Main.LogDebug("Original decoration addition: " + globalDecorationAdditionMultiplierField.GetValue()); + globalDecorationAdditionMultiplierField.SetValue(globalDecorationAdditionMultiplierField.GetValue() * Main.decorationAdditionMultiplier.Value); + Main.LogDebug("Modified decoration addition: " + globalDecorationAdditionMultiplierField.GetValue()); + + Main.LogDebug("Original global speed: " + globalSpeedModifierField.GetValue()); + globalSpeedModifierField.SetValue(globalSpeedModifierField.GetValue() * Main.globalSpeedMultiplier.Value); + Main.LogDebug("Modified global speed: " + globalSpeedModifierField.GetValue()); + } + } + [HarmonyPatch(typeof(StaffUtil), "FillBasicInfo")] public class StaffUtil_FillBasicInfo { public static void Postfix(TavernData.StaffType staffType, Random rnd, ref TavernData.StaffInfo newPerson) {