Fix up birthing config
This commit is contained in:
@@ -4,6 +4,7 @@ using System.Linq;
|
||||
using BepInEx;
|
||||
using BepInEx.Configuration;
|
||||
using Controllers;
|
||||
using Controllers.CharacterLogic;
|
||||
using Controllers.Weather;
|
||||
using GameCustomization;
|
||||
using Gameplay.Buildings;
|
||||
@@ -353,57 +354,65 @@ namespace InfectionFreeZone {
|
||||
Console.WriteLine($"Production time modified to {__result}");
|
||||
}
|
||||
|
||||
[HarmonyPostfix]
|
||||
[HarmonyPatch(typeof(CharactersConfig), MethodType.Constructor, new Type[] { })]
|
||||
public static void PostfixCharactersConfig(CharactersConfig __instance) {
|
||||
[HarmonyPrefix]
|
||||
[HarmonyPatch(typeof(CitizensController), "IncreasePopulation")]
|
||||
// Could not find a better way to do this
|
||||
public static void PostfixCharactersConfig(ref CitizensController __instance) {
|
||||
if (Main.birthingConfigDebug.Value)
|
||||
Console.WriteLine($"Characters config created");
|
||||
Console.WriteLine($"Citizens controller IncreasePopulation");
|
||||
var trav = Traverse.Create(__instance);
|
||||
var charactersConfig = trav.Field<CharactersConfig>("_charactersConfig");
|
||||
var charactersConfigV = charactersConfig.Value;
|
||||
var bornConfig = charactersConfigV.bornConfig;
|
||||
|
||||
__instance.bornConfig.MaxCitizensInZoneToChildrenBorn = Main.maxCitizensInZoneToChildrenBorn.Value;
|
||||
bornConfig.MaxCitizensInZoneToChildrenBorn = Main.maxCitizensInZoneToChildrenBorn.Value;
|
||||
if (Main.birthingConfigDebug.Value)
|
||||
Console.WriteLine(
|
||||
$"Max citizens in zone to children born is {__instance.bornConfig.MaxCitizensInZoneToChildrenBorn}");
|
||||
$"Max citizens in zone to children born is {bornConfig.MaxCitizensInZoneToChildrenBorn}");
|
||||
|
||||
__instance.bornConfig.MoraleInfluenceFloorParam = Main.moraleInfluenceFloorParam.Value;
|
||||
bornConfig.MoraleInfluenceFloorParam = Main.moraleInfluenceFloorParam.Value;
|
||||
if (Main.birthingConfigDebug.Value)
|
||||
Console.WriteLine($"Morale influence floor param is {__instance.bornConfig.MoraleInfluenceFloorParam}");
|
||||
Console.WriteLine($"Morale influence floor param is {bornConfig.MoraleInfluenceFloorParam}");
|
||||
|
||||
__instance.bornConfig.MoraleInfluenceCeilingParam = Main.moraleInfluenceCeilingParam.Value;
|
||||
bornConfig.MoraleInfluenceCeilingParam = Main.moraleInfluenceCeilingParam.Value;
|
||||
if (Main.birthingConfigDebug.Value)
|
||||
Console.WriteLine(
|
||||
$"Morale influence ceiling param is {__instance.bornConfig.MoraleInfluenceCeilingParam}");
|
||||
$"Morale influence ceiling param is {bornConfig.MoraleInfluenceCeilingParam}");
|
||||
|
||||
__instance.bornConfig.FoodStockInfluenceFloorParam = Main.foodStockInfluenceFloorParam.Value;
|
||||
bornConfig.FoodStockInfluenceFloorParam = Main.foodStockInfluenceFloorParam.Value;
|
||||
if (Main.birthingConfigDebug.Value)
|
||||
Console.WriteLine(
|
||||
$"Food stock influence floor param is {__instance.bornConfig.FoodStockInfluenceFloorParam}");
|
||||
$"Food stock influence floor param is {bornConfig.FoodStockInfluenceFloorParam}");
|
||||
|
||||
__instance.bornConfig.FoodStockInfluenceCeilingParam = Main.foodStockInfluenceCeilingParam.Value;
|
||||
bornConfig.FoodStockInfluenceCeilingParam = Main.foodStockInfluenceCeilingParam.Value;
|
||||
if (Main.birthingConfigDebug.Value)
|
||||
Console.WriteLine(
|
||||
$"Food stock influence ceiling param is {__instance.bornConfig.FoodStockInfluenceCeilingParam}");
|
||||
$"Food stock influence ceiling param is {bornConfig.FoodStockInfluenceCeilingParam}");
|
||||
|
||||
__instance.bornConfig.QuartersRatioInfluenceFloorParam = Main.quartersRatioInfluenceFloorParam.Value;
|
||||
bornConfig.QuartersRatioInfluenceFloorParam = Main.quartersRatioInfluenceFloorParam.Value;
|
||||
if (Main.birthingConfigDebug.Value)
|
||||
Console.WriteLine(
|
||||
$"Quarters ratio influence floor param is {__instance.bornConfig.QuartersRatioInfluenceFloorParam}");
|
||||
$"Quarters ratio influence floor param is {bornConfig.QuartersRatioInfluenceFloorParam}");
|
||||
|
||||
__instance.bornConfig.QuartersRatioInfluenceCeilingParam = Main.quartersRatioInfluenceCeilingParam.Value;
|
||||
bornConfig.QuartersRatioInfluenceCeilingParam = Main.quartersRatioInfluenceCeilingParam.Value;
|
||||
if (Main.birthingConfigDebug.Value)
|
||||
Console.WriteLine(
|
||||
$"Quarters ratio influence ceiling param is {__instance.bornConfig.QuartersRatioInfluenceCeilingParam}");
|
||||
$"Quarters ratio influence ceiling param is {bornConfig.QuartersRatioInfluenceCeilingParam}");
|
||||
|
||||
__instance.bornConfig.ChildToAdultRatioInfluenceFloorParam =
|
||||
bornConfig.ChildToAdultRatioInfluenceFloorParam =
|
||||
Main.childToAdultRatioInfluenceFloorParam.Value;
|
||||
if (Main.birthingConfigDebug.Value)
|
||||
Console.WriteLine(
|
||||
$"Child to adult ratio influence floor param is {__instance.bornConfig.ChildToAdultRatioInfluenceFloorParam}");
|
||||
$"Child to adult ratio influence floor param is {bornConfig.ChildToAdultRatioInfluenceFloorParam}");
|
||||
|
||||
__instance.bornConfig.ChildToAdultRatioInfluenceCeilingParam =
|
||||
bornConfig.ChildToAdultRatioInfluenceCeilingParam =
|
||||
Main.childToAdultRatioInfluenceCeilingParam.Value;
|
||||
if (Main.birthingConfigDebug.Value)
|
||||
Console.WriteLine(
|
||||
$"Child to adult ratio influence ceiling param is {__instance.bornConfig.ChildToAdultRatioInfluenceCeilingParam}");
|
||||
$"Child to adult ratio influence ceiling param is {bornConfig.ChildToAdultRatioInfluenceCeilingParam}");
|
||||
|
||||
charactersConfigV.bornConfig = bornConfig;
|
||||
charactersConfig.Value = charactersConfigV;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user