Add building size multiplier

This commit is contained in:
2024-09-28 02:03:11 +02:00
parent a4ac6d63cd
commit efdab6cb38

View File

@@ -30,6 +30,8 @@ namespace InfectionFreeZone {
public static ConfigEntry<float> resourceMultiplier; public static ConfigEntry<float> resourceMultiplier;
public static ConfigEntry<float> resourceGatheringMultiplier; public static ConfigEntry<float> resourceGatheringMultiplier;
public static ConfigEntry<float> resourceScavengingMultiplier; public static ConfigEntry<float> resourceScavengingMultiplier;
public static ConfigEntry<float> buildingStorageCapacityMultiplier;
public static ConfigEntry<float> buildingQuartersCapacityMultiplier;
// public static ConfigEntry<float> workSpeedMultiplier; // public static ConfigEntry<float> workSpeedMultiplier;
public void Awake() { public void Awake() {
@@ -38,6 +40,8 @@ namespace InfectionFreeZone {
resourceMultiplier = Config.Bind("General", "ResourceMultiplier", 1f); resourceMultiplier = Config.Bind("General", "ResourceMultiplier", 1f);
resourceGatheringMultiplier = Config.Bind("General", "ResourceGatheringMultiplier", 1f); resourceGatheringMultiplier = Config.Bind("General", "ResourceGatheringMultiplier", 1f);
resourceScavengingMultiplier = Config.Bind("General", "ResourceScavengingMultiplier", 1f); resourceScavengingMultiplier = Config.Bind("General", "ResourceScavengingMultiplier", 1f);
buildingStorageCapacityMultiplier = Config.Bind("General", "BuildingStorageCapacityMultiplier", 1f);
buildingQuartersCapacityMultiplier = Config.Bind("General", "BuildingQuartersCapacityMultiplier", 1f);
// workSpeedMultiplier = Config.Bind("General", "WorkSpeedMultiplier", 1f); // workSpeedMultiplier = Config.Bind("General", "WorkSpeedMultiplier", 1f);
Logger.LogInfo("Cyka mod loaded"); Logger.LogInfo("Cyka mod loaded");
@@ -107,10 +111,37 @@ namespace InfectionFreeZone {
Console.WriteLine($"Resource {resource.Key} to drop modified to: {newResourceValue}"); Console.WriteLine($"Resource {resource.Key} to drop modified to: {newResourceValue}");
} }
} }
resourcesToDrop.Value = resourcesToDropNew; resourcesToDrop.Value = resourcesToDropNew;
if (Main.debug.Value) if (Main.debug.Value)
Console.WriteLine($"Resources to drop modified: {resourcesToDrop}"); Console.WriteLine($"Resources to drop modified: {resourcesToDrop}");
} }
[HarmonyPostfix]
[HarmonyPatch(typeof(PlaceableObjectDraft), "GetCapacity")]
public static void PostfixGetCapacity(ref int __result) {
if (Main.buildingStorageCapacityMultiplier.Value <= 0)
return;
if (Main.debug.Value)
Console.WriteLine($"Building capacity is {__result}");
__result = (int)(__result * Main.buildingStorageCapacityMultiplier.Value);
if (Main.debug.Value)
Console.WriteLine($"Building capacity modified to {__result}");
}
[HarmonyPostfix]
[HarmonyPatch(typeof(PlaceableObjectDraft), "GetLivingCapacity")]
public static void PostfixGetLivingCapacity(ref int __result) {
if (Main.buildingQuartersCapacityMultiplier.Value <= 0)
return;
if (Main.debug.Value)
Console.WriteLine($"Building capacity is {__result}");
__result = (int)(__result * Main.buildingQuartersCapacityMultiplier.Value);
if (Main.debug.Value)
Console.WriteLine($"Building capacity modified to {__result}");
}
// private void InstantiateResources() // private void InstantiateResources()
// { // {
// foreach (KeyValuePair<ResourceID, int> generatedResource in this._resourcesToDrop) // foreach (KeyValuePair<ResourceID, int> generatedResource in this._resourcesToDrop)