diff --git a/Projects/AgainstTheStorm/AgainstTheStorm.sln b/Projects/AgainstTheStorm/AgainstTheStorm.sln
index 91fb4d8..40f5d04 100644
--- a/Projects/AgainstTheStorm/AgainstTheStorm.sln
+++ b/Projects/AgainstTheStorm/AgainstTheStorm.sln
@@ -1,16 +1,16 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AgainstTheStorm", "AgainstTheStorm\AgainstTheStorm.csproj", "{DA9D274E-486F-4F82-84FF-CD9388CB0B09}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {DA9D274E-486F-4F82-84FF-CD9388CB0B09}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {DA9D274E-486F-4F82-84FF-CD9388CB0B09}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {DA9D274E-486F-4F82-84FF-CD9388CB0B09}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {DA9D274E-486F-4F82-84FF-CD9388CB0B09}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AgainstTheStorm", "AgainstTheStorm\AgainstTheStorm.csproj", "{DA9D274E-486F-4F82-84FF-CD9388CB0B09}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {DA9D274E-486F-4F82-84FF-CD9388CB0B09}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DA9D274E-486F-4F82-84FF-CD9388CB0B09}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DA9D274E-486F-4F82-84FF-CD9388CB0B09}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DA9D274E-486F-4F82-84FF-CD9388CB0B09}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+EndGlobal
diff --git a/Projects/AgainstTheStorm/AgainstTheStorm/AgainstTheStorm.csproj b/Projects/AgainstTheStorm/AgainstTheStorm/AgainstTheStorm.csproj
index 9dee184..713705d 100644
--- a/Projects/AgainstTheStorm/AgainstTheStorm/AgainstTheStorm.csproj
+++ b/Projects/AgainstTheStorm/AgainstTheStorm/AgainstTheStorm.csproj
@@ -1,82 +1,82 @@
-
-
-
-
- Debug
- AnyCPU
- {DA9D274E-486F-4F82-84FF-CD9388CB0B09}
- Library
- Properties
- AgainstTheStorm
- AgainstTheStorm
- v4.8.1
- 512
-
-
- AnyCPU
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- AnyCPU
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
- libs\0Harmony.dll
-
-
- libs\Assembly-CSharp.dll
-
-
- libs\BepInEx.dll
-
-
- libs\ConfigurationManager.dll
-
-
- libs\MainAssembly.dll
-
-
- libs\Sirenix.Serialization.dll
-
-
-
-
-
-
- libs\UnityEngine.dll
-
-
- libs\UnityEngine.CoreModule.dll
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ Debug
+ AnyCPU
+ {DA9D274E-486F-4F82-84FF-CD9388CB0B09}
+ Library
+ Properties
+ AgainstTheStorm
+ AgainstTheStorm
+ v4.8.1
+ 512
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+ libs\0Harmony.dll
+
+
+ libs\Assembly-CSharp.dll
+
+
+ libs\BepInEx.dll
+
+
+ libs\ConfigurationManager.dll
+
+
+ libs\MainAssembly.dll
+
+
+ libs\Sirenix.Serialization.dll
+
+
+
+
+
+
+ libs\UnityEngine.dll
+
+
+ libs\UnityEngine.CoreModule.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Projects/AgainstTheStorm/AgainstTheStorm/Properties/AssemblyInfo.cs b/Projects/AgainstTheStorm/AgainstTheStorm/Properties/AssemblyInfo.cs
index 659f97b..e756fd4 100644
--- a/Projects/AgainstTheStorm/AgainstTheStorm/Properties/AssemblyInfo.cs
+++ b/Projects/AgainstTheStorm/AgainstTheStorm/Properties/AssemblyInfo.cs
@@ -1,35 +1,35 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Regiments")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("Regiments")]
-[assembly: AssemblyCopyright("Copyright © 2023")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("DA9D274E-486F-4F82-84FF-CD9388CB0B09")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Regiments")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Regiments")]
+[assembly: AssemblyCopyright("Copyright © 2023")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("DA9D274E-486F-4F82-84FF-CD9388CB0B09")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
\ No newline at end of file
diff --git a/Projects/AgainstTheStorm/AgainstTheStorm/Transpiler.cs b/Projects/AgainstTheStorm/AgainstTheStorm/Transpiler.cs
index 2bc9b04..9aa461f 100644
--- a/Projects/AgainstTheStorm/AgainstTheStorm/Transpiler.cs
+++ b/Projects/AgainstTheStorm/AgainstTheStorm/Transpiler.cs
@@ -1,274 +1,274 @@
-// using System;
-// using System.Collections.Generic;
-// using System.Linq;
-// using System.Reflection.Emit;
-// using BepInEx;
-// using BepInEx.Configuration;
-// using HarmonyLib;
-// using HarmonyLib.Tools;
-//
-// namespace Regiments {
-// [BepInPlugin(pluginGuid, pluginName, pluginVersion)]
-// public class Main : BaseUnityPlugin {
-// private const string pluginGuid = "CykaMod";
-// private const string pluginName = "CykaMod";
-// private const string pluginVersion = "1.0.0";
-//
-// public static ConfigEntry skillCap;
-// public static ConfigEntry workSpeed;
-// public static ConfigEntry workResult;
-// public static ConfigEntry alwaysCritical;
-// public static ConfigEntry gameSpeed;
-// public static ConfigEntry fans;
-// public static ConfigEntry money;
-//
-// //
-// // private void Awake()
-// // {
-// // configGreeting = Config.Bind("General", // The section under which the option is shown
-// // "GreetingText", // The key of the configuration option in the configuration file
-// // "Hello, world!", // The default value
-// // "A greeting text to show when the game is launched"); // Description of the option to show in the config file
-// //
-//
-// public void Awake() {
-// skillCap = Config.Bind("General", "Skill Cap", 100f);
-// workSpeed = Config.Bind("General", "Work Speed Multiplier", 4f);
-// workResult = Config.Bind("General", "Work Result Multiplier", 4f);
-// alwaysCritical = Config.Bind("General", "Work Always Critical", false);
-// gameSpeed = Config.Bind("General", "Game Speed Multiplier", 3f);
-// fans = Config.Bind("General", "Fans Multiplier", 2);
-// money = Config.Bind("General", "Money Multiplier", 2L);
-//
-// Logger.LogInfo("Cyka mod loaded");
-// HarmonyFileLog.Enabled = true;
-// Harmony harmony = new Harmony(pluginGuid);
-// harmony.PatchAll();
-// var originalMethods = harmony.GetPatchedMethods();
-// Logger.LogInfo("Patched " + originalMethods.Count() + " methods");
-// }
-//
-// public static bool IsMatch(List codes, int index, List matcher) {
-// for (var i = 0; i < matcher.Count; i++) {
-// if (codes[index + i].opcode != matcher[i].opcode) {
-// return false;
-// }
-// }
-// return true;
-// }
-//
-// public static void InsertAt(List codes, int index, List toInsert) {
-// for (var i = 0; i < toInsert.Count; i++) {
-// codes.Insert(index + i, toInsert[i]);
-// }
-// }
-// }
-//
-// [HarmonyPatch(typeof(characterScript), "GetSkillCap")]
-// public class SkillCapPatch {
-// static void Postfix(ref float __result) {
-// // Console.WriteLine("GetSkillCap Postfix! Result is " + __result);
-// __result = Main.skillCap.Value;
-// }
-// }
-//
-// [HarmonyPatch(typeof(characterScript), "GetSkillCap_Skill")]
-// public class SkillCapSkillPatch {
-// static void Postfix(ref float __result) {
-// // Console.WriteLine("GetSkillCap_Skill Postfix! Result is " + __result);
-// __result = Main.skillCap.Value;
-// }
-// }
-//
-// [HarmonyPatch(typeof(characterScript), "GetWorkSpeed")]
-// public class GetWorkSpeedPatch {
-// static void Postfix(ref float __result) {
-// // Console.WriteLine("GetWorkSpeed Postfix! Result is " + __result);
-// __result *= Main.workSpeed.Value;
-// }
-// }
-//
-// [HarmonyPatch(typeof(characterScript), "GetWorkResult")]
-// public class GetWorkResultPatch {
-// static void Prefix(ref float f) {
-// // Console.WriteLine("GetWorkResult Postfix! f is " + f);
-// f *= Main.workResult.Value;
-// }
-// }
-//
-// [HarmonyPatch(typeof(characterScript), "GetCritic")]
-// public class GetCriticPatch {
-// static void Postfix(ref bool __result) {
-// // Console.WriteLine("GetWorkResult Postfix! f is " + f);
-// if (Main.alwaysCritical.Value) {
-// __result = true;
-// }
-// }
-// }
-//
-// [HarmonyPatch(typeof(mainScript), "SetGameSpeed")]
-// public class GameSpeedPatch {
-// static void Prefix(ref float f) {
-// // Console.WriteLine("SetGameSpeed Prefix! Argument is " + f);
-// if (f > 1) {
-// f *= Main.gameSpeed.Value;
-// // Console.WriteLine("Argument modified to " + f);
-// }
-// }
-// }
-//
-// [HarmonyPatch(typeof(characterScript), "Learn")]
-// public static class LearnManyPatch {
-// static IEnumerable Transpiler(IEnumerable instructions) {
-// var codes = new List(instructions);
-//
-// for (var i = 0; i < 5; i++) {
-// if (codes[i].opcode == OpCodes.Ldc_R4) {
-// Console.WriteLine("Changing " + codes[i]);
-// codes[i].operand = (float)codes[i].operand * 64;
-// Console.WriteLine("Changed " + codes[i]);
-// }
-// }
-//
-// return codes.AsEnumerable();
-// }
-// }
-//
-// [HarmonyPatch(typeof(arbeitsmarkt), "ArbeitsmarktUpdaten")]
-// public static class ManyEmployeesPatch {
-// static IEnumerable Transpiler(IEnumerable instructions) {
-// var codes = new List(instructions);
-//
-// for (var i = codes.Count - 1; i > 0; i--) {
-// if (codes[i].opcode == OpCodes.Ldc_I4_3) {
-// Console.WriteLine("Changing " + codes[i]);
-// codes[i] = new CodeInstruction(OpCodes.Ldc_I4, 64);
-// Console.WriteLine("Changed " + codes[i]);
-// break;
-// }
-// }
-//
-// return codes.AsEnumerable();
-// }
-// }
-//
-// // [HarmonyPatch(typeof(AILerp), "MovementUpdate")]
-// public class MovementSpeedPatch {
-// static void Prefix(ref float deltaTime) {
-// Console.WriteLine("MovementUpdate Prefix! deltaTime is " + deltaTime);
-// deltaTime *= 16f;
-// }
-// }
-//
-// // [HarmonyPatch(typeof(movementScript), "Move")]
-// public static class EmployeeMovementSpeedPatch {
-// static IEnumerable Transpiler(IEnumerable instructions) {
-// var codes = new List(instructions);
-//
-// List matcher = new List();
-// matcher.Add(new CodeInstruction(OpCodes.Ldarg_0, null));
-// matcher.Add(new CodeInstruction(OpCodes.Ldfld, null));
-// matcher.Add(new CodeInstruction(OpCodes.Ldarg_0, null));
-// matcher.Add(new CodeInstruction(OpCodes.Ldfld, null));
-// matcher.Add(new CodeInstruction(OpCodes.Mul, null));
-//
-// List patch = new List();
-// patch.Add(new CodeInstruction(OpCodes.Ldc_R4, 8));
-// patch.Add(new CodeInstruction(OpCodes.Mul, null));
-//
-// for (var i = codes.Count - 1; i > 0; i--) {
-// if (Main.IsMatch(codes, i, matcher)) {
-// Main.InsertAt(codes, i + 5, patch);
-// Console.WriteLine("Movement speed patched");
-// for (var j = 0; j < 15; j++) {
-// Console.WriteLine(codes[i + j]);
-// }
-// break;
-// }
-// }
-// Console.WriteLine("Return");
-// return codes.AsEnumerable();
-// }
-// }
-//
-// [HarmonyPatch(typeof(mainScript), "WochenUpdates")]
-// public static class ContractWorkAmount {
-// static IEnumerable Transpiler(IEnumerable instructions) {
-// var codes = new List(instructions);
-// int methodIndex = -1;
-// List pattern = new List();
-//
-// List matcher = new List();
-// matcher.Add(new CodeInstruction(OpCodes.Ldarg_0, null));
-// matcher.Add(new CodeInstruction(OpCodes.Ldfld, null));
-// matcher.Add(new CodeInstruction(OpCodes.Ldc_I4_0, null));
-// matcher.Add(new CodeInstruction(OpCodes.Callvirt, null));
-//
-// for (var i = 0; i < codes.Count; i++) {
-// if (codes[i].operand != null) {
-// if (codes[i].operand.ToString().Contains("UpdateContractWork")) {
-// methodIndex = i;
-// pattern.Add(codes[i - 3]);
-// pattern.Add(codes[i - 2]);
-// pattern.Add(codes[i - 1]);
-// pattern.Add(codes[i]);
-// break;
-// }
-// }
-// }
-// pattern[2].opcode = OpCodes.Ldc_I4_1;
-//
-// for (int i = 0; i < 16; i++) {
-// for (int j = 0; j < pattern.Count; j++) {
-// codes.Insert(methodIndex + i + j, pattern[j]);
-// }
-// }
-//
-// return codes.AsEnumerable();
-// }
-// }
-//
-// [HarmonyPatch(typeof(platformScript), "SellPlayer")]
-// public static class ConsoleProductionReductionPatch {
-// static IEnumerable Transpiler(IEnumerable instructions) {
-// var codes = new List(instructions);
-//
-// List matcher = new List();
-// matcher.Add(new CodeInstruction(OpCodes.Ldarg_0, null));
-// matcher.Add(new CodeInstruction(OpCodes.Ldarg_0, null));
-// matcher.Add(new CodeInstruction(OpCodes.Ldfld, null));
-// matcher.Add(new CodeInstruction(OpCodes.Ldc_R4, null));
-// matcher.Add(new CodeInstruction(OpCodes.Ldc_R4, null));
-// matcher.Add(new CodeInstruction(OpCodes.Call, null));
-// matcher.Add(new CodeInstruction(OpCodes.Add, null));
-// matcher.Add(new CodeInstruction(OpCodes.Stfld, null));
-//
-// for (var i = 0; i < codes.Count; i++) {
-// if (Main.IsMatch(codes, i, matcher)) {
-// codes[i + 3].operand = (float)codes[i + 3].operand * 8f;
-// codes[i + 4].operand = (float)codes[i + 4].operand * 8f;
-// Console.WriteLine("ConsoleProductionReductionPatch patched");
-// break;
-// }
-// }
-//
-// return codes.AsEnumerable();
-// }
-// }
-//
-// [HarmonyPatch(typeof(mainScript), "AddFans")]
-// public static class AddFansPatch {
-// static void Prefix(ref int i) {
-// // Console.WriteLine("GetWorkResult Postfix! f is " + f);
-// i *= Main.fans.Value;
-// }
-// }
-//
-// [HarmonyPatch(typeof(mainScript), "Earn")]
-// public static class AddMoneyPatch {
-// static void Prefix(ref long amount) {
-// // Console.WriteLine("GetWorkResult Postfix! f is " + f);
-// amount *= Main.money.Value;
-// }
-// }
-// }
+// using System;
+// using System.Collections.Generic;
+// using System.Linq;
+// using System.Reflection.Emit;
+// using BepInEx;
+// using BepInEx.Configuration;
+// using HarmonyLib;
+// using HarmonyLib.Tools;
+//
+// namespace Regiments {
+// [BepInPlugin(pluginGuid, pluginName, pluginVersion)]
+// public class Main : BaseUnityPlugin {
+// private const string pluginGuid = "CykaMod";
+// private const string pluginName = "CykaMod";
+// private const string pluginVersion = "1.0.0";
+//
+// public static ConfigEntry skillCap;
+// public static ConfigEntry workSpeed;
+// public static ConfigEntry workResult;
+// public static ConfigEntry alwaysCritical;
+// public static ConfigEntry gameSpeed;
+// public static ConfigEntry fans;
+// public static ConfigEntry money;
+//
+// //
+// // private void Awake()
+// // {
+// // configGreeting = Config.Bind("General", // The section under which the option is shown
+// // "GreetingText", // The key of the configuration option in the configuration file
+// // "Hello, world!", // The default value
+// // "A greeting text to show when the game is launched"); // Description of the option to show in the config file
+// //
+//
+// public void Awake() {
+// skillCap = Config.Bind("General", "Skill Cap", 100f);
+// workSpeed = Config.Bind("General", "Work Speed Multiplier", 4f);
+// workResult = Config.Bind("General", "Work Result Multiplier", 4f);
+// alwaysCritical = Config.Bind("General", "Work Always Critical", false);
+// gameSpeed = Config.Bind("General", "Game Speed Multiplier", 3f);
+// fans = Config.Bind("General", "Fans Multiplier", 2);
+// money = Config.Bind("General", "Money Multiplier", 2L);
+//
+// Logger.LogInfo("Cyka mod loaded");
+// HarmonyFileLog.Enabled = true;
+// Harmony harmony = new Harmony(pluginGuid);
+// harmony.PatchAll();
+// var originalMethods = harmony.GetPatchedMethods();
+// Logger.LogInfo("Patched " + originalMethods.Count() + " methods");
+// }
+//
+// public static bool IsMatch(List codes, int index, List matcher) {
+// for (var i = 0; i < matcher.Count; i++) {
+// if (codes[index + i].opcode != matcher[i].opcode) {
+// return false;
+// }
+// }
+// return true;
+// }
+//
+// public static void InsertAt(List codes, int index, List toInsert) {
+// for (var i = 0; i < toInsert.Count; i++) {
+// codes.Insert(index + i, toInsert[i]);
+// }
+// }
+// }
+//
+// [HarmonyPatch(typeof(characterScript), "GetSkillCap")]
+// public class SkillCapPatch {
+// static void Postfix(ref float __result) {
+// // Console.WriteLine("GetSkillCap Postfix! Result is " + __result);
+// __result = Main.skillCap.Value;
+// }
+// }
+//
+// [HarmonyPatch(typeof(characterScript), "GetSkillCap_Skill")]
+// public class SkillCapSkillPatch {
+// static void Postfix(ref float __result) {
+// // Console.WriteLine("GetSkillCap_Skill Postfix! Result is " + __result);
+// __result = Main.skillCap.Value;
+// }
+// }
+//
+// [HarmonyPatch(typeof(characterScript), "GetWorkSpeed")]
+// public class GetWorkSpeedPatch {
+// static void Postfix(ref float __result) {
+// // Console.WriteLine("GetWorkSpeed Postfix! Result is " + __result);
+// __result *= Main.workSpeed.Value;
+// }
+// }
+//
+// [HarmonyPatch(typeof(characterScript), "GetWorkResult")]
+// public class GetWorkResultPatch {
+// static void Prefix(ref float f) {
+// // Console.WriteLine("GetWorkResult Postfix! f is " + f);
+// f *= Main.workResult.Value;
+// }
+// }
+//
+// [HarmonyPatch(typeof(characterScript), "GetCritic")]
+// public class GetCriticPatch {
+// static void Postfix(ref bool __result) {
+// // Console.WriteLine("GetWorkResult Postfix! f is " + f);
+// if (Main.alwaysCritical.Value) {
+// __result = true;
+// }
+// }
+// }
+//
+// [HarmonyPatch(typeof(mainScript), "SetGameSpeed")]
+// public class GameSpeedPatch {
+// static void Prefix(ref float f) {
+// // Console.WriteLine("SetGameSpeed Prefix! Argument is " + f);
+// if (f > 1) {
+// f *= Main.gameSpeed.Value;
+// // Console.WriteLine("Argument modified to " + f);
+// }
+// }
+// }
+//
+// [HarmonyPatch(typeof(characterScript), "Learn")]
+// public static class LearnManyPatch {
+// static IEnumerable Transpiler(IEnumerable instructions) {
+// var codes = new List(instructions);
+//
+// for (var i = 0; i < 5; i++) {
+// if (codes[i].opcode == OpCodes.Ldc_R4) {
+// Console.WriteLine("Changing " + codes[i]);
+// codes[i].operand = (float)codes[i].operand * 64;
+// Console.WriteLine("Changed " + codes[i]);
+// }
+// }
+//
+// return codes.AsEnumerable();
+// }
+// }
+//
+// [HarmonyPatch(typeof(arbeitsmarkt), "ArbeitsmarktUpdaten")]
+// public static class ManyEmployeesPatch {
+// static IEnumerable Transpiler(IEnumerable instructions) {
+// var codes = new List(instructions);
+//
+// for (var i = codes.Count - 1; i > 0; i--) {
+// if (codes[i].opcode == OpCodes.Ldc_I4_3) {
+// Console.WriteLine("Changing " + codes[i]);
+// codes[i] = new CodeInstruction(OpCodes.Ldc_I4, 64);
+// Console.WriteLine("Changed " + codes[i]);
+// break;
+// }
+// }
+//
+// return codes.AsEnumerable();
+// }
+// }
+//
+// // [HarmonyPatch(typeof(AILerp), "MovementUpdate")]
+// public class MovementSpeedPatch {
+// static void Prefix(ref float deltaTime) {
+// Console.WriteLine("MovementUpdate Prefix! deltaTime is " + deltaTime);
+// deltaTime *= 16f;
+// }
+// }
+//
+// // [HarmonyPatch(typeof(movementScript), "Move")]
+// public static class EmployeeMovementSpeedPatch {
+// static IEnumerable Transpiler(IEnumerable instructions) {
+// var codes = new List(instructions);
+//
+// List matcher = new List();
+// matcher.Add(new CodeInstruction(OpCodes.Ldarg_0, null));
+// matcher.Add(new CodeInstruction(OpCodes.Ldfld, null));
+// matcher.Add(new CodeInstruction(OpCodes.Ldarg_0, null));
+// matcher.Add(new CodeInstruction(OpCodes.Ldfld, null));
+// matcher.Add(new CodeInstruction(OpCodes.Mul, null));
+//
+// List patch = new List();
+// patch.Add(new CodeInstruction(OpCodes.Ldc_R4, 8));
+// patch.Add(new CodeInstruction(OpCodes.Mul, null));
+//
+// for (var i = codes.Count - 1; i > 0; i--) {
+// if (Main.IsMatch(codes, i, matcher)) {
+// Main.InsertAt(codes, i + 5, patch);
+// Console.WriteLine("Movement speed patched");
+// for (var j = 0; j < 15; j++) {
+// Console.WriteLine(codes[i + j]);
+// }
+// break;
+// }
+// }
+// Console.WriteLine("Return");
+// return codes.AsEnumerable();
+// }
+// }
+//
+// [HarmonyPatch(typeof(mainScript), "WochenUpdates")]
+// public static class ContractWorkAmount {
+// static IEnumerable Transpiler(IEnumerable instructions) {
+// var codes = new List(instructions);
+// int methodIndex = -1;
+// List pattern = new List();
+//
+// List matcher = new List();
+// matcher.Add(new CodeInstruction(OpCodes.Ldarg_0, null));
+// matcher.Add(new CodeInstruction(OpCodes.Ldfld, null));
+// matcher.Add(new CodeInstruction(OpCodes.Ldc_I4_0, null));
+// matcher.Add(new CodeInstruction(OpCodes.Callvirt, null));
+//
+// for (var i = 0; i < codes.Count; i++) {
+// if (codes[i].operand != null) {
+// if (codes[i].operand.ToString().Contains("UpdateContractWork")) {
+// methodIndex = i;
+// pattern.Add(codes[i - 3]);
+// pattern.Add(codes[i - 2]);
+// pattern.Add(codes[i - 1]);
+// pattern.Add(codes[i]);
+// break;
+// }
+// }
+// }
+// pattern[2].opcode = OpCodes.Ldc_I4_1;
+//
+// for (int i = 0; i < 16; i++) {
+// for (int j = 0; j < pattern.Count; j++) {
+// codes.Insert(methodIndex + i + j, pattern[j]);
+// }
+// }
+//
+// return codes.AsEnumerable();
+// }
+// }
+//
+// [HarmonyPatch(typeof(platformScript), "SellPlayer")]
+// public static class ConsoleProductionReductionPatch {
+// static IEnumerable Transpiler(IEnumerable instructions) {
+// var codes = new List(instructions);
+//
+// List matcher = new List();
+// matcher.Add(new CodeInstruction(OpCodes.Ldarg_0, null));
+// matcher.Add(new CodeInstruction(OpCodes.Ldarg_0, null));
+// matcher.Add(new CodeInstruction(OpCodes.Ldfld, null));
+// matcher.Add(new CodeInstruction(OpCodes.Ldc_R4, null));
+// matcher.Add(new CodeInstruction(OpCodes.Ldc_R4, null));
+// matcher.Add(new CodeInstruction(OpCodes.Call, null));
+// matcher.Add(new CodeInstruction(OpCodes.Add, null));
+// matcher.Add(new CodeInstruction(OpCodes.Stfld, null));
+//
+// for (var i = 0; i < codes.Count; i++) {
+// if (Main.IsMatch(codes, i, matcher)) {
+// codes[i + 3].operand = (float)codes[i + 3].operand * 8f;
+// codes[i + 4].operand = (float)codes[i + 4].operand * 8f;
+// Console.WriteLine("ConsoleProductionReductionPatch patched");
+// break;
+// }
+// }
+//
+// return codes.AsEnumerable();
+// }
+// }
+//
+// [HarmonyPatch(typeof(mainScript), "AddFans")]
+// public static class AddFansPatch {
+// static void Prefix(ref int i) {
+// // Console.WriteLine("GetWorkResult Postfix! f is " + f);
+// i *= Main.fans.Value;
+// }
+// }
+//
+// [HarmonyPatch(typeof(mainScript), "Earn")]
+// public static class AddMoneyPatch {
+// static void Prefix(ref long amount) {
+// // Console.WriteLine("GetWorkResult Postfix! f is " + f);
+// amount *= Main.money.Value;
+// }
+// }
+// }
diff --git a/Projects/AgainstTheStorm/AgainstTheStorm/obj/Debug/AgainstTheStorm.csproj.CoreCompileInputs.cache b/Projects/AgainstTheStorm/AgainstTheStorm/obj/Debug/AgainstTheStorm.csproj.CoreCompileInputs.cache
index 7286ee8..b65fb04 100644
--- a/Projects/AgainstTheStorm/AgainstTheStorm/obj/Debug/AgainstTheStorm.csproj.CoreCompileInputs.cache
+++ b/Projects/AgainstTheStorm/AgainstTheStorm/obj/Debug/AgainstTheStorm.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-151279b84fdcbaafd9f0fcb1f7663654a57733b1df3836fc5634a1051692a2db
+151279b84fdcbaafd9f0fcb1f7663654a57733b1df3836fc5634a1051692a2db
diff --git a/Projects/AgainstTheStorm/AgainstTheStorm/obj/Debug/AgainstTheStorm.csproj.FileListAbsolute.txt b/Projects/AgainstTheStorm/AgainstTheStorm/obj/Debug/AgainstTheStorm.csproj.FileListAbsolute.txt
index ad193b7..6c830c0 100644
--- a/Projects/AgainstTheStorm/AgainstTheStorm/obj/Debug/AgainstTheStorm.csproj.FileListAbsolute.txt
+++ b/Projects/AgainstTheStorm/AgainstTheStorm/obj/Debug/AgainstTheStorm.csproj.FileListAbsolute.txt
@@ -1,14 +1,14 @@
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Debug\AgainstTheStorm.dll
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Debug\AgainstTheStorm.pdb
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Debug\0Harmony.dll
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Debug\Assembly-CSharp.dll
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Debug\BepInEx.dll
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Debug\ConfigurationManager.dll
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Debug\Sirenix.Serialization.dll
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Debug\UnityEngine.CoreModule.dll
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Debug\UnityEngine.dll
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Debug\AgainstTheStorm.csproj.AssemblyReference.cache
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Debug\AgainstTheStorm.csproj.CoreCompileInputs.cache
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Debug\AgainstTheStorm.csproj.CopyComplete
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Debug\AgainstTheStorm.dll
-C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Debug\AgainstTheStorm.pdb
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Debug\AgainstTheStorm.dll
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Debug\AgainstTheStorm.pdb
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Debug\0Harmony.dll
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Debug\Assembly-CSharp.dll
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Debug\BepInEx.dll
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Debug\ConfigurationManager.dll
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Debug\Sirenix.Serialization.dll
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Debug\UnityEngine.CoreModule.dll
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\bin\Debug\UnityEngine.dll
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Debug\AgainstTheStorm.csproj.AssemblyReference.cache
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Debug\AgainstTheStorm.csproj.CoreCompileInputs.cache
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Debug\AgainstTheStorm.csproj.CopyComplete
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Debug\AgainstTheStorm.dll
+C:\Users\Administrator\Seafile\Jetbrains\RiderProjects\Bepinex\Projects\AgainstTheStorm\AgainstTheStorm\obj\Debug\AgainstTheStorm.pdb
diff --git a/Projects/CaptainOfIndustry/CaptainOfIndustry.sln b/Projects/CaptainOfIndustry/CaptainOfIndustry.sln
index 850345b..904d957 100644
--- a/Projects/CaptainOfIndustry/CaptainOfIndustry.sln
+++ b/Projects/CaptainOfIndustry/CaptainOfIndustry.sln
@@ -1,16 +1,16 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CaptainOfIndustry", "CaptainOfIndustry\CaptainOfIndustry.csproj", "{EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CaptainOfIndustry", "CaptainOfIndustry\CaptainOfIndustry.csproj", "{EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+EndGlobal
diff --git a/Projects/CaptainOfIndustry/CaptainOfIndustry/CaptainOfIndustry.csproj b/Projects/CaptainOfIndustry/CaptainOfIndustry/CaptainOfIndustry.csproj
index 1ed6736..f92b93e 100644
--- a/Projects/CaptainOfIndustry/CaptainOfIndustry/CaptainOfIndustry.csproj
+++ b/Projects/CaptainOfIndustry/CaptainOfIndustry/CaptainOfIndustry.csproj
@@ -1,97 +1,97 @@
-
-
-
-
- Debug
- AnyCPU
- {EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}
- Library
- Properties
- CaptainOfIndustry
- CaptainOfIndustry
- v4.8
- 512
-
-
- AnyCPU
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- AnyCPU
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
-
-
-
-
- ..\libs\0Harmony.dll
-
-
- ..\libs\Assembly-CSharp.dll
-
-
- ..\libs\BepInEx.dll
-
-
- ..\libs\ConfigurationManager.dll
-
-
- ..\libs\Mafi.dll
-
-
- ..\libs\Mafi.Base.dll
-
-
- ..\libs\Mafi.Core.dll
-
-
- ..\libs\Mafi.ModsAuthoringSupport.dll
-
-
- ..\libs\Mafi.Unity.dll
-
-
- ..\libs\Sirenix.OdinInspector.Attributes.dll
-
-
- ..\libs\Sirenix.OdinInspector.CompatibilityLayer.dll
-
-
- ..\libs\Sirenix.Serialization.dll
-
-
- ..\libs\Sirenix.Serialization.Config.dll
-
-
- ..\libs\Sirenix.Utilities.dll
-
-
- ..\libs\UnityEngine.dll
-
-
- ..\libs\UnityEngine.CoreModule.dll
-
-
-
-
+
+
+
+
+ Debug
+ AnyCPU
+ {EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}
+ Library
+ Properties
+ CaptainOfIndustry
+ CaptainOfIndustry
+ v4.8
+ 512
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+ ..\libs\0Harmony.dll
+
+
+ ..\libs\Assembly-CSharp.dll
+
+
+ ..\libs\BepInEx.dll
+
+
+ ..\libs\ConfigurationManager.dll
+
+
+ ..\libs\Mafi.dll
+
+
+ ..\libs\Mafi.Base.dll
+
+
+ ..\libs\Mafi.Core.dll
+
+
+ ..\libs\Mafi.ModsAuthoringSupport.dll
+
+
+ ..\libs\Mafi.Unity.dll
+
+
+ ..\libs\Sirenix.OdinInspector.Attributes.dll
+
+
+ ..\libs\Sirenix.OdinInspector.CompatibilityLayer.dll
+
+
+ ..\libs\Sirenix.Serialization.dll
+
+
+ ..\libs\Sirenix.Serialization.Config.dll
+
+
+ ..\libs\Sirenix.Utilities.dll
+
+
+ ..\libs\UnityEngine.dll
+
+
+ ..\libs\UnityEngine.CoreModule.dll
+
+
+
+
\ No newline at end of file
diff --git a/Projects/CaptainOfIndustry/CaptainOfIndustry/Properties/AssemblyInfo.cs b/Projects/CaptainOfIndustry/CaptainOfIndustry/Properties/AssemblyInfo.cs
index f966ba7..78bdafe 100644
--- a/Projects/CaptainOfIndustry/CaptainOfIndustry/Properties/AssemblyInfo.cs
+++ b/Projects/CaptainOfIndustry/CaptainOfIndustry/Properties/AssemblyInfo.cs
@@ -1,35 +1,35 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("CaptainOfIndustry")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("CaptainOfIndustry")]
-[assembly: AssemblyCopyright("Copyright © 2023")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("CaptainOfIndustry")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("CaptainOfIndustry")]
+[assembly: AssemblyCopyright("Copyright © 2023")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/Projects/Escapists2/Escapists2.sln b/Projects/Escapists2/Escapists2.sln
index b650b64..7ef7abe 100644
--- a/Projects/Escapists2/Escapists2.sln
+++ b/Projects/Escapists2/Escapists2.sln
@@ -1,16 +1,16 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Escapists2", "Escapists2\Escapists2.csproj", "{20F983A2-1743-4E96-BFDB-CF5A4F134D2D}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {20F983A2-1743-4E96-BFDB-CF5A4F134D2D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {20F983A2-1743-4E96-BFDB-CF5A4F134D2D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {20F983A2-1743-4E96-BFDB-CF5A4F134D2D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {20F983A2-1743-4E96-BFDB-CF5A4F134D2D}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Escapists2", "Escapists2\Escapists2.csproj", "{20F983A2-1743-4E96-BFDB-CF5A4F134D2D}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {20F983A2-1743-4E96-BFDB-CF5A4F134D2D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {20F983A2-1743-4E96-BFDB-CF5A4F134D2D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {20F983A2-1743-4E96-BFDB-CF5A4F134D2D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {20F983A2-1743-4E96-BFDB-CF5A4F134D2D}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+EndGlobal
diff --git a/Projects/Escapists2/Escapists2/Class1.cs b/Projects/Escapists2/Escapists2/Class1.cs
index ce6989f..82b435f 100644
--- a/Projects/Escapists2/Escapists2/Class1.cs
+++ b/Projects/Escapists2/Escapists2/Class1.cs
@@ -1,95 +1,95 @@
-using System.Linq;
-using BepInEx;
-using BepInEx.Configuration;
-using HarmonyLib;
-using HarmonyLib.Tools;
-
-namespace Escapists2 {
- [BepInPlugin(pluginGuid, pluginName, pluginVersion)]
- public class Main : BaseUnityPlugin {
- private const string pluginGuid = "CykaMod";
- private const string pluginName = "CykaMod";
- private const string pluginVersion = "1.0.0";
-
- public static ConfigEntry xpMultiplier;
-
- public void Awake() {
- xpMultiplier = Config.Bind("General", "XP Multiplier", 1f, new ConfigDescription("XP Multiplier", new AcceptableValueRange(1f, 32f)));
- // moneyMultiplier = Config.Bind("General", "Money Multiplier", 1f,
- // new ConfigDescription("Money Multiplier", new AcceptableValueRange(1f, 32f)));
- // energyGenMultiplier = Config.Bind("General", "Energy Generation Multiplier", 1f,
- // new ConfigDescription("Energy Generation Multiplier", new AcceptableValueRange(1f, 64f)));
- // heartbeatIntervalMultiplier = Config.Bind("General", "Heartbeat Interval Multiplier", 1f,
- // new ConfigDescription("Heartbeat Interval Multiplier", new AcceptableValueRange(0.1f, 2f)));
- //
- // shootingSpeedMultiplier = Config.Bind("Weapons", "Shooting Speed Multiplier", 1f,
- // new ConfigDescription("Shooting Speed Multiplier", new AcceptableValueRange(0.2f, 8f)));
- // muzzleVelocityMultiplier = Config.Bind("Weapons", "Muzzle Velocity Multiplier", 1f,
- // new ConfigDescription("Muzzle Velocity Multiplier", new AcceptableValueRange(0.2f, 32f)));
- // seekingProjectileVisionConeAngleMultiplier = Config.Bind("Weapons", "Seeking Projectile Cone Vision Angle Multiplier", 1f,
- // new ConfigDescription("Seeking Projectile Cone Vision Angle Multiplier", new AcceptableValueRange(0.2f, 32f)));
- // seekingProjectileVisionRangeMultiplier = Config.Bind("Weapons", "Seeking Projectile Vision Range Multiplier", 1f,
- // new ConfigDescription("Seeking Projectile Vision Range Multiplier", new AcceptableValueRange(0.2f, 32f)));
- // seekingProjectileTurningSpeedMultiplier = Config.Bind("Weapons", "Seeking Projectile Turn Speed Multiplier", 1f,
- // new ConfigDescription("Seeking Projectile Turn Speed Multiplier", new AcceptableValueRange(0.2f, 32f)));
- //
- // magnetStrenghtMultiplier = Config.Bind("Attractors", "Magnet Strength Multiplier", 1f,
- // new ConfigDescription("Magnet Strength Multiplier", new AcceptableValueRange(1f, 16f)));
- // magnetRadiusMultiplier = Config.Bind("Attractors", "Magnet Radius Multiplier", 1f,
- // new ConfigDescription("Magnet Radius Multiplier", new AcceptableValueRange(1f, 16f)));
- // beamStrenghtMultiplier = Config.Bind("Attractors", "Beam Strength Multiplier", 1f,
- // new ConfigDescription("Beam Strength Multiplier", new AcceptableValueRange(1f, 16f)));
- // beamRadiusMultiplier = Config.Bind("Attractors", "Beam Radius Multiplier", 1f,
- // new ConfigDescription("Beam Radius Multiplier", new AcceptableValueRange(1f, 16f)));
- //
- // wirelessChargingRadiusMultiplier = Config.Bind("Power", "Wireless Charger Radius Multiplier", 1f,
- // new ConfigDescription("Wireless Charger Radius Multiplier", new AcceptableValueRange(0.2f, 16f)));
- // wirelessChargingArcFiringIntervalMultiplier = Config.Bind("Power", "Wireless Charger Arc Firing Interval", 1f,
- // new ConfigDescription("Wireless Charger Arc Firing Interval", new AcceptableValueRange(0.02f, 16f)));
- // wirelessChargingPowerPerArcMultiplier = Config.Bind("Power", "Wireless Charger Power Per Arc", 1f,
- // new ConfigDescription("Wireless Charger Power Per Arc", new AcceptableValueRange(0.2f, 16f)));
- //
- // fuelTankRefillMultiplier = Config.Bind("Propulsion", "Fuel Tank Refill Rate Multiplier", 1f,
- // new ConfigDescription("Fuel Tank Refill Rate Multiplier", new AcceptableValueRange(1f, 32f)));
- // fuelTankCapacityMultiplier = Config.Bind("Propulsion", "Fuel Tank Capacity Multiplier", 1f,
- // new ConfigDescription("Fuel Tank Capacity Multiplier", new AcceptableValueRange(1f, 32f)));
- // wheelTorqueMultiplier = Config.Bind("Propulsion", "Wheel Torque Multiplier", 1f,
- // new ConfigDescription("Wheel Torque Multiplier", new AcceptableValueRange(1f, 32f)));
- // wheelSpeedMultiplier = Config.Bind("Propulsion", "Wheel Max RPM Multiplier", 1f,
- // new ConfigDescription("Wheel Max RPM Multiplier", new AcceptableValueRange(1f, 32f)));
- // jetThrustMultiplier = Config.Bind("Propulsion", "Jet Thrust Multiplier", 1f,
- // new ConfigDescription("Jet Thrust Multiplier", new AcceptableValueRange(1f, 32f)));
- //
- // minerGroundArea = Config.Bind("Production", "Miner Ground Deposit Scan Area", 1f,
- // new ConfigDescription("Miner Ground Deposit Scan Area", new AcceptableValueRange(1f, 32f)));
- // minerMiningSpeed = Config.Bind("Production", "Miner Mining Speed", 1f,
- // new ConfigDescription("Miner Mining Speed", new AcceptableValueRange(1f, 32f)));
- //
- // allProjectilesHoming = Config.Bind("General", "Make All Projectiles Home", false);
-
- // shootingSpeedMultiplier.SettingChanged += (sender, args) => WeaponPropertiesManager.DoPatch();
- // energyGenMultiplier.SettingChanged += (sender, args) => GeneratorPropertiesManager.DoPatch();
- // magnetStrenghtMultiplier.SettingChanged += (sender, args) => MagnetPropertiesManager.DoPatch();
- // magnetRadiusMultiplier.SettingChanged += (sender, args) => MagnetPropertiesManager.DoPatch();
- // beamStrenghtMultiplier.SettingChanged += (sender, args) => BeamPropertiesManager.DoPatch();
- // beamRadiusMultiplier.SettingChanged += (sender, args) => BeamPropertiesManager.DoPatch();
- // fuelTankRefillMultiplier.SettingChanged += (sender, args) => FuelPropertiesManager.DoPatch();
- // fuelTankCapacityMultiplier.SettingChanged += (sender, args) => FuelPropertiesManager.DoPatch();
- // wheelTorqueMultiplier.SettingChanged += (sender, args) => WheelPropertiesManager.DoPatch();
- // wheelSpeedMultiplier.SettingChanged += (sender, args) => WheelPropertiesManager.DoPatch();
- // jetThrustMultiplier.SettingChanged += (sender, args) => ThrusterPropertiesManager.DoPatch();
- // minerGroundArea.SettingChanged += (sender, args) => MinerPropertiesManager.DoPatch();
- // minerMiningSpeed.SettingChanged += (sender, args) => MinerPropertiesManager.DoPatch();
- // wirelessChargingPowerPerArcMultiplier.SettingChanged += (sender, args) => WirelessChargerPropertiesManager.DoPatch();
- // wirelessChargingArcFiringIntervalMultiplier.SettingChanged += (sender, args) => WirelessChargerPropertiesManager.DoPatch();
- // wirelessChargingRadiusMultiplier.SettingChanged += (sender, args) => WirelessChargerPropertiesManager.DoPatch();
-
- Logger.LogInfo("Cyka mod loaded");
- HarmonyFileLog.Enabled = true;
- Harmony harmony = new Harmony(pluginGuid);
- harmony.PatchAll();
- var originalMethods = harmony.GetPatchedMethods();
- Logger.LogInfo("Patched " + originalMethods.Count() + " methods");
- }
- }
+using System.Linq;
+using BepInEx;
+using BepInEx.Configuration;
+using HarmonyLib;
+using HarmonyLib.Tools;
+
+namespace Escapists2 {
+ [BepInPlugin(pluginGuid, pluginName, pluginVersion)]
+ public class Main : BaseUnityPlugin {
+ private const string pluginGuid = "CykaMod";
+ private const string pluginName = "CykaMod";
+ private const string pluginVersion = "1.0.0";
+
+ public static ConfigEntry xpMultiplier;
+
+ public void Awake() {
+ xpMultiplier = Config.Bind("General", "XP Multiplier", 1f, new ConfigDescription("XP Multiplier", new AcceptableValueRange(1f, 32f)));
+ // moneyMultiplier = Config.Bind("General", "Money Multiplier", 1f,
+ // new ConfigDescription("Money Multiplier", new AcceptableValueRange(1f, 32f)));
+ // energyGenMultiplier = Config.Bind("General", "Energy Generation Multiplier", 1f,
+ // new ConfigDescription("Energy Generation Multiplier", new AcceptableValueRange(1f, 64f)));
+ // heartbeatIntervalMultiplier = Config.Bind("General", "Heartbeat Interval Multiplier", 1f,
+ // new ConfigDescription("Heartbeat Interval Multiplier", new AcceptableValueRange(0.1f, 2f)));
+ //
+ // shootingSpeedMultiplier = Config.Bind("Weapons", "Shooting Speed Multiplier", 1f,
+ // new ConfigDescription("Shooting Speed Multiplier", new AcceptableValueRange(0.2f, 8f)));
+ // muzzleVelocityMultiplier = Config.Bind("Weapons", "Muzzle Velocity Multiplier", 1f,
+ // new ConfigDescription("Muzzle Velocity Multiplier", new AcceptableValueRange(0.2f, 32f)));
+ // seekingProjectileVisionConeAngleMultiplier = Config.Bind("Weapons", "Seeking Projectile Cone Vision Angle Multiplier", 1f,
+ // new ConfigDescription("Seeking Projectile Cone Vision Angle Multiplier", new AcceptableValueRange(0.2f, 32f)));
+ // seekingProjectileVisionRangeMultiplier = Config.Bind("Weapons", "Seeking Projectile Vision Range Multiplier", 1f,
+ // new ConfigDescription("Seeking Projectile Vision Range Multiplier", new AcceptableValueRange(0.2f, 32f)));
+ // seekingProjectileTurningSpeedMultiplier = Config.Bind("Weapons", "Seeking Projectile Turn Speed Multiplier", 1f,
+ // new ConfigDescription("Seeking Projectile Turn Speed Multiplier", new AcceptableValueRange(0.2f, 32f)));
+ //
+ // magnetStrenghtMultiplier = Config.Bind("Attractors", "Magnet Strength Multiplier", 1f,
+ // new ConfigDescription("Magnet Strength Multiplier", new AcceptableValueRange(1f, 16f)));
+ // magnetRadiusMultiplier = Config.Bind("Attractors", "Magnet Radius Multiplier", 1f,
+ // new ConfigDescription("Magnet Radius Multiplier", new AcceptableValueRange(1f, 16f)));
+ // beamStrenghtMultiplier = Config.Bind("Attractors", "Beam Strength Multiplier", 1f,
+ // new ConfigDescription("Beam Strength Multiplier", new AcceptableValueRange(1f, 16f)));
+ // beamRadiusMultiplier = Config.Bind("Attractors", "Beam Radius Multiplier", 1f,
+ // new ConfigDescription("Beam Radius Multiplier", new AcceptableValueRange(1f, 16f)));
+ //
+ // wirelessChargingRadiusMultiplier = Config.Bind("Power", "Wireless Charger Radius Multiplier", 1f,
+ // new ConfigDescription("Wireless Charger Radius Multiplier", new AcceptableValueRange(0.2f, 16f)));
+ // wirelessChargingArcFiringIntervalMultiplier = Config.Bind("Power", "Wireless Charger Arc Firing Interval", 1f,
+ // new ConfigDescription("Wireless Charger Arc Firing Interval", new AcceptableValueRange(0.02f, 16f)));
+ // wirelessChargingPowerPerArcMultiplier = Config.Bind("Power", "Wireless Charger Power Per Arc", 1f,
+ // new ConfigDescription("Wireless Charger Power Per Arc", new AcceptableValueRange(0.2f, 16f)));
+ //
+ // fuelTankRefillMultiplier = Config.Bind("Propulsion", "Fuel Tank Refill Rate Multiplier", 1f,
+ // new ConfigDescription("Fuel Tank Refill Rate Multiplier", new AcceptableValueRange(1f, 32f)));
+ // fuelTankCapacityMultiplier = Config.Bind("Propulsion", "Fuel Tank Capacity Multiplier", 1f,
+ // new ConfigDescription("Fuel Tank Capacity Multiplier", new AcceptableValueRange(1f, 32f)));
+ // wheelTorqueMultiplier = Config.Bind("Propulsion", "Wheel Torque Multiplier", 1f,
+ // new ConfigDescription("Wheel Torque Multiplier", new AcceptableValueRange(1f, 32f)));
+ // wheelSpeedMultiplier = Config.Bind("Propulsion", "Wheel Max RPM Multiplier", 1f,
+ // new ConfigDescription("Wheel Max RPM Multiplier", new AcceptableValueRange(1f, 32f)));
+ // jetThrustMultiplier = Config.Bind("Propulsion", "Jet Thrust Multiplier", 1f,
+ // new ConfigDescription("Jet Thrust Multiplier", new AcceptableValueRange(1f, 32f)));
+ //
+ // minerGroundArea = Config.Bind("Production", "Miner Ground Deposit Scan Area", 1f,
+ // new ConfigDescription("Miner Ground Deposit Scan Area", new AcceptableValueRange(1f, 32f)));
+ // minerMiningSpeed = Config.Bind("Production", "Miner Mining Speed", 1f,
+ // new ConfigDescription("Miner Mining Speed", new AcceptableValueRange(1f, 32f)));
+ //
+ // allProjectilesHoming = Config.Bind("General", "Make All Projectiles Home", false);
+
+ // shootingSpeedMultiplier.SettingChanged += (sender, args) => WeaponPropertiesManager.DoPatch();
+ // energyGenMultiplier.SettingChanged += (sender, args) => GeneratorPropertiesManager.DoPatch();
+ // magnetStrenghtMultiplier.SettingChanged += (sender, args) => MagnetPropertiesManager.DoPatch();
+ // magnetRadiusMultiplier.SettingChanged += (sender, args) => MagnetPropertiesManager.DoPatch();
+ // beamStrenghtMultiplier.SettingChanged += (sender, args) => BeamPropertiesManager.DoPatch();
+ // beamRadiusMultiplier.SettingChanged += (sender, args) => BeamPropertiesManager.DoPatch();
+ // fuelTankRefillMultiplier.SettingChanged += (sender, args) => FuelPropertiesManager.DoPatch();
+ // fuelTankCapacityMultiplier.SettingChanged += (sender, args) => FuelPropertiesManager.DoPatch();
+ // wheelTorqueMultiplier.SettingChanged += (sender, args) => WheelPropertiesManager.DoPatch();
+ // wheelSpeedMultiplier.SettingChanged += (sender, args) => WheelPropertiesManager.DoPatch();
+ // jetThrustMultiplier.SettingChanged += (sender, args) => ThrusterPropertiesManager.DoPatch();
+ // minerGroundArea.SettingChanged += (sender, args) => MinerPropertiesManager.DoPatch();
+ // minerMiningSpeed.SettingChanged += (sender, args) => MinerPropertiesManager.DoPatch();
+ // wirelessChargingPowerPerArcMultiplier.SettingChanged += (sender, args) => WirelessChargerPropertiesManager.DoPatch();
+ // wirelessChargingArcFiringIntervalMultiplier.SettingChanged += (sender, args) => WirelessChargerPropertiesManager.DoPatch();
+ // wirelessChargingRadiusMultiplier.SettingChanged += (sender, args) => WirelessChargerPropertiesManager.DoPatch();
+
+ Logger.LogInfo("Cyka mod loaded");
+ HarmonyFileLog.Enabled = true;
+ Harmony harmony = new Harmony(pluginGuid);
+ harmony.PatchAll();
+ var originalMethods = harmony.GetPatchedMethods();
+ Logger.LogInfo("Patched " + originalMethods.Count() + " methods");
+ }
+ }
}
\ No newline at end of file
diff --git a/Projects/Escapists2/Escapists2/Escapists2.csproj b/Projects/Escapists2/Escapists2/Escapists2.csproj
index 8ef58ff..d608577 100644
--- a/Projects/Escapists2/Escapists2/Escapists2.csproj
+++ b/Projects/Escapists2/Escapists2/Escapists2.csproj
@@ -1,69 +1,69 @@
-
-
-
-
- Debug
- AnyCPU
- {20F983A2-1743-4E96-BFDB-CF5A4F134D2D}
- Library
- Properties
- Escapists2
- Escapists2
- v4.0
- 512
-
-
- AnyCPU
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- AnyCPU
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
- libs\0Harmony.dll
-
-
- libs\Assembly-CSharp.dll
-
-
- libs\BepInEx.dll
-
-
- libs\ConfigurationManager.dll
-
-
-
-
-
-
- libs\UnityEngine.dll
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ Debug
+ AnyCPU
+ {20F983A2-1743-4E96-BFDB-CF5A4F134D2D}
+ Library
+ Properties
+ Escapists2
+ Escapists2
+ v4.0
+ 512
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+ libs\0Harmony.dll
+
+
+ libs\Assembly-CSharp.dll
+
+
+ libs\BepInEx.dll
+
+
+ libs\ConfigurationManager.dll
+
+
+
+
+
+
+ libs\UnityEngine.dll
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Projects/Escapists2/Escapists2/Properties/AssemblyInfo.cs b/Projects/Escapists2/Escapists2/Properties/AssemblyInfo.cs
index 116e5a4..bf027d9 100644
--- a/Projects/Escapists2/Escapists2/Properties/AssemblyInfo.cs
+++ b/Projects/Escapists2/Escapists2/Properties/AssemblyInfo.cs
@@ -1,35 +1,35 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("Escapists2")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("Escapists2")]
-[assembly: AssemblyCopyright("Copyright © 2023")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("20F983A2-1743-4E96-BFDB-CF5A4F134D2D")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
+using System.Reflection;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Escapists2")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Escapists2")]
+[assembly: AssemblyCopyright("Copyright © 2023")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("20F983A2-1743-4E96-BFDB-CF5A4F134D2D")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
\ No newline at end of file
diff --git a/Projects/Escapists2/Escapists2/XPPatch.cs b/Projects/Escapists2/Escapists2/XPPatch.cs
index 48611c0..97ebd07 100644
--- a/Projects/Escapists2/Escapists2/XPPatch.cs
+++ b/Projects/Escapists2/Escapists2/XPPatch.cs
@@ -1,12 +1,12 @@
-using HarmonyLib;
-
-namespace Escapists2 {
- [HarmonyPatch]
- public class XPPatch {
- [HarmonyPrefix]
- [HarmonyPatch(typeof(CharacterStats), "ModifyStat_Internal")]
- static void XPMulti(ref float change, ref HiddenFloat stat, ref float max) {
- change *= Main.xpMultiplier.Value;
- }
- }
+using HarmonyLib;
+
+namespace Escapists2 {
+ [HarmonyPatch]
+ public class XPPatch {
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(CharacterStats), "ModifyStat_Internal")]
+ static void XPMulti(ref float change, ref HiddenFloat stat, ref float max) {
+ change *= Main.xpMultiplier.Value;
+ }
+ }
}
\ No newline at end of file
diff --git a/Projects/Escapists2/Escapists2/obj/Debug/.NETFramework,Version=v4.0.AssemblyAttributes.cs b/Projects/Escapists2/Escapists2/obj/Debug/.NETFramework,Version=v4.0.AssemblyAttributes.cs
index 5d01041..9e65edd 100644
--- a/Projects/Escapists2/Escapists2/obj/Debug/.NETFramework,Version=v4.0.AssemblyAttributes.cs
+++ b/Projects/Escapists2/Escapists2/obj/Debug/.NETFramework,Version=v4.0.AssemblyAttributes.cs
@@ -1,4 +1,4 @@
-//
-using System;
-using System.Reflection;
-[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
+//
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.0", FrameworkDisplayName = ".NET Framework 4")]
diff --git a/Projects/Escapists2/Escapists2/obj/Debug/Escapists2.csproj.AssemblyReference.cache b/Projects/Escapists2/Escapists2/obj/Debug/Escapists2.csproj.AssemblyReference.cache
index 9092ba7..5a98aa5 100644
Binary files a/Projects/Escapists2/Escapists2/obj/Debug/Escapists2.csproj.AssemblyReference.cache and b/Projects/Escapists2/Escapists2/obj/Debug/Escapists2.csproj.AssemblyReference.cache differ
diff --git a/Projects/Escapists2/Escapists2/obj/Debug/Escapists2.csproj.CoreCompileInputs.cache b/Projects/Escapists2/Escapists2/obj/Debug/Escapists2.csproj.CoreCompileInputs.cache
index d60b30f..d3126c8 100644
--- a/Projects/Escapists2/Escapists2/obj/Debug/Escapists2.csproj.CoreCompileInputs.cache
+++ b/Projects/Escapists2/Escapists2/obj/Debug/Escapists2.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-09ea03cdb969439a4f3eb3dedfa28a8d8654a867
+09ea03cdb969439a4f3eb3dedfa28a8d8654a867
diff --git a/Projects/Escapists2/Escapists2/obj/Debug/Escapists2.csproj.FileListAbsolute.txt b/Projects/Escapists2/Escapists2/obj/Debug/Escapists2.csproj.FileListAbsolute.txt
index 458e449..b104f70 100644
--- a/Projects/Escapists2/Escapists2/obj/Debug/Escapists2.csproj.FileListAbsolute.txt
+++ b/Projects/Escapists2/Escapists2/obj/Debug/Escapists2.csproj.FileListAbsolute.txt
@@ -1,12 +1,12 @@
-C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\bin\Debug\Escapists2.dll
-C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\bin\Debug\Escapists2.pdb
-C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\obj\Debug\Escapists2.csproj.AssemblyReference.cache
-C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\obj\Debug\Escapists2.csproj.CoreCompileInputs.cache
-C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\obj\Debug\Escapists2.dll
-C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\obj\Debug\Escapists2.pdb
-C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\bin\Debug\0Harmony.dll
-C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\bin\Debug\Assembly-CSharp.dll
-C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\bin\Debug\BepInEx.dll
-C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\bin\Debug\ConfigurationManager.dll
-C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\bin\Debug\UnityEngine.dll
-C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\obj\Debug\Escapists2.csproj.CopyComplete
+C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\bin\Debug\Escapists2.dll
+C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\bin\Debug\Escapists2.pdb
+C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\obj\Debug\Escapists2.csproj.AssemblyReference.cache
+C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\obj\Debug\Escapists2.csproj.CoreCompileInputs.cache
+C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\obj\Debug\Escapists2.dll
+C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\obj\Debug\Escapists2.pdb
+C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\bin\Debug\0Harmony.dll
+C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\bin\Debug\Assembly-CSharp.dll
+C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\bin\Debug\BepInEx.dll
+C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\bin\Debug\ConfigurationManager.dll
+C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\bin\Debug\UnityEngine.dll
+C:\Users\Administrator\RiderProjects\Bepinex\Projects\Escapists2\Escapists2\obj\Debug\Escapists2.csproj.CopyComplete
diff --git a/Projects/HouseFlipper/HouseFlipper.sln b/Projects/HouseFlipper/HouseFlipper.sln
index 19c10fa..d85ff46 100644
--- a/Projects/HouseFlipper/HouseFlipper.sln
+++ b/Projects/HouseFlipper/HouseFlipper.sln
@@ -1,16 +1,16 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HouseFlipper", "HouseFlipper\HouseFlipper.csproj", "{EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HouseFlipper", "HouseFlipper\HouseFlipper.csproj", "{EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+EndGlobal
diff --git a/Projects/HouseFlipper/HouseFlipper/BeamPropertiesManager.cs b/Projects/HouseFlipper/HouseFlipper/BeamPropertiesManager.cs
index 0f05b08..4d98c9c 100644
--- a/Projects/HouseFlipper/HouseFlipper/BeamPropertiesManager.cs
+++ b/Projects/HouseFlipper/HouseFlipper/BeamPropertiesManager.cs
@@ -1,79 +1,79 @@
-using System;
-using System.Collections.Generic;
-using HarmonyLib;
-
-namespace TerraTech {
- [HarmonyPatch]
- public class BeamPropertiesManager {
- private static Dictionary strenghts = new Dictionary();
- private static Dictionary radii = new Dictionary();
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(ModuleItemHolderBeam), "OnAttached")]
- static void PostfixCreate(ModuleItemHolderBeam __instance) {
- // Console.WriteLine("ModuleItemHolderBeam.OnAttached");
- if (!strenghts.ContainsKey(__instance)) {
- strenghts.Add(__instance, GetStrength(__instance));
- radii.Add(__instance, GetRadius(__instance));
- // Console.WriteLine("Patching {0}; m_BeamStrength: {1}; m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), GetRadius(__instance));
- DoPatchSingle(__instance);
- // Console.WriteLine("Patched {0}; m_BeamStrength: {1}; m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), GetRadius(__instance));
- }
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(ModuleItemHolderBeam), "OnDetaching")]
- static void PostfixDestroy(ModuleItemHolderBeam __instance) {
- // Console.WriteLine("ModuleItemHolderBeam.OnDetaching");
- // Console.WriteLine("Restoring {0}; m_BeamStrength: {1}; m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), GetRadius(__instance));
- DoRestoreSingle(__instance);
- // Console.WriteLine("Restored {0}; m_BeamStrength: {1}; m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), GetRadius(__instance));
- strenghts.Remove(__instance);
- radii.Remove(__instance);
- }
-
- public static void DoPatch() {
- // Console.WriteLine("Modifying {0} ModuleItemHolderBeam", strenghts.Count);
- foreach (KeyValuePair keyValuePair in strenghts) {
- DoRestoreSingle(keyValuePair.Key);
- DoPatchSingle(keyValuePair.Key);
- }
- }
-
- static void DoPatchSingle(ModuleItemHolderBeam moduleItemHolderBeam) {
- SetStrength(moduleItemHolderBeam, strenghts[moduleItemHolderBeam] * Main.beamStrenghtMultiplier.Value);
- SetRadius(moduleItemHolderBeam, radii[moduleItemHolderBeam] * Main.beamRadiusMultiplier.Value);
- }
-
- static void DoRestoreSingle(ModuleItemHolderBeam moduleItemHolderBeam) {
- if (strenghts.ContainsKey(moduleItemHolderBeam)) {
- SetStrength(moduleItemHolderBeam, strenghts[moduleItemHolderBeam]);
- SetRadius(moduleItemHolderBeam, radii[moduleItemHolderBeam]);
- }
- }
-
- private static float GetStrength(ModuleItemHolderBeam moduleItemHolderBeam) {
- return Traverse.Create(moduleItemHolderBeam).Field("m_BeamStrength").GetValue() as float? ?? 0f;
- }
-
- private static void SetStrength(ModuleItemHolderBeam moduleItemHolderBeam, float value) {
- Traverse.Create(moduleItemHolderBeam).Field("m_BeamStrength").SetValue(value);
- }
-
- private static float GetRadius(ModuleItemHolderBeam moduleItemHolderBeam) {
- ModuleItemPickup moduleItemPickup = Traverse.Create(moduleItemHolderBeam).Field("m_Pickup").GetValue() as ModuleItemPickup;
- if (moduleItemPickup) {
- float radius = Traverse.Create(moduleItemPickup).Field("m_PickupRange").GetValue() as float? ?? 0f;
- return radius;
- }
- return 0f;
- }
-
- private static void SetRadius(ModuleItemHolderBeam moduleItemHolderBeam, float value) {
- ModuleItemPickup moduleItemPickup = Traverse.Create(moduleItemHolderBeam).Field("m_Pickup").GetValue() as ModuleItemPickup;
- if (moduleItemPickup) {
- Traverse.Create(moduleItemPickup).Field("m_PickupRange").SetValue(value);
- }
- }
- }
+using System;
+using System.Collections.Generic;
+using HarmonyLib;
+
+namespace TerraTech {
+ [HarmonyPatch]
+ public class BeamPropertiesManager {
+ private static Dictionary strenghts = new Dictionary();
+ private static Dictionary radii = new Dictionary();
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(ModuleItemHolderBeam), "OnAttached")]
+ static void PostfixCreate(ModuleItemHolderBeam __instance) {
+ // Console.WriteLine("ModuleItemHolderBeam.OnAttached");
+ if (!strenghts.ContainsKey(__instance)) {
+ strenghts.Add(__instance, GetStrength(__instance));
+ radii.Add(__instance, GetRadius(__instance));
+ // Console.WriteLine("Patching {0}; m_BeamStrength: {1}; m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), GetRadius(__instance));
+ DoPatchSingle(__instance);
+ // Console.WriteLine("Patched {0}; m_BeamStrength: {1}; m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), GetRadius(__instance));
+ }
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(ModuleItemHolderBeam), "OnDetaching")]
+ static void PostfixDestroy(ModuleItemHolderBeam __instance) {
+ // Console.WriteLine("ModuleItemHolderBeam.OnDetaching");
+ // Console.WriteLine("Restoring {0}; m_BeamStrength: {1}; m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), GetRadius(__instance));
+ DoRestoreSingle(__instance);
+ // Console.WriteLine("Restored {0}; m_BeamStrength: {1}; m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), GetRadius(__instance));
+ strenghts.Remove(__instance);
+ radii.Remove(__instance);
+ }
+
+ public static void DoPatch() {
+ // Console.WriteLine("Modifying {0} ModuleItemHolderBeam", strenghts.Count);
+ foreach (KeyValuePair keyValuePair in strenghts) {
+ DoRestoreSingle(keyValuePair.Key);
+ DoPatchSingle(keyValuePair.Key);
+ }
+ }
+
+ static void DoPatchSingle(ModuleItemHolderBeam moduleItemHolderBeam) {
+ SetStrength(moduleItemHolderBeam, strenghts[moduleItemHolderBeam] * Main.beamStrenghtMultiplier.Value);
+ SetRadius(moduleItemHolderBeam, radii[moduleItemHolderBeam] * Main.beamRadiusMultiplier.Value);
+ }
+
+ static void DoRestoreSingle(ModuleItemHolderBeam moduleItemHolderBeam) {
+ if (strenghts.ContainsKey(moduleItemHolderBeam)) {
+ SetStrength(moduleItemHolderBeam, strenghts[moduleItemHolderBeam]);
+ SetRadius(moduleItemHolderBeam, radii[moduleItemHolderBeam]);
+ }
+ }
+
+ private static float GetStrength(ModuleItemHolderBeam moduleItemHolderBeam) {
+ return Traverse.Create(moduleItemHolderBeam).Field("m_BeamStrength").GetValue() as float? ?? 0f;
+ }
+
+ private static void SetStrength(ModuleItemHolderBeam moduleItemHolderBeam, float value) {
+ Traverse.Create(moduleItemHolderBeam).Field("m_BeamStrength").SetValue(value);
+ }
+
+ private static float GetRadius(ModuleItemHolderBeam moduleItemHolderBeam) {
+ ModuleItemPickup moduleItemPickup = Traverse.Create(moduleItemHolderBeam).Field("m_Pickup").GetValue() as ModuleItemPickup;
+ if (moduleItemPickup) {
+ float radius = Traverse.Create(moduleItemPickup).Field("m_PickupRange").GetValue() as float? ?? 0f;
+ return radius;
+ }
+ return 0f;
+ }
+
+ private static void SetRadius(ModuleItemHolderBeam moduleItemHolderBeam, float value) {
+ ModuleItemPickup moduleItemPickup = Traverse.Create(moduleItemHolderBeam).Field("m_Pickup").GetValue() as ModuleItemPickup;
+ if (moduleItemPickup) {
+ Traverse.Create(moduleItemPickup).Field("m_PickupRange").SetValue(value);
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/Projects/HouseFlipper/HouseFlipper/Class1.cs b/Projects/HouseFlipper/HouseFlipper/Class1.cs
index 9cc05d5..00f030e 100644
--- a/Projects/HouseFlipper/HouseFlipper/Class1.cs
+++ b/Projects/HouseFlipper/HouseFlipper/Class1.cs
@@ -1,121 +1,121 @@
-using System.Linq;
-using BepInEx;
-using BepInEx.Configuration;
-using HarmonyLib;
-using HarmonyLib.Tools;
-
-// TODO: Make shield and repair bigger
-// TODO: Maybe make props faster, thrusters work fine
-
-namespace HouseFlipper {
- [BepInPlugin(pluginGuid, pluginName, pluginVersion)]
- public class Main : BaseUnityPlugin {
- private const string pluginGuid = "CykaMod";
- private const string pluginName = "CykaMod";
- private const string pluginVersion = "1.0.0";
-
- public static ConfigEntry xpMultiplier;
- public static ConfigEntry moneyMultiplier;
- public static ConfigEntry energyGenMultiplier;
- public static ConfigEntry heartbeatIntervalMultiplier;
- public static ConfigEntry shootingSpeedMultiplier;
- public static ConfigEntry muzzleVelocityMultiplier;
- public static ConfigEntry allProjectilesHoming;
- public static ConfigEntry magnetStrenghtMultiplier;
- public static ConfigEntry magnetRadiusMultiplier;
- public static ConfigEntry beamStrenghtMultiplier;
- public static ConfigEntry beamRadiusMultiplier;
- public static ConfigEntry fuelTankRefillMultiplier;
- public static ConfigEntry fuelTankCapacityMultiplier;
- public static ConfigEntry minerGroundArea;
- public static ConfigEntry minerMiningSpeed;
- public static ConfigEntry wheelTorqueMultiplier;
- public static ConfigEntry wheelSpeedMultiplier;
- public static ConfigEntry jetThrustMultiplier;
- public static ConfigEntry seekingProjectileVisionConeAngleMultiplier;
- public static ConfigEntry seekingProjectileVisionRangeMultiplier;
- public static ConfigEntry seekingProjectileTurningSpeedMultiplier;
- public static ConfigEntry wirelessChargingRadiusMultiplier;
- public static ConfigEntry wirelessChargingPowerPerArcMultiplier;
- public static ConfigEntry wirelessChargingArcFiringIntervalMultiplier;
-
- public void Awake() {
- xpMultiplier = Config.Bind("General", "XP Multiplier", 1f, new ConfigDescription("XP Multiplier", new AcceptableValueRange(1f, 32f)));
- moneyMultiplier = Config.Bind("General", "Money Multiplier", 1f,
- new ConfigDescription("Money Multiplier", new AcceptableValueRange(1f, 32f)));
- energyGenMultiplier = Config.Bind("General", "Energy Generation Multiplier", 1f,
- new ConfigDescription("Energy Generation Multiplier", new AcceptableValueRange(1f, 64f)));
- heartbeatIntervalMultiplier = Config.Bind("General", "Heartbeat Interval Multiplier", 1f,
- new ConfigDescription("Heartbeat Interval Multiplier", new AcceptableValueRange(0.1f, 2f)));
-
- shootingSpeedMultiplier = Config.Bind("Weapons", "Shooting Speed Multiplier", 1f,
- new ConfigDescription("Shooting Speed Multiplier", new AcceptableValueRange(0.2f, 8f)));
- muzzleVelocityMultiplier = Config.Bind("Weapons", "Muzzle Velocity Multiplier", 1f,
- new ConfigDescription("Muzzle Velocity Multiplier", new AcceptableValueRange(0.2f, 32f)));
- seekingProjectileVisionConeAngleMultiplier = Config.Bind("Weapons", "Seeking Projectile Cone Vision Angle Multiplier", 1f,
- new ConfigDescription("Seeking Projectile Cone Vision Angle Multiplier", new AcceptableValueRange(0.2f, 32f)));
- seekingProjectileVisionRangeMultiplier = Config.Bind("Weapons", "Seeking Projectile Vision Range Multiplier", 1f,
- new ConfigDescription("Seeking Projectile Vision Range Multiplier", new AcceptableValueRange(0.2f, 32f)));
- seekingProjectileTurningSpeedMultiplier = Config.Bind("Weapons", "Seeking Projectile Turn Speed Multiplier", 1f,
- new ConfigDescription("Seeking Projectile Turn Speed Multiplier", new AcceptableValueRange(0.2f, 32f)));
-
- magnetStrenghtMultiplier = Config.Bind("Attractors", "Magnet Strength Multiplier", 1f,
- new ConfigDescription("Magnet Strength Multiplier", new AcceptableValueRange(1f, 16f)));
- magnetRadiusMultiplier = Config.Bind("Attractors", "Magnet Radius Multiplier", 1f,
- new ConfigDescription("Magnet Radius Multiplier", new AcceptableValueRange(1f, 16f)));
- beamStrenghtMultiplier = Config.Bind("Attractors", "Beam Strength Multiplier", 1f,
- new ConfigDescription("Beam Strength Multiplier", new AcceptableValueRange(1f, 16f)));
- beamRadiusMultiplier = Config.Bind("Attractors", "Beam Radius Multiplier", 1f,
- new ConfigDescription("Beam Radius Multiplier", new AcceptableValueRange(1f, 16f)));
-
- wirelessChargingRadiusMultiplier = Config.Bind("Power", "Wireless Charger Radius Multiplier", 1f,
- new ConfigDescription("Wireless Charger Radius Multiplier", new AcceptableValueRange(0.2f, 16f)));
- wirelessChargingArcFiringIntervalMultiplier = Config.Bind("Power", "Wireless Charger Arc Firing Interval", 1f,
- new ConfigDescription("Wireless Charger Arc Firing Interval", new AcceptableValueRange(0.02f, 16f)));
- wirelessChargingPowerPerArcMultiplier = Config.Bind("Power", "Wireless Charger Power Per Arc", 1f,
- new ConfigDescription("Wireless Charger Power Per Arc", new AcceptableValueRange(0.2f, 16f)));
-
- fuelTankRefillMultiplier = Config.Bind("Propulsion", "Fuel Tank Refill Rate Multiplier", 1f,
- new ConfigDescription("Fuel Tank Refill Rate Multiplier", new AcceptableValueRange(1f, 32f)));
- fuelTankCapacityMultiplier = Config.Bind("Propulsion", "Fuel Tank Capacity Multiplier", 1f,
- new ConfigDescription("Fuel Tank Capacity Multiplier", new AcceptableValueRange(1f, 32f)));
- wheelTorqueMultiplier = Config.Bind("Propulsion", "Wheel Torque Multiplier", 1f,
- new ConfigDescription("Wheel Torque Multiplier", new AcceptableValueRange(1f, 32f)));
- wheelSpeedMultiplier = Config.Bind("Propulsion", "Wheel Max RPM Multiplier", 1f,
- new ConfigDescription("Wheel Max RPM Multiplier", new AcceptableValueRange(1f, 32f)));
- jetThrustMultiplier = Config.Bind("Propulsion", "Jet Thrust Multiplier", 1f,
- new ConfigDescription("Jet Thrust Multiplier", new AcceptableValueRange(1f, 32f)));
-
- minerGroundArea = Config.Bind("Production", "Miner Ground Deposit Scan Area", 1f,
- new ConfigDescription("Miner Ground Deposit Scan Area", new AcceptableValueRange(1f, 32f)));
- minerMiningSpeed = Config.Bind("Production", "Miner Mining Speed", 1f,
- new ConfigDescription("Miner Mining Speed", new AcceptableValueRange(1f, 32f)));
-
- allProjectilesHoming = Config.Bind("General", "Make All Projectiles Home", false);
-
- shootingSpeedMultiplier.SettingChanged += (sender, args) => WeaponPropertiesManager.DoPatch();
- energyGenMultiplier.SettingChanged += (sender, args) => GeneratorPropertiesManager.DoPatch();
- magnetStrenghtMultiplier.SettingChanged += (sender, args) => MagnetPropertiesManager.DoPatch();
- magnetRadiusMultiplier.SettingChanged += (sender, args) => MagnetPropertiesManager.DoPatch();
- beamStrenghtMultiplier.SettingChanged += (sender, args) => BeamPropertiesManager.DoPatch();
- beamRadiusMultiplier.SettingChanged += (sender, args) => BeamPropertiesManager.DoPatch();
- fuelTankRefillMultiplier.SettingChanged += (sender, args) => FuelPropertiesManager.DoPatch();
- fuelTankCapacityMultiplier.SettingChanged += (sender, args) => FuelPropertiesManager.DoPatch();
- wheelTorqueMultiplier.SettingChanged += (sender, args) => WheelPropertiesManager.DoPatch();
- wheelSpeedMultiplier.SettingChanged += (sender, args) => WheelPropertiesManager.DoPatch();
- jetThrustMultiplier.SettingChanged += (sender, args) => ThrusterPropertiesManager.DoPatch();
- minerGroundArea.SettingChanged += (sender, args) => MinerPropertiesManager.DoPatch();
- minerMiningSpeed.SettingChanged += (sender, args) => MinerPropertiesManager.DoPatch();
- wirelessChargingPowerPerArcMultiplier.SettingChanged += (sender, args) => WirelessChargerPropertiesManager.DoPatch();
- wirelessChargingArcFiringIntervalMultiplier.SettingChanged += (sender, args) => WirelessChargerPropertiesManager.DoPatch();
- wirelessChargingRadiusMultiplier.SettingChanged += (sender, args) => WirelessChargerPropertiesManager.DoPatch();
-
- Logger.LogInfo("Cyka mod loaded");
- HarmonyFileLog.Enabled = true;
- Harmony harmony = new Harmony(pluginGuid);
- harmony.PatchAll();
- var originalMethods = harmony.GetPatchedMethods();
- Logger.LogInfo("Patched " + originalMethods.Count() + " methods");
- }
- }
+using System.Linq;
+using BepInEx;
+using BepInEx.Configuration;
+using HarmonyLib;
+using HarmonyLib.Tools;
+
+// TODO: Make shield and repair bigger
+// TODO: Maybe make props faster, thrusters work fine
+
+namespace HouseFlipper {
+ [BepInPlugin(pluginGuid, pluginName, pluginVersion)]
+ public class Main : BaseUnityPlugin {
+ private const string pluginGuid = "CykaMod";
+ private const string pluginName = "CykaMod";
+ private const string pluginVersion = "1.0.0";
+
+ public static ConfigEntry xpMultiplier;
+ public static ConfigEntry moneyMultiplier;
+ public static ConfigEntry energyGenMultiplier;
+ public static ConfigEntry heartbeatIntervalMultiplier;
+ public static ConfigEntry shootingSpeedMultiplier;
+ public static ConfigEntry muzzleVelocityMultiplier;
+ public static ConfigEntry allProjectilesHoming;
+ public static ConfigEntry magnetStrenghtMultiplier;
+ public static ConfigEntry magnetRadiusMultiplier;
+ public static ConfigEntry beamStrenghtMultiplier;
+ public static ConfigEntry beamRadiusMultiplier;
+ public static ConfigEntry fuelTankRefillMultiplier;
+ public static ConfigEntry fuelTankCapacityMultiplier;
+ public static ConfigEntry minerGroundArea;
+ public static ConfigEntry minerMiningSpeed;
+ public static ConfigEntry wheelTorqueMultiplier;
+ public static ConfigEntry wheelSpeedMultiplier;
+ public static ConfigEntry jetThrustMultiplier;
+ public static ConfigEntry seekingProjectileVisionConeAngleMultiplier;
+ public static ConfigEntry seekingProjectileVisionRangeMultiplier;
+ public static ConfigEntry seekingProjectileTurningSpeedMultiplier;
+ public static ConfigEntry wirelessChargingRadiusMultiplier;
+ public static ConfigEntry wirelessChargingPowerPerArcMultiplier;
+ public static ConfigEntry wirelessChargingArcFiringIntervalMultiplier;
+
+ public void Awake() {
+ xpMultiplier = Config.Bind("General", "XP Multiplier", 1f, new ConfigDescription("XP Multiplier", new AcceptableValueRange(1f, 32f)));
+ moneyMultiplier = Config.Bind("General", "Money Multiplier", 1f,
+ new ConfigDescription("Money Multiplier", new AcceptableValueRange(1f, 32f)));
+ energyGenMultiplier = Config.Bind("General", "Energy Generation Multiplier", 1f,
+ new ConfigDescription("Energy Generation Multiplier", new AcceptableValueRange(1f, 64f)));
+ heartbeatIntervalMultiplier = Config.Bind("General", "Heartbeat Interval Multiplier", 1f,
+ new ConfigDescription("Heartbeat Interval Multiplier", new AcceptableValueRange(0.1f, 2f)));
+
+ shootingSpeedMultiplier = Config.Bind("Weapons", "Shooting Speed Multiplier", 1f,
+ new ConfigDescription("Shooting Speed Multiplier", new AcceptableValueRange(0.2f, 8f)));
+ muzzleVelocityMultiplier = Config.Bind("Weapons", "Muzzle Velocity Multiplier", 1f,
+ new ConfigDescription("Muzzle Velocity Multiplier", new AcceptableValueRange(0.2f, 32f)));
+ seekingProjectileVisionConeAngleMultiplier = Config.Bind("Weapons", "Seeking Projectile Cone Vision Angle Multiplier", 1f,
+ new ConfigDescription("Seeking Projectile Cone Vision Angle Multiplier", new AcceptableValueRange(0.2f, 32f)));
+ seekingProjectileVisionRangeMultiplier = Config.Bind("Weapons", "Seeking Projectile Vision Range Multiplier", 1f,
+ new ConfigDescription("Seeking Projectile Vision Range Multiplier", new AcceptableValueRange(0.2f, 32f)));
+ seekingProjectileTurningSpeedMultiplier = Config.Bind("Weapons", "Seeking Projectile Turn Speed Multiplier", 1f,
+ new ConfigDescription("Seeking Projectile Turn Speed Multiplier", new AcceptableValueRange(0.2f, 32f)));
+
+ magnetStrenghtMultiplier = Config.Bind("Attractors", "Magnet Strength Multiplier", 1f,
+ new ConfigDescription("Magnet Strength Multiplier", new AcceptableValueRange(1f, 16f)));
+ magnetRadiusMultiplier = Config.Bind("Attractors", "Magnet Radius Multiplier", 1f,
+ new ConfigDescription("Magnet Radius Multiplier", new AcceptableValueRange(1f, 16f)));
+ beamStrenghtMultiplier = Config.Bind("Attractors", "Beam Strength Multiplier", 1f,
+ new ConfigDescription("Beam Strength Multiplier", new AcceptableValueRange(1f, 16f)));
+ beamRadiusMultiplier = Config.Bind("Attractors", "Beam Radius Multiplier", 1f,
+ new ConfigDescription("Beam Radius Multiplier", new AcceptableValueRange(1f, 16f)));
+
+ wirelessChargingRadiusMultiplier = Config.Bind("Power", "Wireless Charger Radius Multiplier", 1f,
+ new ConfigDescription("Wireless Charger Radius Multiplier", new AcceptableValueRange(0.2f, 16f)));
+ wirelessChargingArcFiringIntervalMultiplier = Config.Bind("Power", "Wireless Charger Arc Firing Interval", 1f,
+ new ConfigDescription("Wireless Charger Arc Firing Interval", new AcceptableValueRange(0.02f, 16f)));
+ wirelessChargingPowerPerArcMultiplier = Config.Bind("Power", "Wireless Charger Power Per Arc", 1f,
+ new ConfigDescription("Wireless Charger Power Per Arc", new AcceptableValueRange(0.2f, 16f)));
+
+ fuelTankRefillMultiplier = Config.Bind("Propulsion", "Fuel Tank Refill Rate Multiplier", 1f,
+ new ConfigDescription("Fuel Tank Refill Rate Multiplier", new AcceptableValueRange(1f, 32f)));
+ fuelTankCapacityMultiplier = Config.Bind("Propulsion", "Fuel Tank Capacity Multiplier", 1f,
+ new ConfigDescription("Fuel Tank Capacity Multiplier", new AcceptableValueRange(1f, 32f)));
+ wheelTorqueMultiplier = Config.Bind("Propulsion", "Wheel Torque Multiplier", 1f,
+ new ConfigDescription("Wheel Torque Multiplier", new AcceptableValueRange(1f, 32f)));
+ wheelSpeedMultiplier = Config.Bind("Propulsion", "Wheel Max RPM Multiplier", 1f,
+ new ConfigDescription("Wheel Max RPM Multiplier", new AcceptableValueRange(1f, 32f)));
+ jetThrustMultiplier = Config.Bind("Propulsion", "Jet Thrust Multiplier", 1f,
+ new ConfigDescription("Jet Thrust Multiplier", new AcceptableValueRange(1f, 32f)));
+
+ minerGroundArea = Config.Bind("Production", "Miner Ground Deposit Scan Area", 1f,
+ new ConfigDescription("Miner Ground Deposit Scan Area", new AcceptableValueRange(1f, 32f)));
+ minerMiningSpeed = Config.Bind("Production", "Miner Mining Speed", 1f,
+ new ConfigDescription("Miner Mining Speed", new AcceptableValueRange(1f, 32f)));
+
+ allProjectilesHoming = Config.Bind("General", "Make All Projectiles Home", false);
+
+ shootingSpeedMultiplier.SettingChanged += (sender, args) => WeaponPropertiesManager.DoPatch();
+ energyGenMultiplier.SettingChanged += (sender, args) => GeneratorPropertiesManager.DoPatch();
+ magnetStrenghtMultiplier.SettingChanged += (sender, args) => MagnetPropertiesManager.DoPatch();
+ magnetRadiusMultiplier.SettingChanged += (sender, args) => MagnetPropertiesManager.DoPatch();
+ beamStrenghtMultiplier.SettingChanged += (sender, args) => BeamPropertiesManager.DoPatch();
+ beamRadiusMultiplier.SettingChanged += (sender, args) => BeamPropertiesManager.DoPatch();
+ fuelTankRefillMultiplier.SettingChanged += (sender, args) => FuelPropertiesManager.DoPatch();
+ fuelTankCapacityMultiplier.SettingChanged += (sender, args) => FuelPropertiesManager.DoPatch();
+ wheelTorqueMultiplier.SettingChanged += (sender, args) => WheelPropertiesManager.DoPatch();
+ wheelSpeedMultiplier.SettingChanged += (sender, args) => WheelPropertiesManager.DoPatch();
+ jetThrustMultiplier.SettingChanged += (sender, args) => ThrusterPropertiesManager.DoPatch();
+ minerGroundArea.SettingChanged += (sender, args) => MinerPropertiesManager.DoPatch();
+ minerMiningSpeed.SettingChanged += (sender, args) => MinerPropertiesManager.DoPatch();
+ wirelessChargingPowerPerArcMultiplier.SettingChanged += (sender, args) => WirelessChargerPropertiesManager.DoPatch();
+ wirelessChargingArcFiringIntervalMultiplier.SettingChanged += (sender, args) => WirelessChargerPropertiesManager.DoPatch();
+ wirelessChargingRadiusMultiplier.SettingChanged += (sender, args) => WirelessChargerPropertiesManager.DoPatch();
+
+ Logger.LogInfo("Cyka mod loaded");
+ HarmonyFileLog.Enabled = true;
+ Harmony harmony = new Harmony(pluginGuid);
+ harmony.PatchAll();
+ var originalMethods = harmony.GetPatchedMethods();
+ Logger.LogInfo("Patched " + originalMethods.Count() + " methods");
+ }
+ }
}
\ No newline at end of file
diff --git a/Projects/HouseFlipper/HouseFlipper/FuelPropertiesManager.cs b/Projects/HouseFlipper/HouseFlipper/FuelPropertiesManager.cs
index 7aa9140..6246ca8 100644
--- a/Projects/HouseFlipper/HouseFlipper/FuelPropertiesManager.cs
+++ b/Projects/HouseFlipper/HouseFlipper/FuelPropertiesManager.cs
@@ -1,55 +1,55 @@
-using System;
-using System.Collections.Generic;
-using HarmonyLib;
-
-namespace TerraTech {
- [HarmonyPatch]
- public class FuelPropertiesManager {
- private static Dictionary refillRate = new Dictionary();
- private static Dictionary capacity = new Dictionary();
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(ModuleFuelTank), "OnAttached")]
- static void PostfixCreate(ModuleFuelTank __instance) {
- // Console.WriteLine("ModuleFuelTank.OnAttached");
- if (!refillRate.ContainsKey(__instance)) {
- refillRate.Add(__instance, __instance.m_RefillRate);
- capacity.Add(__instance, __instance.m_Capacity);
- // Console.WriteLine("Patching {0}; m_RefillRate: {1}; m_Capacity: {2}", __instance.name, __instance.m_RefillRate, __instance.m_Capacity);
- DoPatchSingle(__instance);
- // Console.WriteLine("Patched {0}; m_RefillRate: {1}; m_Capacity: {2}", __instance.name, __instance.m_RefillRate, __instance.m_Capacity);
- }
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(ModuleFuelTank), "OnDetaching")]
- static void PostfixDestroy(ModuleFuelTank __instance) {
- // Console.WriteLine("ModuleFuelTank.OnAttached");
- // Console.WriteLine("Restoring {0}; m_RefillRate: {1}; m_Capacity: {2}", __instance.name, __instance.m_RefillRate, __instance.m_Capacity);
- DoRestoreSingle(__instance);
- // Console.WriteLine("Restored {0}; m_RefillRate: {1}; m_Capacity: {2}", __instance.name, __instance.m_RefillRate, __instance.m_Capacity);
- refillRate.Remove(__instance);
- capacity.Remove(__instance);
- }
-
- public static void DoPatch() {
- // Console.WriteLine("Modifying {0} ModuleFuelTank", refillRate.Count);
- foreach (KeyValuePair keyValuePair in refillRate) {
- DoRestoreSingle(keyValuePair.Key);
- DoPatchSingle(keyValuePair.Key);
- }
- }
-
- static void DoPatchSingle(ModuleFuelTank moduleFuelTank) {
- moduleFuelTank.m_RefillRate = refillRate[moduleFuelTank] * Main.fuelTankRefillMultiplier.Value;
- moduleFuelTank.m_Capacity = capacity[moduleFuelTank] * Main.fuelTankCapacityMultiplier.Value;
- }
-
- static void DoRestoreSingle(ModuleFuelTank moduleFuelTank) {
- if (refillRate.ContainsKey(moduleFuelTank)) {
- moduleFuelTank.m_RefillRate = refillRate[moduleFuelTank];
- moduleFuelTank.m_Capacity = capacity[moduleFuelTank];
- }
- }
- }
+using System;
+using System.Collections.Generic;
+using HarmonyLib;
+
+namespace TerraTech {
+ [HarmonyPatch]
+ public class FuelPropertiesManager {
+ private static Dictionary refillRate = new Dictionary();
+ private static Dictionary capacity = new Dictionary();
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(ModuleFuelTank), "OnAttached")]
+ static void PostfixCreate(ModuleFuelTank __instance) {
+ // Console.WriteLine("ModuleFuelTank.OnAttached");
+ if (!refillRate.ContainsKey(__instance)) {
+ refillRate.Add(__instance, __instance.m_RefillRate);
+ capacity.Add(__instance, __instance.m_Capacity);
+ // Console.WriteLine("Patching {0}; m_RefillRate: {1}; m_Capacity: {2}", __instance.name, __instance.m_RefillRate, __instance.m_Capacity);
+ DoPatchSingle(__instance);
+ // Console.WriteLine("Patched {0}; m_RefillRate: {1}; m_Capacity: {2}", __instance.name, __instance.m_RefillRate, __instance.m_Capacity);
+ }
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(ModuleFuelTank), "OnDetaching")]
+ static void PostfixDestroy(ModuleFuelTank __instance) {
+ // Console.WriteLine("ModuleFuelTank.OnAttached");
+ // Console.WriteLine("Restoring {0}; m_RefillRate: {1}; m_Capacity: {2}", __instance.name, __instance.m_RefillRate, __instance.m_Capacity);
+ DoRestoreSingle(__instance);
+ // Console.WriteLine("Restored {0}; m_RefillRate: {1}; m_Capacity: {2}", __instance.name, __instance.m_RefillRate, __instance.m_Capacity);
+ refillRate.Remove(__instance);
+ capacity.Remove(__instance);
+ }
+
+ public static void DoPatch() {
+ // Console.WriteLine("Modifying {0} ModuleFuelTank", refillRate.Count);
+ foreach (KeyValuePair keyValuePair in refillRate) {
+ DoRestoreSingle(keyValuePair.Key);
+ DoPatchSingle(keyValuePair.Key);
+ }
+ }
+
+ static void DoPatchSingle(ModuleFuelTank moduleFuelTank) {
+ moduleFuelTank.m_RefillRate = refillRate[moduleFuelTank] * Main.fuelTankRefillMultiplier.Value;
+ moduleFuelTank.m_Capacity = capacity[moduleFuelTank] * Main.fuelTankCapacityMultiplier.Value;
+ }
+
+ static void DoRestoreSingle(ModuleFuelTank moduleFuelTank) {
+ if (refillRate.ContainsKey(moduleFuelTank)) {
+ moduleFuelTank.m_RefillRate = refillRate[moduleFuelTank];
+ moduleFuelTank.m_Capacity = capacity[moduleFuelTank];
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/Projects/HouseFlipper/HouseFlipper/GeneratorPropertiesManager.cs b/Projects/HouseFlipper/HouseFlipper/GeneratorPropertiesManager.cs
index 3dd068f..dfd6ed0 100644
--- a/Projects/HouseFlipper/HouseFlipper/GeneratorPropertiesManager.cs
+++ b/Projects/HouseFlipper/HouseFlipper/GeneratorPropertiesManager.cs
@@ -1,58 +1,58 @@
-using System;
-using System.Collections.Generic;
-using HarmonyLib;
-
-namespace TerraTech {
- [HarmonyPatch]
- public class GeneratorPropertiesManager {
- private static Dictionary generators = new Dictionary();
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(ModuleEnergy), "OnAttached")]
- static void PostfixCreate(ModuleEnergy __instance) {
- // Console.WriteLine("ModuleEnergy.OnAttached");
- if (!generators.ContainsKey(__instance)) {
- generators.Add(__instance, GetValue(__instance));
- // Console.WriteLine("Patching {0}; m_OutputPerSecond: {1}", __instance.name, GetValue(__instance));
- DoPatchSingle(__instance);
- // Console.WriteLine("Patched {0}; m_OutputPerSecond: {1}", __instance.name, GetValue(__instance));
- }
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(ModuleEnergy), "OnDetaching")]
- static void PostfixDestroy(ModuleEnergy __instance) {
- // Console.WriteLine("ModuleEnergy.OnDetaching");
- // Console.WriteLine("Restoring {0}; m_OutputPerSecond: {1}", __instance.name, GetValue(__instance));
- DoRestoreSingle(__instance);
- // Console.WriteLine("Restored {0}; m_OutputPerSecond: {1}", __instance.name, GetValue(__instance));
- generators.Remove(__instance);
- }
-
- public static void DoPatch() {
- // Console.WriteLine("Modifying {0} ModuleEnergy", generators.Count);
- foreach (KeyValuePair keyValuePair in generators) {
- DoRestoreSingle(keyValuePair.Key);
- DoPatchSingle(keyValuePair.Key);
- }
- }
-
- static void DoPatchSingle(ModuleEnergy moduleEnergy) {
- SetValue(moduleEnergy, generators[moduleEnergy] * Main.energyGenMultiplier.Value);
- }
-
- static void DoRestoreSingle(ModuleEnergy moduleEnergy) {
- if (generators.ContainsKey(moduleEnergy)) {
- SetValue(moduleEnergy, generators[moduleEnergy]);
- }
- }
-
- private static float GetValue(ModuleEnergy moduleEnergy) {
- return Traverse.Create(moduleEnergy).Field("m_OutputPerSecond").GetValue() as float? ?? 0f;
- }
-
- private static void SetValue(ModuleEnergy moduleEnergy, float value) {
- Traverse.Create(moduleEnergy).Field("m_OutputPerSecond").SetValue(value);
- }
- }
+using System;
+using System.Collections.Generic;
+using HarmonyLib;
+
+namespace TerraTech {
+ [HarmonyPatch]
+ public class GeneratorPropertiesManager {
+ private static Dictionary generators = new Dictionary();
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(ModuleEnergy), "OnAttached")]
+ static void PostfixCreate(ModuleEnergy __instance) {
+ // Console.WriteLine("ModuleEnergy.OnAttached");
+ if (!generators.ContainsKey(__instance)) {
+ generators.Add(__instance, GetValue(__instance));
+ // Console.WriteLine("Patching {0}; m_OutputPerSecond: {1}", __instance.name, GetValue(__instance));
+ DoPatchSingle(__instance);
+ // Console.WriteLine("Patched {0}; m_OutputPerSecond: {1}", __instance.name, GetValue(__instance));
+ }
+ }
+
+ [HarmonyPrefix]
+ [HarmonyPatch(typeof(ModuleEnergy), "OnDetaching")]
+ static void PostfixDestroy(ModuleEnergy __instance) {
+ // Console.WriteLine("ModuleEnergy.OnDetaching");
+ // Console.WriteLine("Restoring {0}; m_OutputPerSecond: {1}", __instance.name, GetValue(__instance));
+ DoRestoreSingle(__instance);
+ // Console.WriteLine("Restored {0}; m_OutputPerSecond: {1}", __instance.name, GetValue(__instance));
+ generators.Remove(__instance);
+ }
+
+ public static void DoPatch() {
+ // Console.WriteLine("Modifying {0} ModuleEnergy", generators.Count);
+ foreach (KeyValuePair keyValuePair in generators) {
+ DoRestoreSingle(keyValuePair.Key);
+ DoPatchSingle(keyValuePair.Key);
+ }
+ }
+
+ static void DoPatchSingle(ModuleEnergy moduleEnergy) {
+ SetValue(moduleEnergy, generators[moduleEnergy] * Main.energyGenMultiplier.Value);
+ }
+
+ static void DoRestoreSingle(ModuleEnergy moduleEnergy) {
+ if (generators.ContainsKey(moduleEnergy)) {
+ SetValue(moduleEnergy, generators[moduleEnergy]);
+ }
+ }
+
+ private static float GetValue(ModuleEnergy moduleEnergy) {
+ return Traverse.Create(moduleEnergy).Field("m_OutputPerSecond").GetValue() as float? ?? 0f;
+ }
+
+ private static void SetValue(ModuleEnergy moduleEnergy, float value) {
+ Traverse.Create(moduleEnergy).Field("m_OutputPerSecond").SetValue(value);
+ }
+ }
}
\ No newline at end of file
diff --git a/Projects/HouseFlipper/HouseFlipper/HomingAndVelocityProjectilePatch.cs b/Projects/HouseFlipper/HouseFlipper/HomingAndVelocityProjectilePatch.cs
index b88dca9..cc8bbbe 100644
--- a/Projects/HouseFlipper/HouseFlipper/HomingAndVelocityProjectilePatch.cs
+++ b/Projects/HouseFlipper/HouseFlipper/HomingAndVelocityProjectilePatch.cs
@@ -1,22 +1,22 @@
-using System.Collections.Generic;
-using HarmonyLib;
-using UnityEngine;
-
-namespace TerraTech {
- [HarmonyPatch(typeof(Projectile), "Fire")]
- public class HomingAndVelocityProjectilePatch {
- private static Dictionary velocities = new Dictionary();
-
- static void Prefix(Vector3 fireDirection, ref FireData fireData, ref ModuleWeaponGun weapon, Tank shooter, ref bool seekingRounds, bool replayRounds) {
- if (Main.allProjectilesHoming.Value) {
- seekingRounds = true;
- }
- if (!velocities.ContainsKey(fireData)) {
- velocities.Add(fireData, fireData.m_MuzzleVelocity);
- fireData.m_MuzzleVelocity *= Main.muzzleVelocityMultiplier.Value;
- } else if (velocities[fireData] != fireData.m_MuzzleVelocity * Main.muzzleVelocityMultiplier.Value) {
- fireData.m_MuzzleVelocity = velocities[fireData] * Main.muzzleVelocityMultiplier.Value;
- }
- }
- }
+using System.Collections.Generic;
+using HarmonyLib;
+using UnityEngine;
+
+namespace TerraTech {
+ [HarmonyPatch(typeof(Projectile), "Fire")]
+ public class HomingAndVelocityProjectilePatch {
+ private static Dictionary velocities = new Dictionary();
+
+ static void Prefix(Vector3 fireDirection, ref FireData fireData, ref ModuleWeaponGun weapon, Tank shooter, ref bool seekingRounds, bool replayRounds) {
+ if (Main.allProjectilesHoming.Value) {
+ seekingRounds = true;
+ }
+ if (!velocities.ContainsKey(fireData)) {
+ velocities.Add(fireData, fireData.m_MuzzleVelocity);
+ fireData.m_MuzzleVelocity *= Main.muzzleVelocityMultiplier.Value;
+ } else if (velocities[fireData] != fireData.m_MuzzleVelocity * Main.muzzleVelocityMultiplier.Value) {
+ fireData.m_MuzzleVelocity = velocities[fireData] * Main.muzzleVelocityMultiplier.Value;
+ }
+ }
+ }
}
\ No newline at end of file
diff --git a/Projects/HouseFlipper/HouseFlipper/HouseFlipper.csproj b/Projects/HouseFlipper/HouseFlipper/HouseFlipper.csproj
index 257846a..046b7c3 100644
--- a/Projects/HouseFlipper/HouseFlipper/HouseFlipper.csproj
+++ b/Projects/HouseFlipper/HouseFlipper/HouseFlipper.csproj
@@ -1,78 +1,78 @@
-
-
-
-
- Debug
- AnyCPU
- {EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}
- Library
- Properties
- TerraTech
- TerraTech
- v4.8
- 512
-
-
- AnyCPU
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- AnyCPU
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ..\libs\0Harmony.dll
-
-
- ..\libs\Assembly-CSharp.dll
-
-
- ..\libs\BepInEx.dll
-
-
- ..\libs\ConfigurationManager.dll
-
-
- ..\libs\UnityEngine.dll
-
-
- ..\libs\UnityEngine.CoreModule.dll
-
-
-
-
+
+
+
+
+ Debug
+ AnyCPU
+ {EE5EFB7F-A4DC-44F0-967B-F71ECA2D46AE}
+ Library
+ Properties
+ TerraTech
+ TerraTech
+ v4.8
+ 512
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ..\libs\0Harmony.dll
+
+
+ ..\libs\Assembly-CSharp.dll
+
+
+ ..\libs\BepInEx.dll
+
+
+ ..\libs\ConfigurationManager.dll
+
+
+ ..\libs\UnityEngine.dll
+
+
+ ..\libs\UnityEngine.CoreModule.dll
+
+
+
+
\ No newline at end of file
diff --git a/Projects/HouseFlipper/HouseFlipper/MagnetPropertiesManager.cs b/Projects/HouseFlipper/HouseFlipper/MagnetPropertiesManager.cs
index 121beb4..23a74c1 100644
--- a/Projects/HouseFlipper/HouseFlipper/MagnetPropertiesManager.cs
+++ b/Projects/HouseFlipper/HouseFlipper/MagnetPropertiesManager.cs
@@ -1,81 +1,81 @@
-using System;
-using System.Collections.Generic;
-using HarmonyLib;
-
-namespace TerraTech {
- [HarmonyPatch]
- public class MagnetPropertiesManager {
- private static Dictionary strenghts = new Dictionary();
- private static Dictionary radii = new Dictionary();
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(ModuleItemHolderMagnet), "OnAttached")]
- static void PostfixCreate(ModuleItemHolderMagnet __instance) {
- // Console.WriteLine("ModuleItemHolderMagnet.OnAttached");
- if (!strenghts.ContainsKey(__instance)) {
- strenghts.Add(__instance, GetStrength(__instance));
- radii.Add(__instance, GetRadius(__instance));
- // Console.WriteLine("Patching {0}; m_Strength: {1}; m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), GetRadius(__instance));
- DoPatchSingle(__instance);
- // Console.WriteLine("Patched {0}; m_Strength: {1}; m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), GetRadius(__instance));
- }
- }
-
- [HarmonyPrefix]
- [HarmonyPatch(typeof(ModuleItemHolderMagnet), "OnDetaching")]
- static void PostfixDestroy(ModuleItemHolderMagnet __instance) {
- // Console.WriteLine("ModuleItemHolderMagnet.OnDetaching");
- // Console.WriteLine("Restoring {0}; m_Strength: {1}; m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), GetRadius(__instance));
- DoRestoreSingle(__instance);
- // Console.WriteLine("Restored {0}; m_Strength: {1}; m_Pickup.m_PickupRange: {2}", __instance.name, GetStrength(__instance), GetRadius(__instance));
- strenghts.Remove(__instance);
- radii.Remove(__instance);
- }
-
- public static void DoPatch() {
- // Console.WriteLine("Modifying {0} ModuleItemHolderMagnet", strenghts.Count);
- foreach (KeyValuePair keyValuePair in strenghts) {
- DoRestoreSingle(keyValuePair.Key);
- DoPatchSingle(keyValuePair.Key);
- }
- }
-
- static void DoPatchSingle(ModuleItemHolderMagnet moduleItemHolderMagnet) {
- SetStrength(moduleItemHolderMagnet, strenghts[moduleItemHolderMagnet] * Main.magnetStrenghtMultiplier.Value);
- SetRadius(moduleItemHolderMagnet, radii[moduleItemHolderMagnet] * Main.magnetRadiusMultiplier.Value);
- }
-
- static void DoRestoreSingle(ModuleItemHolderMagnet moduleItemHolderMagnet) {
- if (strenghts.ContainsKey(moduleItemHolderMagnet)) {
- SetStrength(moduleItemHolderMagnet, strenghts[moduleItemHolderMagnet]);
- }
- if (radii.ContainsKey(moduleItemHolderMagnet)) {
- SetRadius(moduleItemHolderMagnet, radii[moduleItemHolderMagnet]);
- }
- }
-
- private static float GetStrength(ModuleItemHolderMagnet moduleItemHolderMagnet) {
- return Traverse.Create(moduleItemHolderMagnet).Field("m_Strength").GetValue() as float? ?? 0f;
- }
-
- private static void SetStrength(ModuleItemHolderMagnet moduleItemHolderMagnet, float value) {
- Traverse.Create(moduleItemHolderMagnet).Field("m_Strength").SetValue(value);
- }
-
- private static float GetRadius(ModuleItemHolderMagnet moduleItemHolderMagnet) {
- ModuleItemPickup moduleItemPickup = Traverse.Create(moduleItemHolderMagnet).Field("m_Pickup").GetValue() as ModuleItemPickup;
- if (moduleItemPickup) {
- float radius = Traverse.Create(moduleItemPickup).Field("m_PickupRange").GetValue() as float? ?? 0f;
- return radius;
- }
- return 0f;
- }
-
- private static void SetRadius(ModuleItemHolderMagnet moduleItemHolderMagnet, float value) {
- ModuleItemPickup moduleItemPickup = Traverse.Create(moduleItemHolderMagnet).Field("m_Pickup").GetValue() as ModuleItemPickup;
- if (moduleItemPickup) {
- Traverse.Create(moduleItemPickup).Field("m_PickupRange").SetValue(value);
- }
- }
- }
+using System;
+using System.Collections.Generic;
+using HarmonyLib;
+
+namespace TerraTech {
+ [HarmonyPatch]
+ public class MagnetPropertiesManager {
+ private static Dictionary strenghts = new Dictionary();
+ private static Dictionary radii = new Dictionary