From 2e7f8015c523ba1a9730cbdf1e396cb21b19f24f Mon Sep 17 00:00:00 2001 From: PhatPhuckDave Date: Sat, 28 Sep 2024 00:25:00 +0200 Subject: [PATCH] Add InfectionFreeZone --- .../InfectionFreeZone/InfectionFreeZone.sln | 16 ++++ .../InfectionFreeZone.sln.DotSettings.user | 4 + .../InfectionFreeZone/.editorconfig | 6 ++ .../InfectionFreeZone/InfectionFreeZone.cs | 93 +++++++++++++++++++ .../InfectionFreeZone.csproj | 62 +++++++++++++ .../Properties/AssemblyInfo.cs | 35 +++++++ .../InfectionFreeZone/InfectionFreeZone/sync | 1 + 7 files changed, 217 insertions(+) create mode 100644 Projects/InfectionFreeZone/InfectionFreeZone.sln create mode 100644 Projects/InfectionFreeZone/InfectionFreeZone.sln.DotSettings.user create mode 100644 Projects/InfectionFreeZone/InfectionFreeZone/.editorconfig create mode 100644 Projects/InfectionFreeZone/InfectionFreeZone/InfectionFreeZone.cs create mode 100644 Projects/InfectionFreeZone/InfectionFreeZone/InfectionFreeZone.csproj create mode 100644 Projects/InfectionFreeZone/InfectionFreeZone/Properties/AssemblyInfo.cs create mode 100644 Projects/InfectionFreeZone/InfectionFreeZone/sync diff --git a/Projects/InfectionFreeZone/InfectionFreeZone.sln b/Projects/InfectionFreeZone/InfectionFreeZone.sln new file mode 100644 index 0000000..7083dae --- /dev/null +++ b/Projects/InfectionFreeZone/InfectionFreeZone.sln @@ -0,0 +1,16 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InfectionFreeZone", "InfectionFreeZone\InfectionFreeZone.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/InfectionFreeZone/InfectionFreeZone.sln.DotSettings.user b/Projects/InfectionFreeZone/InfectionFreeZone.sln.DotSettings.user new file mode 100644 index 0000000..4c6b6d4 --- /dev/null +++ b/Projects/InfectionFreeZone/InfectionFreeZone.sln.DotSettings.user @@ -0,0 +1,4 @@ + + <AssemblyExplorer> + <Assembly Path="C:\Users\Administrator\RiderProjects\Bepinex\Projects\SupermarketTogether\SupermarketTogether\bin\Release\Assembly-CSharp.dll" /> +</AssemblyExplorer> \ No newline at end of file diff --git a/Projects/InfectionFreeZone/InfectionFreeZone/.editorconfig b/Projects/InfectionFreeZone/InfectionFreeZone/.editorconfig new file mode 100644 index 0000000..7e98c67 --- /dev/null +++ b/Projects/InfectionFreeZone/InfectionFreeZone/.editorconfig @@ -0,0 +1,6 @@ +# CSharp formatting rules: +[*.cs] +csharp_new_line_before_open_brace = none +csharp_new_line_before_else = false +csharp_new_line_before_catch = false +csharp_new_line_before_finally = false \ No newline at end of file diff --git a/Projects/InfectionFreeZone/InfectionFreeZone/InfectionFreeZone.cs b/Projects/InfectionFreeZone/InfectionFreeZone/InfectionFreeZone.cs new file mode 100644 index 0000000..3f5b7f5 --- /dev/null +++ b/Projects/InfectionFreeZone/InfectionFreeZone/InfectionFreeZone.cs @@ -0,0 +1,93 @@ +using System; +using System.Linq; +using BepInEx; +using BepInEx.Configuration; +using HarmonyLib; +using HarmonyLib.Tools; + +namespace InfectionFreeZone { + [BepInPlugin(pluginGuid, pluginName, pluginVersion)] + public class Main : BaseUnityPlugin { + private const string pluginGuid = "InfectionFreeDave"; + private const string pluginName = "InfectionFreeDave"; + private const string pluginVersion = "1.0.0"; + + public static ConfigEntry debug; + + public static ConfigEntry moneyMultiplier; + + public void Awake() { + debug = Config.Bind("General", "Debug", false); + + moneyMultiplier = Config.Bind("General", "MoneyMultiplier", 1f); + + 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"); + foreach (var method in originalMethods) { + Logger.LogInfo("Patched " + method.Name); + } + } + } + + // [HarmonyPatch] + // public class Patches { + // [HarmonyPrefix] + // [HarmonyPatch(typeof(TavernModel), "ChangeMoney")] + // public static void PrefixMoney(ref int value) { + // if (Main.debug.Value) + // Console.WriteLine($"Money is {value}"); + // if (value > 0) { + // value = (int)(value * Main.moneyMultiplier.Value); + // if (Main.debug.Value) + // Console.WriteLine($"Money modified to {value}"); + // } + // } + // + // [HarmonyPrefix] + // [HarmonyPatch(typeof(UiController), "ChangeGameSpeed")] + // public static void PrefixSpeed(ref int gameSpeed) { + // if (Main.debug.Value) + // Console.WriteLine($"Game speed is {gameSpeed}"); + // if (gameSpeed > 1) { + // gameSpeed = Main.fastSpeed.Value; + // if (Main.debug.Value) + // Console.WriteLine($"Game speed modified to {gameSpeed}"); + // } + // } + // + // [HarmonyPrefix] + // [HarmonyPatch(typeof(StaffModel), "UpdateXp")] + // public static void PrefixXp(ref int id, ref int amount) { + // if (Main.debug.Value) + // Console.WriteLine($"Staff xp is {amount}"); + // if (amount > 0) { + // amount = (int)(amount * Main.staffXpMultiplier.Value); + // if (Main.debug.Value) + // Console.WriteLine($"Staff xp modified to {amount}"); + // } + // } + // + // [HarmonyPostfix] + // [HarmonyPatch(typeof(TechTreeModel), nameof(TechTreeModel.GetBonusPeoplePerMinute))] + // public static void PostfixPeoplePerMinute(ref float __result) { + // __result *= Main.peoplePerMinuteMultiplier.Value; + // __result += Main.peoplePerMinuteOffset.Value; + // } + // + // [HarmonyPostfix] + // [HarmonyPatch(typeof(TavernModel), nameof(TavernModel.GetQuality))] + // public static void PostfixQuality(ref int __result) { + // if (Main.debug.Value) + // Console.WriteLine($"Quality is {__result}"); + // if (__result > 0) { + // __result = (int)(__result * Main.prestigeMultiplier.Value); + // if (Main.debug.Value) + // Console.WriteLine($"Quality modified to {__result}"); + // } + // } + // } +} \ No newline at end of file diff --git a/Projects/InfectionFreeZone/InfectionFreeZone/InfectionFreeZone.csproj b/Projects/InfectionFreeZone/InfectionFreeZone/InfectionFreeZone.csproj new file mode 100644 index 0000000..0a7a1a6 --- /dev/null +++ b/Projects/InfectionFreeZone/InfectionFreeZone/InfectionFreeZone.csproj @@ -0,0 +1,62 @@ + + + + + C:/Games/Infection.Free.Zone.v0.24.8.21a + $(GAME_DIR)/Infection Free Zone_Data/Managed + $(GAME_DIR)/BepInEx + Debug + AnyCPU + {DA9D274E-486F-4F82-84FF-CD9388CB0B09} + Library + Properties + InfectionFreeZone + InfectionFreeZone + v4.8.1 + 512 + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + $(GAME_BEPINEX)/core/0Harmony.dll + + + $(GAME_BEPINEX)/core/BepInEx.dll + + + $(GAME_BEPINEX)/plugins/ConfigurationManager/ConfigurationManager.dll + + + $(GAME_MANAGED)/Assembly-CSharp.dll + + + $(GAME_MANAGED)/UnityEngine.dll + + + $(GAME_MANAGED)/UnityEngine.CoreModule.dll + + + + diff --git a/Projects/InfectionFreeZone/InfectionFreeZone/Properties/AssemblyInfo.cs b/Projects/InfectionFreeZone/InfectionFreeZone/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..65fc627 --- /dev/null +++ b/Projects/InfectionFreeZone/InfectionFreeZone/Properties/AssemblyInfo.cs @@ -0,0 +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("InfectionFreeZone")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("InfectionFreeZone")] +[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/InfectionFreeZone/InfectionFreeZone/sync b/Projects/InfectionFreeZone/InfectionFreeZone/sync new file mode 100644 index 0000000..442317f --- /dev/null +++ b/Projects/InfectionFreeZone/InfectionFreeZone/sync @@ -0,0 +1 @@ +bin/Release/TavernDave.dll,"C:\Games\Tavern Master\BepInEx\plugins\TavernDave.dll" \ No newline at end of file