Fix issue where excavators do not properly excavate

This commit is contained in:
2024-10-19 14:30:12 +02:00
parent 1a81695349
commit c7a55276e2
2 changed files with 20 additions and 1 deletions

View File

@@ -29,6 +29,8 @@ namespace CykaOfIndustry {
public static ConfigEntry<float> transportSpeedMultiplier;
public static ConfigEntry<float> shipyardCargoMultiplier;
public static ConfigEntry<bool> debugMode;
public void Awake() {
excavatorCapacityMultiplier = Config.Bind("General", "Excavator Capacity Multiplier", 1,
new ConfigDescription("Excavator Capacity Multiplier"));
@@ -64,6 +66,8 @@ namespace CykaOfIndustry {
shipyardCargoMultiplier = Config.Bind("General", "Shipyard Cargo Multiplier", 1f,
new ConfigDescription("Shipyard Cargo Multiplier"));
debugMode = Config.Bind("General", "Debug Mode", false, new ConfigDescription("Debug Mode"));
// shootingSpeedMultiplier.SettingChanged += (sender, args) => WeaponPropertiesManager.DoPatch();
// energyGenMultiplier.SettingChanged += (sender, args) => GeneratorPropertiesManager.DoPatch();
// magnetStrenghtMultiplier.SettingChanged += (sender, args) => MagnetPropertiesManager.DoPatch();

View File

@@ -491,7 +491,22 @@ namespace CykaOfIndustry {
.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);
if (Main.debugMode.Value)
Console.WriteLine("IndustrialCyka: Excavator mined thickness: {0}",
__instance.Prototype.MinedThicknessByDistance);
var trav2 = Traverse.Create(__instance.Prototype.MineTimings);
if (!originalMineTileIterations.ContainsKey(__instance.Prototype.MineTimings)) {
originalMineTileIterations.Add(__instance.Prototype.MineTimings,
trav2.Field("MineTileIterations").GetValue<int>());
}
var newValue = (int)(originalMineTileIterations[__instance.Prototype.MineTimings] *
Main.excavatorMineTileIterationsMultiplier.Value);
trav2.Field("MineTileIterations").SetValue(newValue);
if (Main.debugMode.Value)
Console.WriteLine("IndustrialCyka: Excavator mine tile iterations 2: {0}",
trav2.Field("MineTileIterations").GetValue<int>());
}
}
}