diff --git a/Projects/InfectionFreeZone/InfectionFreeZone/InfectionFreeZone.cs b/Projects/InfectionFreeZone/InfectionFreeZone/InfectionFreeZone.cs index 879749f..01df69e 100644 --- a/Projects/InfectionFreeZone/InfectionFreeZone/InfectionFreeZone.cs +++ b/Projects/InfectionFreeZone/InfectionFreeZone/InfectionFreeZone.cs @@ -38,6 +38,7 @@ namespace InfectionFreeZone { public static ConfigEntry debug; public static ConfigEntry resourceMultiplier; + public static ConfigEntry peopleMultiplier; public static ConfigEntry resourceGatheringMultiplier; public static ConfigEntry resourceScavengingMultiplier; public static ConfigEntry buildingStorageCapacityMultiplier; @@ -52,6 +53,7 @@ namespace InfectionFreeZone { debug = Config.Bind("General", "Debug", false); resourceMultiplier = Config.Bind("General", "Resource Multiplier", 1f); + peopleMultiplier = Config.Bind("General", "People Multiplier", 1f); resourceGatheringMultiplier = Config.Bind("General", "Resource Gathering Multiplier", 1f); resourceScavengingMultiplier = Config.Bind("General", "Resource Scavenging Multiplier", 1f); buildingStorageCapacityMultiplier = Config.Bind("General", "Building Storage Capacity Multiplier", 1f); @@ -89,6 +91,17 @@ namespace InfectionFreeZone { } } + [HarmonyPrefix] + [HarmonyPatch(typeof(GameCustomize), "LoadPeopleSettings")] + public static void PostfixPeopleMultiplier(ref float people) { + if (Main.debug.Value) + Console.WriteLine($"People multiplier is {people}"); + if (people > 0) { + people = (int)(people * Main.peopleMultiplier.Value); + if (Main.debug.Value) + Console.WriteLine($"People multiplier modified to {people}"); + } + } [HarmonyPostfix] [HarmonyPatch(typeof(ScavengeWork), MethodType.Constructor, typeof(float), typeof(List))]