diff --git a/Projects/CaptainOfIndustry/CykaOfIndustry/Class1.cs b/Projects/CaptainOfIndustry/CykaOfIndustry/Class1.cs index fb56642..cebfd36 100644 --- a/Projects/CaptainOfIndustry/CykaOfIndustry/Class1.cs +++ b/Projects/CaptainOfIndustry/CykaOfIndustry/Class1.cs @@ -14,6 +14,7 @@ namespace CykaOfIndustry { private const string pluginVersion = "1.0.0"; public static ConfigEntry excavatorCapacityMultiplier; + public static ConfigEntry excavatorMineTileIterationsMultiplier; public static ConfigEntry truckCapacityMultiplier; public static ConfigEntry cargoShipCapacityMultiplier; public static ConfigEntry excavatorMiningAreaMultiplier; @@ -31,6 +32,9 @@ namespace CykaOfIndustry { public void Awake() { excavatorCapacityMultiplier = Config.Bind("General", "Excavator Capacity Multiplier", 1, new ConfigDescription("Excavator Capacity Multiplier")); + excavatorMineTileIterationsMultiplier = Config.Bind("General", "Excavator Mine Tile Iterations Multiplier", + 1f, + new ConfigDescription("Excavator Mine Tile Iterations Multiplier")); truckCapacityMultiplier = Config.Bind("General", "Truck Capacity Multiplier", 1, new ConfigDescription("Truck Capacity Multiplier")); cargoShipCapacityMultiplier = Config.Bind("General", "Cargo Ship Capacity Multiplier", 1, diff --git a/Projects/CaptainOfIndustry/CykaOfIndustry/Patches.cs b/Projects/CaptainOfIndustry/CykaOfIndustry/Patches.cs index 184a7a0..efcde10 100644 --- a/Projects/CaptainOfIndustry/CykaOfIndustry/Patches.cs +++ b/Projects/CaptainOfIndustry/CykaOfIndustry/Patches.cs @@ -24,6 +24,7 @@ using Mafi.Core.Products; using Mafi.Core.Prototypes; using Mafi.Core.Terrain; using Mafi.Core.Vehicles.Excavators; +using Mafi.Core.Vehicles.Jobs; using Mafi.Core.World.Entities; namespace CykaOfIndustry { @@ -468,6 +469,8 @@ namespace CykaOfIndustry { [HarmonyPatch(typeof(Excavator), "MineMixedAt")] public class MineMixedAtPatch { public static Dictionary originalCapacity = new Dictionary(); + public static Dictionary> originalMinedThicknessByDistance = + new Dictionary>(); static void Prefix(ref Excavator __instance) { if (!originalCapacity.ContainsKey(__instance)) { @@ -477,7 +480,18 @@ namespace CykaOfIndustry { var trav = Traverse.Create(__instance.Prototype); trav.Field("Capacity") .SetValue(new Quantity(originalCapacity[__instance].Value * Main.excavatorCapacityMultiplier.Value)); - Console.WriteLine("IndustrialCyka: Excavator capacity: {0}", __instance.Prototype.Capacity.Value); + // Console.WriteLine("IndustrialCyka: Excavator capacity: {0}", __instance.Prototype.Capacity.Value); + + if (!originalMinedThicknessByDistance.ContainsKey(__instance)) { + originalMinedThicknessByDistance.Add(__instance, + trav.Field("MinedThicknessByDistance").GetValue>()); + } + + trav.Field("MinedThicknessByDistance") + .SetValue(originalMinedThicknessByDistance[__instance].Select(t => + new ThicknessTilesF((int)(t.Value.ToFloat() * Main.excavatorMiningAreaMultiplier.Value))) + .ToImmutableArray()); + // Console.WriteLine("IndustrialCyka: Excavator mined thickness: {0}", __instance.Prototype.MinedThicknessByDistance); } } } \ No newline at end of file