Compare commits
2 Commits
402909f3fd
...
8c4e8b9366
Author | SHA1 | Date | |
---|---|---|---|
8c4e8b9366 | |||
dcf88a498e |
@@ -19,7 +19,11 @@ namespace BlacksmithMaster {
|
||||
public static ConfigEntry<float> moneyMultiplier;
|
||||
public static ConfigEntry<float> researchMultiplier;
|
||||
public static ConfigEntry<float> salaryMultiplier;
|
||||
public static ConfigEntry<float> dailyCustomerMultiplier;
|
||||
public static ConfigEntry<float> decorationAdditionMultiplier;
|
||||
public static ConfigEntry<float> globalSpeedMultiplier;
|
||||
public static ConfigEntry<bool> alwaysEvenly;
|
||||
public static ConfigEntry<bool> alwaysChad;
|
||||
|
||||
public void Awake() {
|
||||
debug = Config.Bind("General", "Debug", false);
|
||||
@@ -36,9 +40,20 @@ namespace BlacksmithMaster {
|
||||
salaryMultiplier =
|
||||
Config.Bind("General", "Salary Multiplier", 1f,
|
||||
new ConfigDescription("Salary Multiplier", new AcceptableValueRange<float>(0.01f, 1024f)));
|
||||
dailyCustomerMultiplier = Config.Bind(
|
||||
"General", "Daily Customer Multiplier", 1f,
|
||||
new ConfigDescription("Daily Customer Multiplier", new AcceptableValueRange<float>(0.01f, 1024f)));
|
||||
decorationAdditionMultiplier = Config.Bind(
|
||||
"General", "Decoration Addition Multiplier", 1f,
|
||||
new ConfigDescription("Decoration Addition Multiplier", new AcceptableValueRange<float>(0.01f, 1024f)));
|
||||
globalSpeedMultiplier = Config.Bind(
|
||||
"General", "Global Speed Multiplier", 1f,
|
||||
new ConfigDescription("Global Speed Multiplier", new AcceptableValueRange<float>(0.01f, 1024f)));
|
||||
alwaysEvenly =
|
||||
Config.Bind("General", "Always Evenly", false,
|
||||
new ConfigDescription("Always Evenly", new AcceptableValueRange<bool>(false, true)));
|
||||
alwaysChad = Config.Bind("General", "Always Chad", false,
|
||||
new ConfigDescription("Always Chad", new AcceptableValueRange<bool>(false, true)));
|
||||
|
||||
Logger.LogInfo("Cykasmith loaded");
|
||||
HarmonyFileLog.Enabled = true;
|
||||
@@ -92,11 +107,45 @@ 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<float>());
|
||||
globalCustomersPerDayMultiplierField.SetValue(globalCustomersPerDayMultiplierField.GetValue<float>() * Main.dailyCustomerMultiplier.Value);
|
||||
Main.LogDebug("Modified daily customer: " + globalCustomersPerDayMultiplierField.GetValue<float>());
|
||||
|
||||
Main.LogDebug("Original decoration addition: " + globalDecorationAdditionMultiplierField.GetValue<float>());
|
||||
globalDecorationAdditionMultiplierField.SetValue(globalDecorationAdditionMultiplierField.GetValue<float>() * Main.decorationAdditionMultiplier.Value);
|
||||
Main.LogDebug("Modified decoration addition: " + globalDecorationAdditionMultiplierField.GetValue<float>());
|
||||
|
||||
Main.LogDebug("Original global speed: " + globalSpeedModifierField.GetValue<float>());
|
||||
globalSpeedModifierField.SetValue(globalSpeedModifierField.GetValue<float>() * Main.globalSpeedMultiplier.Value);
|
||||
Main.LogDebug("Modified global speed: " + globalSpeedModifierField.GetValue<float>());
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(StaffUtil), "FillBasicInfo")]
|
||||
public class StaffUtil_FillBasicInfo {
|
||||
public static void Postfix(TavernData.StaffType staffType, Random rnd, ref TavernData.StaffInfo newPerson) {
|
||||
Main.LogDebug("Setting skill assignment strategy to evenly");
|
||||
newPerson.SkillAssignmentStrategy = TavernData.SkillAssignmentStrategyType.Balanced;
|
||||
if (Main.alwaysEvenly.Value)
|
||||
newPerson.SkillAssignmentStrategy = TavernData.SkillAssignmentStrategyType.Balanced;
|
||||
}
|
||||
}
|
||||
|
||||
[HarmonyPatch(typeof(HireData), "GetStaffInfo")]
|
||||
public class TavernData_GetStaffInfo {
|
||||
public static void Prefix(Random rnd, int id, string staffName, bool isMale, ref bool shouldBeSuperWorker,
|
||||
ref EliteTraitType forcedEliteTrait) {
|
||||
Main.LogDebug("Setting shouldBeSuperWorker to true");
|
||||
if (Main.alwaysChad.Value)
|
||||
shouldBeSuperWorker = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user