Add production time multiplier

This commit is contained in:
2024-09-28 16:11:59 +02:00
parent d432d5df96
commit 54294574de

View File

@@ -48,6 +48,7 @@ namespace InfectionFreeZone {
public static ConfigEntry<float> vehicleTrunkCapacityMultiplier;
public static ConfigEntry<float> deconstructionTimeMultiplier;
public static ConfigEntry<float> constructionTimeMultiplier;
public static ConfigEntry<float> productionTimeMultiplier;
public void Awake() {
debug = Config.Bind("General", "Debug", false);
@@ -64,6 +65,7 @@ namespace InfectionFreeZone {
vehicleTrunkCapacityMultiplier = Config.Bind("General", "Vehicle Trunk Capacity Multiplier", 1f);
deconstructionTimeMultiplier = Config.Bind("General", "Deconstruction Time Multiplier", 1f);
constructionTimeMultiplier = Config.Bind("General", "Construction Time Multiplier", 1f);
productionTimeMultiplier = Config.Bind("General", "Production Time Multiplier", 1f);
Logger.LogInfo("Cyka mod loaded");
HarmonyFileLog.Enabled = true;
@@ -102,6 +104,7 @@ namespace InfectionFreeZone {
Console.WriteLine($"People multiplier modified to {people}");
}
}
[HarmonyPostfix]
[HarmonyPatch(typeof(ScavengeWork), MethodType.Constructor,
typeof(float), typeof(List<ResourceCrate>))]
@@ -263,5 +266,18 @@ namespace InfectionFreeZone {
if (Main.debug.Value)
Console.WriteLine($"Construction time modified to {timeToConstruct}");
}
[HarmonyPostfix]
[HarmonyPatch(typeof(ProductionData), "GetProductionTime")]
public static void PostfixProductionTime(ref float __result) {
if (Main.productionTimeMultiplier.Value <= 0)
return;
if (Main.debug.Value)
Console.WriteLine($"Production time is {__result}");
__result *= Main.productionTimeMultiplier.Value;
if (Main.debug.Value)
Console.WriteLine($"Production time modified to {__result}");
}
}
}