Add people multiplier

This commit is contained in:
2024-09-28 16:11:26 +02:00
parent 02f370fd66
commit 2c2ba060cc

View File

@@ -38,6 +38,7 @@ namespace InfectionFreeZone {
public static ConfigEntry<bool> debug;
public static ConfigEntry<float> resourceMultiplier;
public static ConfigEntry<float> peopleMultiplier;
public static ConfigEntry<float> resourceGatheringMultiplier;
public static ConfigEntry<float> resourceScavengingMultiplier;
public static ConfigEntry<float> 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<ResourceCrate>))]