Fix up birthing config
This commit is contained in:
@@ -4,6 +4,7 @@ using System.Linq;
|
|||||||
using BepInEx;
|
using BepInEx;
|
||||||
using BepInEx.Configuration;
|
using BepInEx.Configuration;
|
||||||
using Controllers;
|
using Controllers;
|
||||||
|
using Controllers.CharacterLogic;
|
||||||
using Controllers.Weather;
|
using Controllers.Weather;
|
||||||
using GameCustomization;
|
using GameCustomization;
|
||||||
using Gameplay.Buildings;
|
using Gameplay.Buildings;
|
||||||
@@ -353,57 +354,65 @@ namespace InfectionFreeZone {
|
|||||||
Console.WriteLine($"Production time modified to {__result}");
|
Console.WriteLine($"Production time modified to {__result}");
|
||||||
}
|
}
|
||||||
|
|
||||||
[HarmonyPostfix]
|
[HarmonyPrefix]
|
||||||
[HarmonyPatch(typeof(CharactersConfig), MethodType.Constructor, new Type[] { })]
|
[HarmonyPatch(typeof(CitizensController), "IncreasePopulation")]
|
||||||
public static void PostfixCharactersConfig(CharactersConfig __instance) {
|
// Could not find a better way to do this
|
||||||
|
public static void PostfixCharactersConfig(ref CitizensController __instance) {
|
||||||
if (Main.birthingConfigDebug.Value)
|
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)
|
if (Main.birthingConfigDebug.Value)
|
||||||
Console.WriteLine(
|
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)
|
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)
|
if (Main.birthingConfigDebug.Value)
|
||||||
Console.WriteLine(
|
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)
|
if (Main.birthingConfigDebug.Value)
|
||||||
Console.WriteLine(
|
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)
|
if (Main.birthingConfigDebug.Value)
|
||||||
Console.WriteLine(
|
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)
|
if (Main.birthingConfigDebug.Value)
|
||||||
Console.WriteLine(
|
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)
|
if (Main.birthingConfigDebug.Value)
|
||||||
Console.WriteLine(
|
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;
|
Main.childToAdultRatioInfluenceFloorParam.Value;
|
||||||
if (Main.birthingConfigDebug.Value)
|
if (Main.birthingConfigDebug.Value)
|
||||||
Console.WriteLine(
|
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;
|
Main.childToAdultRatioInfluenceCeilingParam.Value;
|
||||||
if (Main.birthingConfigDebug.Value)
|
if (Main.birthingConfigDebug.Value)
|
||||||
Console.WriteLine(
|
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