Add deconstruction workers setting
For more worker per building destruct
This commit is contained in:
@@ -7,6 +7,7 @@ using Controllers;
|
||||
using Controllers.CharacterLogic;
|
||||
using Controllers.Weather;
|
||||
using GameCustomization;
|
||||
using Gameplay;
|
||||
using Gameplay.Buildings;
|
||||
using Gameplay.GameResources;
|
||||
using Gameplay.InGameResources;
|
||||
@@ -19,6 +20,7 @@ using Gameplay.Units.Workers.WorkSystem.Works;
|
||||
using Gameplay.Vehicles;
|
||||
using HarmonyLib;
|
||||
using HarmonyLib.Tools;
|
||||
using MapEssentials.Temp;
|
||||
using Zenject;
|
||||
|
||||
// See:
|
||||
@@ -65,6 +67,7 @@ namespace InfectionFreeZone {
|
||||
|
||||
public static ConfigEntry<bool> deconstructionTimeMultiplierDebug;
|
||||
public static ConfigEntry<float> deconstructionTimeMultiplier;
|
||||
public static ConfigEntry<float> deconstructionWorkersPer100m;
|
||||
|
||||
public static ConfigEntry<bool> constructionTimeMultiplierDebug;
|
||||
public static ConfigEntry<float> constructionTimeMultiplier;
|
||||
@@ -108,6 +111,8 @@ namespace InfectionFreeZone {
|
||||
"Building Deconstruction Resources Multiplier Debug", false);
|
||||
buildingDeconstructionResourcesMultiplier =
|
||||
Config.Bind("General", "Building Deconstruction Resources Multiplier", 1f);
|
||||
deconstructionWorkersPer100m =
|
||||
Config.Bind("General", "Building Deconstruction Workers Per 100m", 0.0045f);
|
||||
|
||||
|
||||
humanMovementSpeedMultiplier = Config.Bind("General", "Human Movement Speed Multiplier", 1f);
|
||||
@@ -279,6 +284,24 @@ namespace InfectionFreeZone {
|
||||
return modifiedResult;
|
||||
}
|
||||
|
||||
[HarmonyPrefix]
|
||||
[HarmonyPatch(typeof(BuildingDestruction), "Initialize")]
|
||||
public static void PrefixBuildingDeconstruction(ref BuildingDestruction __instance) {
|
||||
if (Main.deconstructionWorkersPer100m.Value <= 0)
|
||||
return;
|
||||
|
||||
var trav = Traverse.Create(__instance);
|
||||
var config = trav.Field<BuildingDestructionConfig>("_deconstructionConfig");
|
||||
var configV = config.Value;
|
||||
if (Main.buildingDeconstructionResourcesMultiplierDebug.Value)
|
||||
Console.WriteLine($"Building deconstruction workers per 100m is {configV.deconstructWorkersPer100m3OfBuilding}");
|
||||
|
||||
configV.deconstructWorkersPer100m3OfBuilding = Main.deconstructionWorkersPer100m.Value;
|
||||
config.Value = configV;
|
||||
if (Main.buildingDeconstructionResourcesMultiplierDebug.Value)
|
||||
Console.WriteLine($"Building deconstruction workers per 100m modified to {configV.deconstructWorkersPer100m3OfBuilding}");
|
||||
}
|
||||
|
||||
[HarmonyPostfix]
|
||||
[HarmonyPatch(typeof(Movement), "CalculateSpeed")]
|
||||
public static void PostfixCalculateSpeedHuman(Movement __instance, ref float __result) {
|
||||
|
Reference in New Issue
Block a user