Add adult and old age config

This commit is contained in:
2024-09-29 11:45:03 +02:00
parent 32f62fff02
commit e7672fadba

View File

@@ -99,6 +99,8 @@ namespace InfectionFreeZone {
public static ConfigEntry<float> quartersRatioInfluenceCeilingParam;
public static ConfigEntry<float> childToAdultRatioInfluenceFloorParam;
public static ConfigEntry<float> childToAdultRatioInfluenceCeilingParam;
public static ConfigEntry<int> adultAge;
public static ConfigEntry<int> oldAge;
public static ConfigEntry<float> rotationTimestepMultiplier; // This is NOT unused!
public static ConfigEntry<float> 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_<name>"
var name = __instance.ToString();
if (name == "Human(Clone)")
if (name.StartsWith("Human"))
__result *= Main.humanMovementSpeedMultiplier.Value;
if (name.StartsWith("ve_"))
__result *= Main.vehicleMovementSpeedMultiplier.Value;
@@ -465,6 +467,14 @@ namespace InfectionFreeZone {
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)
Console.WriteLine(