diff --git a/Projects/InfectionFreeZone/InfectionFreeZone/InfectionFreeZone.cs b/Projects/InfectionFreeZone/InfectionFreeZone/InfectionFreeZone.cs index e5f2113..3205269 100644 --- a/Projects/InfectionFreeZone/InfectionFreeZone/InfectionFreeZone.cs +++ b/Projects/InfectionFreeZone/InfectionFreeZone/InfectionFreeZone.cs @@ -99,6 +99,8 @@ namespace InfectionFreeZone { public static ConfigEntry quartersRatioInfluenceCeilingParam; public static ConfigEntry childToAdultRatioInfluenceFloorParam; public static ConfigEntry childToAdultRatioInfluenceCeilingParam; + public static ConfigEntry adultAge; + public static ConfigEntry oldAge; public static ConfigEntry rotationTimestepMultiplier; // This is NOT unused! public static ConfigEntry sunsetHourOffset; @@ -177,6 +179,8 @@ namespace InfectionFreeZone { Config.Bind("Birthing Config", "Child to Adult Ratio Influence Floor Param", 1f); childToAdultRatioInfluenceCeilingParam = Config.Bind("Birthing Config", "Child to Adult Ratio Influence Ceiling Param", 0f); + adultAge = Config.Bind("Birthing Config", "Adult Age", 12); + oldAge = Config.Bind("Birthing Config", "Old Age", 60); rotationTimestepMultiplier = Config.Bind("General", "Rotation Timestep Multiplier", 1f); sunsetHourOffset = Config.Bind("General", "Sunset Hour Offset", 0f); @@ -382,11 +386,9 @@ namespace InfectionFreeZone { [HarmonyPostfix] [HarmonyPatch(typeof(Movement), "CalculateSpeed")] public static void PostfixCalculateSpeedHuman(Movement __instance, ref float __result) { - if (Main.humanMovementSpeedMultiplier.Value <= 0) - return; // Humans are "Human(Clone)", infected are "inf_human(Clone)" and vehicles are "ve_" var name = __instance.ToString(); - if (name == "Human(Clone)") + if (name.StartsWith("Human")) __result *= Main.humanMovementSpeedMultiplier.Value; if (name.StartsWith("ve_")) __result *= Main.vehicleMovementSpeedMultiplier.Value; @@ -464,6 +466,14 @@ namespace InfectionFreeZone { var charactersConfig = trav.Field("_charactersConfig"); var charactersConfigV = charactersConfig.Value; var bornConfig = charactersConfigV.bornConfig; + + charactersConfigV.adultAge = Main.adultAge.Value; + if (Main.birthingConfigDebug.Value) + Console.WriteLine($"Adult age is {charactersConfigV.adultAge}"); + + charactersConfigV.oldAge = Main.oldAge.Value; + if (Main.birthingConfigDebug.Value) + Console.WriteLine($"Old age is {charactersConfigV.oldAge}"); bornConfig.MaxCitizensInZoneToChildrenBorn = Main.maxCitizensInZoneToChildrenBorn.Value; if (Main.birthingConfigDebug.Value)