Add buffer transfer rate patch
This commit is contained in:
@@ -14,6 +14,11 @@
|
||||
<s:Boolean x:Key="/Default/AddReferences/RecentPaths/=C_003A_005CUsers_005CAdministrator_005CSeafile_005CProjects_002DRider_005CRiderProjects_005CBepinex_005CProjects_005CCaptainOfIndustry_005Clibs_005CMafi_002Edll/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/AddReferences/RecentPaths/=C_003A_005CUsers_005CAdministrator_005CSeafile_005CProjects_002DRider_005CRiderProjects_005CBepinex_005CProjects_005CCaptainOfIndustry_005Clibs_005CMafi_002EModsAuthoringSupport_002Edll/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/AddReferences/RecentPaths/=C_003A_005CUsers_005CAdministrator_005CSeafile_005CProjects_002DRider_005CRiderProjects_005CBepinex_005CProjects_005CCaptainOfIndustry_005Clibs_005CMafi_002EUnity_002Edll/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/AddReferences/RecentPaths/=C_003A_005CUsers_005CAdministrator_005CSeafile_005CProjects_002DRider_005CRiderProjects_005CBepinex_005CProjects_005CCaptainOfIndustry_005Clibs_005CSirenix_002EOdinInspector_002EAttributes_002Edll/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/AddReferences/RecentPaths/=C_003A_005CUsers_005CAdministrator_005CSeafile_005CProjects_002DRider_005CRiderProjects_005CBepinex_005CProjects_005CCaptainOfIndustry_005Clibs_005CSirenix_002EOdinInspector_002ECompatibilityLayer_002Edll/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/AddReferences/RecentPaths/=C_003A_005CUsers_005CAdministrator_005CSeafile_005CProjects_002DRider_005CRiderProjects_005CBepinex_005CProjects_005CCaptainOfIndustry_005Clibs_005CSirenix_002ESerialization_002EConfig_002Edll/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/AddReferences/RecentPaths/=C_003A_005CUsers_005CAdministrator_005CSeafile_005CProjects_002DRider_005CRiderProjects_005CBepinex_005CProjects_005CCaptainOfIndustry_005Clibs_005CSirenix_002ESerialization_002Edll/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/AddReferences/RecentPaths/=C_003A_005CUsers_005CAdministrator_005CSeafile_005CProjects_002DRider_005CRiderProjects_005CBepinex_005CProjects_005CCaptainOfIndustry_005Clibs_005CSirenix_002EUtilities_002Edll/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/AddReferences/RecentPaths/=C_003A_005CUsers_005CAdministrator_005CSeafile_005CProjects_002DRider_005CRiderProjects_005CBepinex_005CProjects_005CCaptainOfIndustry_005Clibs_005CUnityEngine_002ECoreModule_002Edll/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/AddReferences/RecentPaths/=C_003A_005CUsers_005CAdministrator_005CSeafile_005CProjects_002DRider_005CRiderProjects_005CBepinex_005CProjects_005CCaptainOfIndustry_005Clibs_005CUnityEngine_002Edll/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:String x:Key="/Default/Environment/AssemblyExplorer/XmlDocument/@EntryValue"><AssemblyExplorer /></s:String>
|
||||
|
@@ -64,6 +64,21 @@
|
||||
<Reference Include="Mafi.Unity">
|
||||
<HintPath>..\libs\Mafi.Unity.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Sirenix.OdinInspector.Attributes">
|
||||
<HintPath>..\libs\Sirenix.OdinInspector.Attributes.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Sirenix.OdinInspector.CompatibilityLayer">
|
||||
<HintPath>..\libs\Sirenix.OdinInspector.CompatibilityLayer.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Sirenix.Serialization">
|
||||
<HintPath>..\libs\Sirenix.Serialization.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Sirenix.Serialization.Config">
|
||||
<HintPath>..\libs\Sirenix.Serialization.Config.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Sirenix.Utilities">
|
||||
<HintPath>..\libs\Sirenix.Utilities.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="UnityEngine">
|
||||
<HintPath>..\libs\UnityEngine.dll</HintPath>
|
||||
</Reference>
|
||||
|
@@ -18,17 +18,19 @@ namespace CaptainOfIndustry {
|
||||
public static ConfigEntry<int> truckCapacityMultiplier;
|
||||
public static ConfigEntry<int> cargoShipCapacityMultiplier;
|
||||
public static ConfigEntry<float> excavatorMiningAreaMultiplier;
|
||||
public static ConfigEntry<float> vehicleSpeedMultiplier;
|
||||
public static ConfigEntry<float> bufferCapacityMultiplier;
|
||||
public static ConfigEntry<float> unityGenerationMultiplier;
|
||||
public static ConfigEntry<float> depotTransferSpeedMultiplier;
|
||||
|
||||
public void Awake() {
|
||||
excavatorCapacityMultiplier = Config.Bind("General", "Excavator Capacity Multiplier", 1, new ConfigDescription("Excavator Capacity Multiplier"));
|
||||
truckCapacityMultiplier = Config.Bind("General", "Truck Capacity Multiplier", 1, new ConfigDescription("Truck Capacity Multiplier"));
|
||||
cargoShipCapacityMultiplier = Config.Bind("General", "Cargo Ship Capacity Multiplier", 1, new ConfigDescription("Cargo Ship Capacity Multiplier"));
|
||||
excavatorMiningAreaMultiplier = Config.Bind("General", "Excavator Mining Area Multiplier", 1f, new ConfigDescription("Excavator Mining Area Multiplier"));
|
||||
vehicleSpeedMultiplier = Config.Bind("General", "Vehicle Speed Multiplier", 1f, new ConfigDescription("Vehicle Speed Multiplier"));
|
||||
bufferCapacityMultiplier = Config.Bind("General", "Buffer Capacity Multiplier", 1f, new ConfigDescription("Buffer Capacity Multiplier"));
|
||||
storageCapacityMultiplier = Config.Bind("General", "Storage Capacity Multiplier", 1f, new ConfigDescription("Storage Capacity Multiplier"));
|
||||
unityGenerationMultiplier = Config.Bind("General", "Unity Generation Multiplier", 1f, new ConfigDescription("Unity Generation Multiplier"));
|
||||
depotTransferSpeedMultiplier = Config.Bind("General", "Depot Transfer Speed Multiplier", 1f, new ConfigDescription("Depot Transfer Speed Multiplier"));
|
||||
|
||||
// shootingSpeedMultiplier.SettingChanged += (sender, args) => WeaponPropertiesManager.DoPatch();
|
||||
// energyGenMultiplier.SettingChanged += (sender, args) => GeneratorPropertiesManager.DoPatch();
|
||||
|
@@ -1,13 +1,18 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Reflection.Emit;
|
||||
using HarmonyLib;
|
||||
using Mafi;
|
||||
using Mafi.Core.Buildings.Cargo;
|
||||
using Mafi.Core.Buildings.Cargo.Modules;
|
||||
using Mafi.Core.Buildings.Cargo.Ships.Modules;
|
||||
using Mafi.Core.Buildings.Storages;
|
||||
using Mafi.Core.Entities.Dynamic;
|
||||
using Mafi.Core.Entities.Static;
|
||||
using Mafi.Core.Entities.Static.Layout;
|
||||
using Mafi.Core.Factory.Machines;
|
||||
using Mafi.Core.Map;
|
||||
using Mafi.Core.Population;
|
||||
using Mafi.Core.Products;
|
||||
@@ -16,30 +21,28 @@ using Mafi.Core.Prototypes;
|
||||
namespace CaptainOfIndustry {
|
||||
[HarmonyPatch]
|
||||
public class Patches {
|
||||
private static Traverse<Fix32> maxForwardsSpeedField;
|
||||
|
||||
[HarmonyPrefix]
|
||||
[HarmonyPatch(typeof(ExcavatorProtoBuilder.ExcavatorProtoBuilderState), "SetCapacity")]
|
||||
static void excavatorCapacityMultiplier(ref int quantity) {
|
||||
// Console.WriteLine("IndustrialCyka: Old excavator capacity: {0}", quantity);
|
||||
// Console.WriteLine("IndustrialCyka: Old excavator capacity: {0}", quantity);
|
||||
quantity *= Main.excavatorCapacityMultiplier.Value;
|
||||
Console.WriteLine("IndustrialCyka: Old excavator capacity: {0}", quantity);
|
||||
// Console.WriteLine("IndustrialCyka: Old excavator capacity: {0}", quantity);
|
||||
}
|
||||
|
||||
[HarmonyPrefix]
|
||||
[HarmonyPatch(typeof(TruckProtoBuilder.TruckProtoBuilderState), "SetCapacity")]
|
||||
static void truckCapacityMultiplier(ref int quantity) {
|
||||
Console.WriteLine("IndustrialCyka: Old truck capacity: {0}", quantity);
|
||||
// Console.WriteLine("IndustrialCyka: Old truck capacity: {0}", quantity);
|
||||
quantity *= Main.truckCapacityMultiplier.Value;
|
||||
Console.WriteLine("IndustrialCyka: New truck capacity: {0}", quantity);
|
||||
// Console.WriteLine("IndustrialCyka: New truck capacity: {0}", quantity);
|
||||
}
|
||||
|
||||
// [HarmonyPrefix]
|
||||
// [HarmonyPatch(typeof(StorageProtoBuilder.State), "SetCapacity")]
|
||||
// static void storageCapacityMultiplier(ref int capacity) {
|
||||
// Console.WriteLine("IndustrialCyka: Old storage capacity: {0}", capacity);
|
||||
// // Console.WriteLine("IndustrialCyka: Old storage capacity: {0}", capacity);
|
||||
// capacity = (int)(capacity * Main.storageCapacityMultiplier.Value);
|
||||
// Console.WriteLine("IndustrialCyka: New storage capacity: {0}", capacity);
|
||||
// // Console.WriteLine("IndustrialCyka: New storage capacity: {0}", capacity);
|
||||
// }
|
||||
|
||||
[HarmonyPostfix]
|
||||
@@ -49,18 +52,18 @@ namespace CaptainOfIndustry {
|
||||
typeof(CargoShipModuleProto.Gfx)
|
||||
})]
|
||||
static void cargoShipCapacityMultiplier(CargoShipModuleProto __instance) {
|
||||
Console.WriteLine("IndustrialCyka: Old ship capacity: {0}", __instance.Capacity.Value);
|
||||
// Console.WriteLine("IndustrialCyka: Old ship capacity: {0}", __instance.Capacity.Value);
|
||||
__instance.Capacity = new Quantity(__instance.Capacity.Value * Main.cargoShipCapacityMultiplier.Value);
|
||||
Console.WriteLine("IndustrialCyka: New ship capacity: {0}", __instance.Capacity.Value);
|
||||
// Console.WriteLine("IndustrialCyka: New ship capacity: {0}", __instance.Capacity.Value);
|
||||
}
|
||||
|
||||
[HarmonyPrefix]
|
||||
[HarmonyPatch(typeof(ExcavatorProtoBuilder.ExcavatorProtoBuilderState), "SetMinedThicknessByDistanceMeters")]
|
||||
static void excavatorMiningAreaMultiplier(ref float[] thicknessMeters) {
|
||||
for (int i = 0; i < thicknessMeters.Length; i++) {
|
||||
Console.WriteLine("IndustrialCyka: Old mining area: {0}", thicknessMeters[i]);
|
||||
// Console.WriteLine("IndustrialCyka: Old mining area: {0}", thicknessMeters[i]);
|
||||
thicknessMeters[i] *= Main.excavatorMiningAreaMultiplier.Value;
|
||||
Console.WriteLine("IndustrialCyka: New mining area: {0}", thicknessMeters[i]);
|
||||
// Console.WriteLine("IndustrialCyka: New mining area: {0}", thicknessMeters[i]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,35 +71,35 @@ namespace CaptainOfIndustry {
|
||||
// [HarmonyPrefix]
|
||||
// [HarmonyPatch(typeof(DrivingEntity), "SetSpeedFactor")]
|
||||
// static void vehicleSpeedMultiplier(ref Percent speedFactor) {
|
||||
// Console.WriteLine("IndustrialCyka: Old speed: {0}", speedFactor.ToString());
|
||||
// // Console.WriteLine("IndustrialCyka: Old speed: {0}", speedFactor.ToString());
|
||||
// // typeof(Percent)
|
||||
// // .GetField("RawValue",BindingFlags.Instance|BindingFlags.NonPublic)
|
||||
// // .SetValue(speedFactor,speedFactor.ToFloat() / Main.vehicleSpeedMultiplier.Value);
|
||||
// Percent newSpeedFactor = Percent.FromFloat(speedFactor.ToFloat() / Main.vehicleSpeedMultiplier.Value);
|
||||
// speedFactor = newSpeedFactor;
|
||||
// Console.WriteLine("IndustrialCyka: New speed: {1}", newSpeedFactor.RawValue.ToString());
|
||||
// // Console.WriteLine("IndustrialCyka: New speed: {1}", newSpeedFactor.RawValue.ToString());
|
||||
// }
|
||||
|
||||
[HarmonyPostfix]
|
||||
[HarmonyPatch(typeof(SmoothDriver), "SetSpeedFactor")]
|
||||
static void vehicleSpeedMultiplier(SmoothDriver __instance) {
|
||||
Fix32 speedMulti = Fix32.FromFloat(Main.vehicleSpeedMultiplier.Value);
|
||||
|
||||
Traverse traverse = Traverse.Create(__instance);
|
||||
Traverse maxForwardsSpeedField = traverse.Field("m_maxForwardsSpeed");
|
||||
Traverse maxBackwardsSpeedField = traverse.Field("m_maxBackwardsSpeed");
|
||||
Traverse maxAccelerationField = traverse.Field("m_maxAcceleration");
|
||||
|
||||
Console.WriteLine("IndustrialCyka: Old speeds: (F) {0}, (B) {1}, (A) {2}", maxForwardsSpeedField.GetValue(),
|
||||
maxBackwardsSpeedField.GetValue(), maxAccelerationField.GetValue());
|
||||
|
||||
maxForwardsSpeedField.SetValue((Fix32)maxForwardsSpeedField.GetValue() * speedMulti);
|
||||
maxBackwardsSpeedField.SetValue((Fix32)maxBackwardsSpeedField.GetValue() * speedMulti);
|
||||
maxAccelerationField.SetValue((Fix32)maxAccelerationField.GetValue() * speedMulti);
|
||||
|
||||
Console.WriteLine("IndustrialCyka: New speeds: (F) {0}, (B) {1}, (A) {2}", maxForwardsSpeedField.GetValue(),
|
||||
maxBackwardsSpeedField.GetValue(), maxAccelerationField.GetValue());
|
||||
}
|
||||
// [HarmonyPostfix]
|
||||
// [HarmonyPatch(typeof(SmoothDriver), "SetSpeedFactor")]
|
||||
// static void vehicleSpeedMultiplier(SmoothDriver __instance) {
|
||||
// Fix32 speedMulti = Fix32.FromFloat(Main.vehicleSpeedMultiplier.Value);
|
||||
//
|
||||
// Traverse traverse = Traverse.Create(__instance);
|
||||
// Traverse maxForwardsSpeedField = traverse.Field("m_maxForwardsSpeed");
|
||||
// Traverse maxBackwardsSpeedField = traverse.Field("m_maxBackwardsSpeed");
|
||||
// Traverse maxAccelerationField = traverse.Field("m_maxAcceleration");
|
||||
//
|
||||
// // Console.WriteLine("IndustrialCyka: Old speeds: (F) {0}, (B) {1}, (A) {2}", maxForwardsSpeedField.GetValue(),
|
||||
// // maxBackwardsSpeedField.GetValue(), maxAccelerationField.GetValue());
|
||||
//
|
||||
// maxForwardsSpeedField.SetValue((Fix32)maxForwardsSpeedField.GetValue() * speedMulti);
|
||||
// maxBackwardsSpeedField.SetValue((Fix32)maxBackwardsSpeedField.GetValue() * speedMulti);
|
||||
// maxAccelerationField.SetValue((Fix32)maxAccelerationField.GetValue() * speedMulti);
|
||||
//
|
||||
// // Console.WriteLine("IndustrialCyka: New speeds: (F) {0}, (B) {1}, (A) {2}", maxForwardsSpeedField.GetValue(),
|
||||
// // maxBackwardsSpeedField.GetValue(), maxAccelerationField.GetValue());
|
||||
// }
|
||||
|
||||
[HarmonyPostfix]
|
||||
[HarmonyPatch(typeof(StorageBaseProto), MethodType.Constructor,
|
||||
@@ -112,37 +115,125 @@ namespace CaptainOfIndustry {
|
||||
typeof(IEnumerable<Tag>)
|
||||
})]
|
||||
static void storageCapacityMultiplier(StorageProto __instance) {
|
||||
Console.WriteLine("IndustrialCyka: Old storage capacity: {0}", __instance.Capacity.Value);
|
||||
Console.WriteLine("IndustrialCyka: Old storage transfer limit: {0}", __instance.TransferLimit.Value);
|
||||
// Console.WriteLine("IndustrialCyka: Old storage capacity: {0}", __instance.Capacity.Value);
|
||||
// Console.WriteLine("IndustrialCyka: Old storage transfer limit: {0}", __instance.TransferLimit.Value);
|
||||
Traverse traverse = Traverse.Create(__instance);
|
||||
|
||||
traverse.Field("Capacity").SetValue(new Quantity((int)(__instance.Capacity.Value * Main.storageCapacityMultiplier.Value)));
|
||||
traverse.Field("Capacity")
|
||||
.SetValue(new Quantity((int)(__instance.Capacity.Value * Main.storageCapacityMultiplier.Value)));
|
||||
traverse.Field("TransferLimit").SetValue(new Quantity(10000));
|
||||
traverse.Field("TransferLimitDuration").SetValue(Duration.FromTicks(1));
|
||||
|
||||
Console.WriteLine("IndustrialCyka: New storage capacity: {0}", __instance.Capacity.Value);
|
||||
Console.WriteLine("IndustrialCyka: New storage transfer limit: {0}", __instance.TransferLimit.Value);
|
||||
// Console.WriteLine("IndustrialCyka: New storage capacity: {0}", __instance.Capacity.Value);
|
||||
// Console.WriteLine("IndustrialCyka: New storage transfer limit: {0}", __instance.TransferLimit.Value);
|
||||
}
|
||||
|
||||
[HarmonyPrefix]
|
||||
[HarmonyPatch(typeof(UpointsManager), "GenerateUnity")]
|
||||
static void unityGenerationMultiplier(Proto.ID categoryId, ref Upoints generated) {
|
||||
Console.WriteLine("IndustrialCyka: Old generated {0} unity", generated.Value);
|
||||
// Console.WriteLine("IndustrialCyka: Old generated {0} unity", generated.Value);
|
||||
Fix32 multi = Fix32.FromFloat(Main.unityGenerationMultiplier.Value);
|
||||
generated = new Upoints(generated.Value * multi);
|
||||
Console.WriteLine("IndustrialCyka: New generated {0} unity", generated.Value);
|
||||
// Console.WriteLine("IndustrialCyka: New generated {0} unity", generated.Value);
|
||||
}
|
||||
|
||||
[HarmonyTranspiler]
|
||||
[HarmonyPatch(typeof(Machine), "updateWorkOnRecipes")]
|
||||
static IEnumerable<CodeInstruction> unityBooster(IEnumerable<CodeInstruction> instructions) {
|
||||
Dictionary<int, OpCode> matchTable = new Dictionary<int, OpCode>();
|
||||
matchTable[0] = OpCodes.Ldsfld;
|
||||
matchTable[1] = OpCodes.Br;
|
||||
matchTable[2] = OpCodes.Ldc_I4_2;
|
||||
int matches = 0;
|
||||
int totalMatch = matchTable.Count;
|
||||
|
||||
var codes = new List<CodeInstruction>(instructions);
|
||||
for (int i = 0; i < codes.Count; i++) {
|
||||
if (matches >= totalMatch) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (codes[i].opcode.Equals(matchTable[matches])) {
|
||||
if (matches == totalMatch - 1) {
|
||||
codes[i].opcode = OpCodes.Ldc_I4_6;
|
||||
}
|
||||
|
||||
matches++;
|
||||
}
|
||||
}
|
||||
|
||||
// for (int i = 0; i < codes.Count; i++) {
|
||||
// Console.WriteLine(codes[i].ToString());
|
||||
// }
|
||||
|
||||
return codes.AsEnumerable();
|
||||
}
|
||||
|
||||
// static IEnumerable<CodeInstruction> Transpiler(IEnumerable<CodeInstruction> instructions)
|
||||
// {
|
||||
// var found = false;
|
||||
// foreach (var instruction in instructions)
|
||||
// {
|
||||
// if (instruction.StoresField(f_someField))
|
||||
// {
|
||||
// yield return new CodeInstruction(OpCodes.Call, m_MyExtraMethod);
|
||||
// found = true;
|
||||
// }
|
||||
// yield return instruction;
|
||||
// }
|
||||
// if (found is false)
|
||||
// ReportError("Cannot find <Stdfld someField> in OriginalType.OriginalMethod");
|
||||
// }
|
||||
|
||||
// Could not make this work either... idk why... Doesn't make sense...
|
||||
// [HarmonyPostfix]
|
||||
// [HarmonyPatch(typeof(SimpleVirtualResource), "MineResourceAt")]
|
||||
// static void infiniteGroundResources(SimpleVirtualResource __instance) {
|
||||
// Console.WriteLine("IndustrialCyka: Patching ground resources (Capacity)");
|
||||
// // Console.WriteLine("IndustrialCyka: Patching ground resources (Capacity)");
|
||||
// Traverse traverse = Traverse.Create(__instance);
|
||||
// Traverse capacityField = traverse.Field("Capacity");
|
||||
// capacityField.SetValue(1000000000);
|
||||
// Traverse quantityField = traverse.Field("Quantity");
|
||||
// quantityField.SetValue(1000000000);
|
||||
// }
|
||||
|
||||
[HarmonyPrefix]
|
||||
[HarmonyPatch(typeof(ProductBuffer), "ForceNewCapacityTo")]
|
||||
static void bufferCapacityMultiplier(ref Quantity newCapacity) {
|
||||
if (newCapacity.Value <= 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
Quantity newNewCapacity = new Quantity((int)(newCapacity.Value * Main.bufferCapacityMultiplier.Value));
|
||||
newCapacity = newNewCapacity;
|
||||
}
|
||||
|
||||
[HarmonyPostfix]
|
||||
[HarmonyPatch(typeof(CargoDepotModuleProto), MethodType.Constructor,
|
||||
new[] {
|
||||
typeof(CargoDepotModuleProto.ID),
|
||||
typeof(Proto.Str),
|
||||
typeof(EntityLayout),
|
||||
typeof(ProductType),
|
||||
typeof(Option<CargoDepotModuleProto>),
|
||||
typeof(Quantity),
|
||||
typeof(Quantity),
|
||||
typeof(Duration),
|
||||
typeof(Electricity),
|
||||
typeof(bool),
|
||||
typeof(Percent),
|
||||
typeof(EntityCosts),
|
||||
typeof(CargoDepotModuleProto.Gfx),
|
||||
typeof(IEnumerable<Tag>),
|
||||
})]
|
||||
static void depotTransferSpeedMultiplier(CargoDepotModuleProto __instance) {
|
||||
// Console.WriteLine("IndustrialCyka: Old storage capacity: {0}", __instance.Capacity.Value);
|
||||
Traverse traverse = Traverse.Create(__instance);
|
||||
|
||||
traverse.Field("QuantityPerExchange")
|
||||
.SetValue(new Quantity((int)(__instance.QuantityPerExchange.Value * Main.depotTransferSpeedMultiplier.Value)));
|
||||
|
||||
// Console.WriteLine("IndustrialCyka: New storage capacity: {0}", __instance.Capacity.Value);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user