Compare commits
2 Commits
28bb3038c5
...
f72fcee86c
Author | SHA1 | Date | |
---|---|---|---|
f72fcee86c | |||
5bde3c20b4 |
@@ -25,6 +25,7 @@ namespace BlacksmithMaster {
|
|||||||
public static ConfigEntry<float> decorationAdditionOffset;
|
public static ConfigEntry<float> decorationAdditionOffset;
|
||||||
public static ConfigEntry<float> globalSpeedMultiplier;
|
public static ConfigEntry<float> globalSpeedMultiplier;
|
||||||
public static ConfigEntry<float> globalSpeedOffset;
|
public static ConfigEntry<float> globalSpeedOffset;
|
||||||
|
public static ConfigEntry<float> hiringCostMultiplier;
|
||||||
public static ConfigEntry<bool> alwaysEvenly;
|
public static ConfigEntry<bool> alwaysEvenly;
|
||||||
public static ConfigEntry<bool> alwaysChad;
|
public static ConfigEntry<bool> alwaysChad;
|
||||||
|
|
||||||
@@ -61,6 +62,9 @@ namespace BlacksmithMaster {
|
|||||||
globalSpeedOffset = Config.Bind(
|
globalSpeedOffset = Config.Bind(
|
||||||
"General", "Global Speed Offset", 0f,
|
"General", "Global Speed Offset", 0f,
|
||||||
new ConfigDescription("Global Speed Offset", new AcceptableValueRange<float>(-1024f, 1024f)));
|
new ConfigDescription("Global Speed Offset", new AcceptableValueRange<float>(-1024f, 1024f)));
|
||||||
|
hiringCostMultiplier = Config.Bind(
|
||||||
|
"General", "Hiring Cost Multiplier", 1f,
|
||||||
|
new ConfigDescription("Hiring Cost Multiplier", new AcceptableValueRange<float>(0.01f, 1024f)));
|
||||||
alwaysEvenly =
|
alwaysEvenly =
|
||||||
Config.Bind("General", "Always Evenly", false,
|
Config.Bind("General", "Always Evenly", false,
|
||||||
new ConfigDescription("Always Evenly", new AcceptableValueRange<bool>(false, true)));
|
new ConfigDescription("Always Evenly", new AcceptableValueRange<bool>(false, true)));
|
||||||
@@ -119,26 +123,39 @@ namespace BlacksmithMaster {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[HarmonyPatch(typeof(StaffModel), "RefreshGlobalModifiers")]
|
[HarmonyPatch(typeof(TavernModel), "GetNumberOfCustomersPerDay")]
|
||||||
public class StaffModel_RefreshGlobalModifiers {
|
public class TavernModel_GetNumberOfCustomersPerDay {
|
||||||
public static void Postfix(StaffModel __instance) {
|
public static void Postfix(ref int __result) {
|
||||||
var instanceTrav = Traverse.Create(__instance);
|
Main.LogDebug("Original number of customers per day: " + __result);
|
||||||
|
__result = (int)(__result * Main.dailyCustomerMultiplier.Value + Main.dailyCustomerOffset.Value);
|
||||||
|
Main.LogDebug("Modified number of customers per day: " + __result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var globalCustomersPerDayMultiplierField = instanceTrav.Field("GlobalCustomersPerDayMultiplier");
|
[HarmonyPatch(typeof(TavernModel), "GetBonusPercentageFromDecorations")]
|
||||||
var globalDecorationAdditionMultiplierField = instanceTrav.Field("GlobalDecorationAdditionMultiplier");
|
public class TavernModel_GetBonusPercentageFromDecorations {
|
||||||
var globalSpeedModifierField = instanceTrav.Field("GlobalSpeedModifier");
|
public static void Postfix(ref int __result) {
|
||||||
|
Main.LogDebug("Original bonus percentage from decorations: " + __result);
|
||||||
|
__result = (int)(__result * Main.decorationAdditionMultiplier.Value + Main.decorationAdditionOffset.Value);
|
||||||
|
Main.LogDebug("Modified bonus percentage from decorations: " + __result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Main.LogDebug("Original daily customer: " + globalCustomersPerDayMultiplierField.GetValue<float>());
|
[HarmonyPatch(typeof(Economy), "GetWalkingSpeed")]
|
||||||
globalCustomersPerDayMultiplierField.SetValue(globalCustomersPerDayMultiplierField.GetValue<float>() * Main.dailyCustomerMultiplier.Value + Main.dailyCustomerOffset.Value);
|
public class Economy_GetWalkingSpeed {
|
||||||
Main.LogDebug("Modified daily customer: " + globalCustomersPerDayMultiplierField.GetValue<float>());
|
public static void Postfix(ref float __result) {
|
||||||
|
Main.LogDebug("Original walking speed: " + __result);
|
||||||
|
__result = __result * Main.globalSpeedMultiplier.Value + Main.globalSpeedOffset.Value;
|
||||||
|
Main.LogDebug("Modified walking speed: " + __result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Main.LogDebug("Original decoration addition: " + globalDecorationAdditionMultiplierField.GetValue<float>());
|
[HarmonyPatch(typeof(StaffModel), "GetCostToHire")]
|
||||||
globalDecorationAdditionMultiplierField.SetValue(globalDecorationAdditionMultiplierField.GetValue<float>() * Main.decorationAdditionMultiplier.Value + Main.decorationAdditionOffset.Value);
|
public class StaffModel_GetCostToHire {
|
||||||
Main.LogDebug("Modified decoration addition: " + globalDecorationAdditionMultiplierField.GetValue<float>());
|
public static void Postfix(ref int __result) {
|
||||||
|
Main.LogDebug("Original hiring cost: " + __result);
|
||||||
Main.LogDebug("Original global speed: " + globalSpeedModifierField.GetValue<float>());
|
__result = (int)(__result * Main.hiringCostMultiplier.Value);
|
||||||
globalSpeedModifierField.SetValue(globalSpeedModifierField.GetValue<float>() * Main.globalSpeedMultiplier.Value + Main.globalSpeedOffset.Value);
|
Main.LogDebug("Modified hiring cost: " + __result);
|
||||||
Main.LogDebug("Modified global speed: " + globalSpeedModifierField.GetValue<float>());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user