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.CharacterLogic;
|
||||||
using Controllers.Weather;
|
using Controllers.Weather;
|
||||||
using GameCustomization;
|
using GameCustomization;
|
||||||
|
using Gameplay;
|
||||||
using Gameplay.Buildings;
|
using Gameplay.Buildings;
|
||||||
using Gameplay.GameResources;
|
using Gameplay.GameResources;
|
||||||
using Gameplay.InGameResources;
|
using Gameplay.InGameResources;
|
||||||
@@ -19,6 +20,7 @@ using Gameplay.Units.Workers.WorkSystem.Works;
|
|||||||
using Gameplay.Vehicles;
|
using Gameplay.Vehicles;
|
||||||
using HarmonyLib;
|
using HarmonyLib;
|
||||||
using HarmonyLib.Tools;
|
using HarmonyLib.Tools;
|
||||||
|
using MapEssentials.Temp;
|
||||||
using Zenject;
|
using Zenject;
|
||||||
|
|
||||||
// See:
|
// See:
|
||||||
@@ -65,6 +67,7 @@ namespace InfectionFreeZone {
|
|||||||
|
|
||||||
public static ConfigEntry<bool> deconstructionTimeMultiplierDebug;
|
public static ConfigEntry<bool> deconstructionTimeMultiplierDebug;
|
||||||
public static ConfigEntry<float> deconstructionTimeMultiplier;
|
public static ConfigEntry<float> deconstructionTimeMultiplier;
|
||||||
|
public static ConfigEntry<float> deconstructionWorkersPer100m;
|
||||||
|
|
||||||
public static ConfigEntry<bool> constructionTimeMultiplierDebug;
|
public static ConfigEntry<bool> constructionTimeMultiplierDebug;
|
||||||
public static ConfigEntry<float> constructionTimeMultiplier;
|
public static ConfigEntry<float> constructionTimeMultiplier;
|
||||||
@@ -108,6 +111,8 @@ namespace InfectionFreeZone {
|
|||||||
"Building Deconstruction Resources Multiplier Debug", false);
|
"Building Deconstruction Resources Multiplier Debug", false);
|
||||||
buildingDeconstructionResourcesMultiplier =
|
buildingDeconstructionResourcesMultiplier =
|
||||||
Config.Bind("General", "Building Deconstruction Resources Multiplier", 1f);
|
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);
|
humanMovementSpeedMultiplier = Config.Bind("General", "Human Movement Speed Multiplier", 1f);
|
||||||
@@ -279,6 +284,24 @@ namespace InfectionFreeZone {
|
|||||||
return modifiedResult;
|
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]
|
[HarmonyPostfix]
|
||||||
[HarmonyPatch(typeof(Movement), "CalculateSpeed")]
|
[HarmonyPatch(typeof(Movement), "CalculateSpeed")]
|
||||||
public static void PostfixCalculateSpeedHuman(Movement __instance, ref float __result) {
|
public static void PostfixCalculateSpeedHuman(Movement __instance, ref float __result) {
|
||||||
|
Reference in New Issue
Block a user