From 81b980ca88e7a2ee2668144bcebeef0418c18766 Mon Sep 17 00:00:00 2001 From: Lachlan Leone Date: Thu, 5 Mar 2026 17:09:17 +1100 Subject: [PATCH] Small Logic Adjustments --- Menus/PreferenceMenu.cs | 4 ++-- Mod.cs | 8 ++++++-- Patches/ConsentElementPatch.cs | 2 +- Patches/DifficultyHelpersPatch.cs | 16 +++++++++++----- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/Menus/PreferenceMenu.cs b/Menus/PreferenceMenu.cs index b492df2..f0f130f 100644 --- a/Menus/PreferenceMenu.cs +++ b/Menus/PreferenceMenu.cs @@ -13,7 +13,7 @@ namespace MMOKitchen.Menus { } - private Option requiredPercentage = new Option(new List { 25, 50, 75, 100 }, Mod.manager.GetPreference("requiredConsentPercentage").Get(), new List { "25%", "50%", "75%", "100%" }); + private Option requiredPercentage = new Option(new List { 25, 50, 75, 100 }, Mod.manager.GetPreference(Mod.PREFERENCE_REQUIRED_CONSENT_PERCENTAGE).Get(), new List { "25%", "50%", "75%", "100%" }); private Option scaleMultiplier = new Option(new List { 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, 0.8f, 0.9f, 1f }, Mod.manager.GetPreference("scaleAbove4PlayersMultiplier").Get(), new List { "0.1", "0.2", "0.3", "0.4", "0.5", "0.6", "0.7", "0.8", "0.9", "1.0" }); private Option scaleEnabled = new Option(new List { true, false }, Mod.manager.GetPreference("scaleAbove4Players").Get(), new List { "Enabled", "Disabled" }); @@ -24,7 +24,7 @@ namespace MMOKitchen.Menus AddSelect(requiredPercentage); requiredPercentage.OnChanged += delegate (object _, int result) { - Mod.manager.GetPreference("requiredConsentPercentage").Set(result); + Mod.manager.GetPreference(Mod.PREFERENCE_REQUIRED_CONSENT_PERCENTAGE).Set(result); Mod.manager.Save(); }; diff --git a/Mod.cs b/Mod.cs index 23a396a..7c8664b 100644 --- a/Mod.cs +++ b/Mod.cs @@ -16,6 +16,10 @@ namespace MMOKitchen public const string MOD_VERSION = "0.3.3"; public const string MOD_AUTHOR = "StarFluxGames"; public const string MOD_GAMEVERSION = ">=1.2.0"; + + public const string PREFERENCE_REQUIRED_CONSENT_PERCENTAGE = "requiredConsentPercentage"; + public const string PREFERENCE_SCALE_ABOVE_4_PLAYERS = "scaleAbove4Players"; + public const string PREFERENCE_SCALE_ABOVE_4_PLAYERS_MULTIPLIER = "scaleAbove4PlayersMultiplier"; public static KitchenLogger Logger; public static PreferenceManager manager; @@ -37,9 +41,9 @@ namespace MMOKitchen { Logger = InitLogger(); manager = new PreferenceManager("mmokitchen"); // Keeping the old GUID so we don't have to reset the preferences - manager.RegisterPreference(new PreferenceInt("requiredConsentPercentage", 100)); + manager.RegisterPreference(new PreferenceInt(PREFERENCE_REQUIRED_CONSENT_PERCENTAGE, 100)); manager.RegisterPreference(new PreferenceBool("scaleAbove4Players", false)); - manager.RegisterPreference(new PreferenceFloat("scaleAbove4PlayersMultiplier", 0.1f)); + manager.RegisterPreference(new PreferenceFloat("scaleAbove4PlayersMultiplier", 0.235f)); manager.Load(); ModsPreferencesMenu.RegisterMenu("MMO Kitchen", typeof(PreferenceMenu), typeof(MenuAction)); diff --git a/Patches/ConsentElementPatch.cs b/Patches/ConsentElementPatch.cs index 7f82ee0..b7390b3 100644 --- a/Patches/ConsentElementPatch.cs +++ b/Patches/ConsentElementPatch.cs @@ -37,7 +37,7 @@ namespace MMOKitchen.Patches float progressSpeed = (float)getProgressSpeed.Invoke(__instance, new object[] { }); - if ((((float)counter / (float)x.Count) * 100) >= Mod.manager.GetPreference("requiredConsentPercentage").Value) + if ((((float)counter / (float)x.Count) * 100) >= Mod.manager.GetPreference(Mod.PREFERENCE_REQUIRED_CONSENT_PERCENTAGE).Value) progressSpeed = 1f; if (progressSpeed <= 0f) diff --git a/Patches/DifficultyHelpersPatch.cs b/Patches/DifficultyHelpersPatch.cs index c6a5119..517719f 100644 --- a/Patches/DifficultyHelpersPatch.cs +++ b/Patches/DifficultyHelpersPatch.cs @@ -8,14 +8,19 @@ namespace MMOKitchen.Patches public class DifficultyHelpersPatch { [HarmonyPatch("CustomerPlayersRateModifier")] - [HarmonyPostfix] - static void CustomerPlayersRateModifier_Postfix(ref float __result, int player_count) + [HarmonyPrefix] + static bool CustomerPlayersRateModifier_Postfix(ref float __result, int player_count) { - if (Mod.manager.GetPreference("scaleAbove4Players").Value) - if (player_count > 4) - __result = 1 + (player_count * Mod.manager.GetPreference("scaleAbove4PlayersMultiplier").Value); + if (player_count < 4 && Mod.manager.GetPreference("scaleAbove4Players").Value) + { + __result = (0.55f + (player_count * 0.25f) - 0.05f) * Mod.manager.GetPreference("scaleAbove4PlayersMultiplier").Value; + return false; + } + + return true; } + /* [HarmonyPatch("FireSpreadModifier")] [HarmonyPostfix] static void FireSpreadModifier_Postfix(ref float __result, int player_count) @@ -33,5 +38,6 @@ namespace MMOKitchen.Patches if (player_count > 4) __result = 0.75f + (player_count * Mod.manager.GetPreference("scaleAbove4PlayersMultiplier").Value); } + */ } }