Add mining multiplier
This commit is contained in:
@@ -26,6 +26,7 @@ namespace BlacksmithMaster {
|
|||||||
public static ConfigEntry<float> globalSpeedMultiplier;
|
public static ConfigEntry<float> globalSpeedMultiplier;
|
||||||
public static ConfigEntry<float> globalSpeedOffset;
|
public static ConfigEntry<float> globalSpeedOffset;
|
||||||
public static ConfigEntry<float> hiringCostMultiplier;
|
public static ConfigEntry<float> hiringCostMultiplier;
|
||||||
|
public static ConfigEntry<float> miningMultiplier;
|
||||||
public static ConfigEntry<bool> alwaysEvenly;
|
public static ConfigEntry<bool> alwaysEvenly;
|
||||||
public static ConfigEntry<bool> alwaysChad;
|
public static ConfigEntry<bool> alwaysChad;
|
||||||
|
|
||||||
@@ -65,6 +66,9 @@ namespace BlacksmithMaster {
|
|||||||
hiringCostMultiplier = Config.Bind(
|
hiringCostMultiplier = Config.Bind(
|
||||||
"General", "Hiring Cost Multiplier", 1f,
|
"General", "Hiring Cost Multiplier", 1f,
|
||||||
new ConfigDescription("Hiring Cost Multiplier", new AcceptableValueRange<float>(0.01f, 1024f)));
|
new ConfigDescription("Hiring Cost Multiplier", new AcceptableValueRange<float>(0.01f, 1024f)));
|
||||||
|
miningMultiplier = Config.Bind(
|
||||||
|
"General", "Mining Multiplier", 1f,
|
||||||
|
new ConfigDescription("Mining Multiplier", new AcceptableValueRange<float>(0.01f, 1024f)));
|
||||||
alwaysEvenly =
|
alwaysEvenly =
|
||||||
Config.Bind("General", "Always Evenly", false,
|
Config.Bind("General", "Always Evenly", false,
|
||||||
new ConfigDescription("Always Evenly", new AcceptableValueRange<bool>(false, true)));
|
new ConfigDescription("Always Evenly", new AcceptableValueRange<bool>(false, true)));
|
||||||
@@ -177,4 +181,24 @@ namespace BlacksmithMaster {
|
|||||||
shouldBeSuperWorker = true;
|
shouldBeSuperWorker = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HarmonyPatch(typeof(MineBoxController), "AddMineralPiece")]
|
||||||
|
public class MineBoxController_AddMineralPiece {
|
||||||
|
private static int before;
|
||||||
|
public static void Prefix(ref MineBoxController __instance) {
|
||||||
|
var trav = Traverse.Create(__instance);
|
||||||
|
var piecesInsideAmount = trav.Field("PiecesInsideAmount");
|
||||||
|
Main.LogDebug("Original pieces: " + piecesInsideAmount.GetValue<int>());
|
||||||
|
before = piecesInsideAmount.GetValue<int>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void Postfix(ref MineBoxController __instance) {
|
||||||
|
var trav = Traverse.Create(__instance);
|
||||||
|
var piecesInsideAmount = trav.Field("PiecesInsideAmount");
|
||||||
|
Main.LogDebug("Original pieces: " + piecesInsideAmount.GetValue<int>());
|
||||||
|
var delta = piecesInsideAmount.GetValue<int>() - before;
|
||||||
|
piecesInsideAmount.SetValue(before + (int)(delta * Main.miningMultiplier.Value));
|
||||||
|
Main.LogDebug("Modified pieces: " + piecesInsideAmount.GetValue<int>());
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user