Add xp multiplier.. of some variety
This commit is contained in:
@@ -41,5 +41,9 @@
|
||||
<HintPath>$(GAME_MANAGED)/UnityEngine.CoreModule.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="XRL">
|
||||
<HintPath>$(GAME_MANAGED)/Assembly-CSharp.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
@@ -13,76 +13,79 @@ namespace CykaOfQud {
|
||||
private const string pluginName = "CykaOfQud";
|
||||
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> excavatorMiningCapacityMultiplier;
|
||||
public static ConfigEntry<int> excavatorMiningAreaMultiplier;
|
||||
public static ConfigEntry<float> excavatorMinReachMultiplier;
|
||||
public static ConfigEntry<float> excavatorMaxReachMultiplier;
|
||||
public static ConfigEntry<float> bufferCapacityMultiplier;
|
||||
public static ConfigEntry<float> unityGenerationMultiplier;
|
||||
public static ConfigEntry<float> depotTransferSpeedMultiplier;
|
||||
public static ConfigEntry<float> worldMineSpeedMultiplier;
|
||||
public static ConfigEntry<float> housingCapacityMultiplier;
|
||||
public static ConfigEntry<float> dumpDelayMultiplier;
|
||||
public static ConfigEntry<float> transportSpeedMultiplier;
|
||||
public static ConfigEntry<float> shipyardCargoMultiplier;
|
||||
public static ConfigEntry<int> autosaveInterval;
|
||||
public static ConfigEntry<string> recipeMultipliers;
|
||||
public static Dictionary<string, int> recipeMultipliersDict;
|
||||
public static ConfigEntry<float> xpPerLevelMultiplier;
|
||||
|
||||
// public static ConfigEntry<float> excavatorMineTileIterationsMultiplier;
|
||||
// public static ConfigEntry<int> truckCapacityMultiplier;
|
||||
// public static ConfigEntry<int> cargoShipCapacityMultiplier;
|
||||
// public static ConfigEntry<float> excavatorMiningCapacityMultiplier;
|
||||
// public static ConfigEntry<int> excavatorMiningAreaMultiplier;
|
||||
// public static ConfigEntry<float> excavatorMinReachMultiplier;
|
||||
// public static ConfigEntry<float> excavatorMaxReachMultiplier;
|
||||
// public static ConfigEntry<float> bufferCapacityMultiplier;
|
||||
// public static ConfigEntry<float> unityGenerationMultiplier;
|
||||
// public static ConfigEntry<float> depotTransferSpeedMultiplier;
|
||||
// public static ConfigEntry<float> worldMineSpeedMultiplier;
|
||||
// public static ConfigEntry<float> housingCapacityMultiplier;
|
||||
// public static ConfigEntry<float> dumpDelayMultiplier;
|
||||
// public static ConfigEntry<float> transportSpeedMultiplier;
|
||||
// public static ConfigEntry<float> shipyardCargoMultiplier;
|
||||
// public static ConfigEntry<int> autosaveInterval;
|
||||
// public static ConfigEntry<string> recipeMultipliers;
|
||||
// public static Dictionary<string, int> recipeMultipliersDict;
|
||||
|
||||
public static ConfigEntry<bool> debugMode;
|
||||
|
||||
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,
|
||||
new ConfigDescription("Cargo Ship Capacity Multiplier"));
|
||||
excavatorMiningAreaMultiplier = Config.Bind("General", "Excavator Mining Area Multiplier", 1,
|
||||
new ConfigDescription("Excavator Mining Area Multiplier"));
|
||||
excavatorMiningCapacityMultiplier = Config.Bind("General", "Excavator Mining Capacity Multiplier", 1f,
|
||||
new ConfigDescription("Excavator Mining Capacity Multiplier"));
|
||||
excavatorMinReachMultiplier = Config.Bind("General", "Excavator Min Reach Multiplier", 1f,
|
||||
new ConfigDescription("Excavator Min Reach Multiplier"));
|
||||
excavatorMaxReachMultiplier = Config.Bind("General", "Excavator Max Reach Multiplier", 1f,
|
||||
new ConfigDescription("Excavator Max Reach Multiplier"));
|
||||
bufferCapacityMultiplier = Config.Bind("General", "Buffer Capacity Multiplier", 1f,
|
||||
new ConfigDescription("Buffer 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"));
|
||||
worldMineSpeedMultiplier = Config.Bind("General", "World Mine Speed Multiplier", 1f,
|
||||
new ConfigDescription("World Mine Speed Multiplier"));
|
||||
housingCapacityMultiplier = Config.Bind("General", "Housing Capacity Multiplier", 1f,
|
||||
new ConfigDescription("Housing Capacity Multiplier"));
|
||||
dumpDelayMultiplier = Config.Bind("General", "Dump Delay Multiplier", 1f,
|
||||
new ConfigDescription("Dump Delay Multiplier"));
|
||||
transportSpeedMultiplier = Config.Bind("General", "Transport Speed Multiplier", 1f,
|
||||
new ConfigDescription("Transport Speed Multiplier"));
|
||||
shipyardCargoMultiplier = Config.Bind("General", "Shipyard Cargo Multiplier", 1f,
|
||||
new ConfigDescription("Shipyard Cargo Multiplier"));
|
||||
autosaveInterval = Config.Bind("General", "Autosave Interval", 1,
|
||||
new ConfigDescription("Autosave Interval in minutes"));
|
||||
recipeMultipliers = Config.Bind("General", "Recipe Multipliers", "dirt:4",
|
||||
new ConfigDescription("Recipe Multipliers"));
|
||||
xpPerLevelMultiplier = Config.Bind("General", "XP Per Level Multiplier", 1f,
|
||||
new ConfigDescription("XP Per Level Multiplier"));
|
||||
// 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,
|
||||
// new ConfigDescription("Cargo Ship Capacity Multiplier"));
|
||||
// excavatorMiningAreaMultiplier = Config.Bind("General", "Excavator Mining Area Multiplier", 1,
|
||||
// new ConfigDescription("Excavator Mining Area Multiplier"));
|
||||
// excavatorMiningCapacityMultiplier = Config.Bind("General", "Excavator Mining Capacity Multiplier", 1f,
|
||||
// new ConfigDescription("Excavator Mining Capacity Multiplier"));
|
||||
// excavatorMinReachMultiplier = Config.Bind("General", "Excavator Min Reach Multiplier", 1f,
|
||||
// new ConfigDescription("Excavator Min Reach Multiplier"));
|
||||
// excavatorMaxReachMultiplier = Config.Bind("General", "Excavator Max Reach Multiplier", 1f,
|
||||
// new ConfigDescription("Excavator Max Reach Multiplier"));
|
||||
// bufferCapacityMultiplier = Config.Bind("General", "Buffer Capacity Multiplier", 1f,
|
||||
// new ConfigDescription("Buffer 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"));
|
||||
// worldMineSpeedMultiplier = Config.Bind("General", "World Mine Speed Multiplier", 1f,
|
||||
// new ConfigDescription("World Mine Speed Multiplier"));
|
||||
// housingCapacityMultiplier = Config.Bind("General", "Housing Capacity Multiplier", 1f,
|
||||
// new ConfigDescription("Housing Capacity Multiplier"));
|
||||
// dumpDelayMultiplier = Config.Bind("General", "Dump Delay Multiplier", 1f,
|
||||
// new ConfigDescription("Dump Delay Multiplier"));
|
||||
// transportSpeedMultiplier = Config.Bind("General", "Transport Speed Multiplier", 1f,
|
||||
// new ConfigDescription("Transport Speed Multiplier"));
|
||||
// shipyardCargoMultiplier = Config.Bind("General", "Shipyard Cargo Multiplier", 1f,
|
||||
// new ConfigDescription("Shipyard Cargo Multiplier"));
|
||||
// autosaveInterval = Config.Bind("General", "Autosave Interval", 1,
|
||||
// new ConfigDescription("Autosave Interval in minutes"));
|
||||
// recipeMultipliers = Config.Bind("General", "Recipe Multipliers", "dirt:4",
|
||||
// new ConfigDescription("Recipe Multipliers"));
|
||||
|
||||
recipeMultipliersDict = recipeMultipliers.Value.Split(',')
|
||||
.ToDictionary(x => x.Split(':')[0], x => int.Parse(x.Split(':')[1]));
|
||||
recipeMultipliers.SettingChanged += (sender, args) => {
|
||||
recipeMultipliersDict = recipeMultipliers.Value.Split(',')
|
||||
.ToDictionary(x => x.Split(':')[0], x => int.Parse(x.Split(':')[1]));
|
||||
Console.WriteLine("IndustrialCyka: Recipe multipliers parsed as:");
|
||||
foreach (var kvp in recipeMultipliersDict)
|
||||
Console.WriteLine("\tIndustrialCyka: {0} x {1}", kvp.Key, kvp.Value);
|
||||
};
|
||||
// recipeMultipliersDict = recipeMultipliers.Value.Split(',')
|
||||
// .ToDictionary(x => x.Split(':')[0], x => int.Parse(x.Split(':')[1]));
|
||||
// recipeMultipliers.SettingChanged += (sender, args) => {
|
||||
// recipeMultipliersDict = recipeMultipliers.Value.Split(',')
|
||||
// .ToDictionary(x => x.Split(':')[0], x => int.Parse(x.Split(':')[1]));
|
||||
// Console.WriteLine("IndustrialCyka: Recipe multipliers parsed as:");
|
||||
// foreach (var kvp in recipeMultipliersDict)
|
||||
// Console.WriteLine("\tIndustrialCyka: {0} x {1}", kvp.Key, kvp.Value);
|
||||
// };
|
||||
|
||||
debugMode = Config.Bind("General", "Debug Mode", false, new ConfigDescription("Debug Mode"));
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Reflection.Emit;
|
||||
using CykaOfQud;
|
||||
using HarmonyLib;
|
||||
//using Mafi;
|
||||
//using Mafi.Collections.ImmutableCollections;
|
||||
@@ -28,18 +29,20 @@ using HarmonyLib;
|
||||
//using Mafi.Core.World.Entities;
|
||||
|
||||
namespace CykaOfIndustry {
|
||||
// [HarmonyPatch]
|
||||
// public class Patches {
|
||||
// [HarmonyPrefix]
|
||||
// [HarmonyPatch(typeof(ExcavatorProtoBuilder.ExcavatorProtoBuilderState), "SetCapacity")]
|
||||
// static void excavatorCapacityMultiplier(ref int quantity) {
|
||||
// if (Main.debugMode.Value)
|
||||
// Console.WriteLine("IndustrialCyka: Old excavator capacity {0}", quantity);
|
||||
// quantity *= Main.excavatorCapacityMultiplier.Value;
|
||||
// if (Main.debugMode.Value)
|
||||
// Console.WriteLine("IndustrialCyka: New excavator capacity {0}", quantity);
|
||||
// }
|
||||
//
|
||||
[HarmonyPatch]
|
||||
public class Patches {
|
||||
[HarmonyPostfix]
|
||||
[HarmonyPatch(typeof(XRL.World.Parts.Leveler), "GetXPForLevel")]
|
||||
static int xpPerLevelMultiplier(ref int __result) {
|
||||
if (Main.debugMode.Value)
|
||||
Console.WriteLine("CykaOfQud: Old XP for level {0}", __result);
|
||||
__result = (int)(__result * Main.xpPerLevelMultiplier.Value);
|
||||
if (Main.debugMode.Value)
|
||||
Console.WriteLine("CykaOfQud: New XP for level {0}", __result);
|
||||
return __result;
|
||||
}
|
||||
|
||||
}
|
||||
// [HarmonyPrefix]
|
||||
// [HarmonyPatch(typeof(ExcavatorProtoBuilder.ExcavatorProtoBuilderState), "SetMinedThicknessByDistanceMeters")]
|
||||
// static void excavatorMiningAreaMultiplier(ref float[] thicknessMeters) {
|
||||
|
||||
Reference in New Issue
Block a user