Maybe fix capacity now
This commit is contained in:
@@ -14,6 +14,7 @@ namespace CykaOfIndustry {
|
||||
private const string pluginVersion = "1.0.0";
|
||||
|
||||
public static ConfigEntry<int> excavatorCapacityMultiplier;
|
||||
public static ConfigEntry<float> excavatorMineTileIterationsMultiplier;
|
||||
public static ConfigEntry<int> truckCapacityMultiplier;
|
||||
public static ConfigEntry<int> cargoShipCapacityMultiplier;
|
||||
public static ConfigEntry<float> 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,
|
||||
|
@@ -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<Excavator, Quantity> originalCapacity = new Dictionary<Excavator, Quantity>();
|
||||
public static Dictionary<Excavator, ImmutableArray<ThicknessTilesF>> originalMinedThicknessByDistance =
|
||||
new Dictionary<Excavator, ImmutableArray<ThicknessTilesF>>();
|
||||
|
||||
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<ImmutableArray<ThicknessTilesF>>());
|
||||
}
|
||||
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user