Add birthing configs
This commit is contained in:
@@ -11,6 +11,7 @@ using Gameplay.GameResources;
|
||||
using Gameplay.InGameResources;
|
||||
using Gameplay.Rebuilding;
|
||||
using Gameplay.Scavenge;
|
||||
using Gameplay.Units.Characters;
|
||||
using Gameplay.Units.Icons;
|
||||
using Gameplay.Units.Movements;
|
||||
using Gameplay.Units.Workers.WorkSystem.Works;
|
||||
@@ -50,6 +51,16 @@ namespace InfectionFreeZone {
|
||||
public static ConfigEntry<float> constructionTimeMultiplier;
|
||||
public static ConfigEntry<float> productionTimeMultiplier;
|
||||
|
||||
public static ConfigEntry<int> maxCitizensInZoneToChildrenBorn;
|
||||
public static ConfigEntry<float> moraleInfluenceFloorParam;
|
||||
public static ConfigEntry<float> moraleInfluenceCeilingParam;
|
||||
public static ConfigEntry<float> foodStockInfluenceFloorParam;
|
||||
public static ConfigEntry<float> foodStockInfluenceCeilingParam;
|
||||
public static ConfigEntry<float> quartersRatioInfluenceFloorParam;
|
||||
public static ConfigEntry<float> quartersRatioInfluenceCeilingParam;
|
||||
public static ConfigEntry<float> childToAdultRatioInfluenceFloorParam;
|
||||
public static ConfigEntry<float> childToAdultRatioInfluenceCeilingParam;
|
||||
|
||||
public void Awake() {
|
||||
debug = Config.Bind("General", "Debug", false);
|
||||
|
||||
@@ -67,6 +78,21 @@ namespace InfectionFreeZone {
|
||||
constructionTimeMultiplier = Config.Bind("General", "Construction Time Multiplier", 1f);
|
||||
productionTimeMultiplier = Config.Bind("General", "Production Time Multiplier", 1f);
|
||||
|
||||
maxCitizensInZoneToChildrenBorn =
|
||||
Config.Bind("Birthing Config", "Max Citizens in Zone to Children Born", 600);
|
||||
moraleInfluenceFloorParam = Config.Bind("Birthing Config", "Morale Influence Floor Param", 0.3f);
|
||||
moraleInfluenceCeilingParam = Config.Bind("Birthing Config", "Morale Influence Ceiling Param", 2f);
|
||||
foodStockInfluenceFloorParam = Config.Bind("Birthing Config", "Food Stock Influence Floor Param", 0f);
|
||||
foodStockInfluenceCeilingParam = Config.Bind("Birthing Config", "Food Stock Influence Ceiling Param", 1f);
|
||||
quartersRatioInfluenceFloorParam =
|
||||
Config.Bind("Birthing Config", "Quarters Ratio Influence Floor Param", 0.6f);
|
||||
quartersRatioInfluenceCeilingParam =
|
||||
Config.Bind("Birthing Config", "Quarters Ratio Influence Ceiling Param", 1.4f);
|
||||
childToAdultRatioInfluenceFloorParam =
|
||||
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);
|
||||
|
||||
Logger.LogInfo("Cyka mod loaded");
|
||||
HarmonyFileLog.Enabled = true;
|
||||
Harmony harmony = new Harmony(pluginGuid);
|
||||
@@ -182,7 +208,7 @@ namespace InfectionFreeZone {
|
||||
[HarmonyPatch(typeof(Building), "DeconstructionResources", MethodType.Getter)]
|
||||
public static ResourceQuantity[] PostfixDeconstructionResources(ResourceQuantity[] __result) {
|
||||
if (Main.buildingDeconstructionResourcesMultiplier.Value <= 0)
|
||||
return;
|
||||
return __result;
|
||||
|
||||
ResourceQuantity[] modifiedResult = new ResourceQuantity[__result.Length];
|
||||
for (int i = 0; i < __result.Length; i++) {
|
||||
@@ -279,5 +305,21 @@ namespace InfectionFreeZone {
|
||||
if (Main.debug.Value)
|
||||
Console.WriteLine($"Production time modified to {__result}");
|
||||
}
|
||||
|
||||
[HarmonyPostfix]
|
||||
[HarmonyPatch(typeof(CharactersConfig), MethodType.Constructor, new Type[] { })]
|
||||
public static void PostfixCharactersConfig(CharactersConfig __instance) {
|
||||
__instance.bornConfig.MaxCitizensInZoneToChildrenBorn = Main.maxCitizensInZoneToChildrenBorn.Value;
|
||||
__instance.bornConfig.MoraleInfluenceFloorParam = Main.moraleInfluenceFloorParam.Value;
|
||||
__instance.bornConfig.MoraleInfluenceCeilingParam = Main.moraleInfluenceCeilingParam.Value;
|
||||
__instance.bornConfig.FoodStockInfluenceFloorParam = Main.foodStockInfluenceFloorParam.Value;
|
||||
__instance.bornConfig.FoodStockInfluenceCeilingParam = Main.foodStockInfluenceCeilingParam.Value;
|
||||
__instance.bornConfig.QuartersRatioInfluenceFloorParam = Main.quartersRatioInfluenceFloorParam.Value;
|
||||
__instance.bornConfig.QuartersRatioInfluenceCeilingParam = Main.quartersRatioInfluenceCeilingParam.Value;
|
||||
__instance.bornConfig.ChildToAdultRatioInfluenceFloorParam =
|
||||
Main.childToAdultRatioInfluenceFloorParam.Value;
|
||||
__instance.bornConfig.ChildToAdultRatioInfluenceCeilingParam =
|
||||
Main.childToAdultRatioInfluenceCeilingParam.Value;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user