Small Logic Adjustments

This commit is contained in:
Lachlan Leone
2026-03-05 17:09:17 +11:00
parent d196cbcf9f
commit 81b980ca88
4 changed files with 20 additions and 10 deletions
+2 -2
View File
@@ -13,7 +13,7 @@ namespace MMOKitchen.Menus
{ {
} }
private Option<int> requiredPercentage = new Option<int>(new List<int> { 25, 50, 75, 100 }, Mod.manager.GetPreference<PreferenceInt>("requiredConsentPercentage").Get(), new List<string> { "25%", "50%", "75%", "100%" }); private Option<int> requiredPercentage = new Option<int>(new List<int> { 25, 50, 75, 100 }, Mod.manager.GetPreference<PreferenceInt>(Mod.PREFERENCE_REQUIRED_CONSENT_PERCENTAGE).Get(), new List<string> { "25%", "50%", "75%", "100%" });
private Option<float> scaleMultiplier = new Option<float>(new List<float> { 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, 0.8f, 0.9f, 1f }, Mod.manager.GetPreference<PreferenceFloat>("scaleAbove4PlayersMultiplier").Get(), new List<string> { "0.1", "0.2", "0.3", "0.4", "0.5", "0.6", "0.7", "0.8", "0.9", "1.0" }); private Option<float> scaleMultiplier = new Option<float>(new List<float> { 0.1f, 0.2f, 0.3f, 0.4f, 0.5f, 0.6f, 0.7f, 0.8f, 0.9f, 1f }, Mod.manager.GetPreference<PreferenceFloat>("scaleAbove4PlayersMultiplier").Get(), new List<string> { "0.1", "0.2", "0.3", "0.4", "0.5", "0.6", "0.7", "0.8", "0.9", "1.0" });
private Option<bool> scaleEnabled = new Option<bool>(new List<bool> { true, false }, Mod.manager.GetPreference<PreferenceBool>("scaleAbove4Players").Get(), new List<string> { "Enabled", "Disabled" }); private Option<bool> scaleEnabled = new Option<bool>(new List<bool> { true, false }, Mod.manager.GetPreference<PreferenceBool>("scaleAbove4Players").Get(), new List<string> { "Enabled", "Disabled" });
@@ -24,7 +24,7 @@ namespace MMOKitchen.Menus
AddSelect<int>(requiredPercentage); AddSelect<int>(requiredPercentage);
requiredPercentage.OnChanged += delegate (object _, int result) requiredPercentage.OnChanged += delegate (object _, int result)
{ {
Mod.manager.GetPreference<PreferenceInt>("requiredConsentPercentage").Set(result); Mod.manager.GetPreference<PreferenceInt>(Mod.PREFERENCE_REQUIRED_CONSENT_PERCENTAGE).Set(result);
Mod.manager.Save(); Mod.manager.Save();
}; };
+6 -2
View File
@@ -17,6 +17,10 @@ namespace MMOKitchen
public const string MOD_AUTHOR = "StarFluxGames"; public const string MOD_AUTHOR = "StarFluxGames";
public const string MOD_GAMEVERSION = ">=1.2.0"; 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 KitchenLogger Logger;
public static PreferenceManager manager; public static PreferenceManager manager;
@@ -37,9 +41,9 @@ namespace MMOKitchen
{ {
Logger = InitLogger(); Logger = InitLogger();
manager = new PreferenceManager("mmokitchen"); // Keeping the old GUID so we don't have to reset the preferences 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 PreferenceBool("scaleAbove4Players", false));
manager.RegisterPreference(new PreferenceFloat("scaleAbove4PlayersMultiplier", 0.1f)); manager.RegisterPreference(new PreferenceFloat("scaleAbove4PlayersMultiplier", 0.235f));
manager.Load(); manager.Load();
ModsPreferencesMenu<MenuAction>.RegisterMenu("MMO Kitchen", typeof(PreferenceMenu<MenuAction>), typeof(MenuAction)); ModsPreferencesMenu<MenuAction>.RegisterMenu("MMO Kitchen", typeof(PreferenceMenu<MenuAction>), typeof(MenuAction));
+1 -1
View File
@@ -37,7 +37,7 @@ namespace MMOKitchen.Patches
float progressSpeed = (float)getProgressSpeed.Invoke(__instance, new object[] { }); float progressSpeed = (float)getProgressSpeed.Invoke(__instance, new object[] { });
if ((((float)counter / (float)x.Count) * 100) >= Mod.manager.GetPreference<PreferenceInt>("requiredConsentPercentage").Value) if ((((float)counter / (float)x.Count) * 100) >= Mod.manager.GetPreference<PreferenceInt>(Mod.PREFERENCE_REQUIRED_CONSENT_PERCENTAGE).Value)
progressSpeed = 1f; progressSpeed = 1f;
if (progressSpeed <= 0f) if (progressSpeed <= 0f)
+11 -5
View File
@@ -8,14 +8,19 @@ namespace MMOKitchen.Patches
public class DifficultyHelpersPatch public class DifficultyHelpersPatch
{ {
[HarmonyPatch("CustomerPlayersRateModifier")] [HarmonyPatch("CustomerPlayersRateModifier")]
[HarmonyPostfix] [HarmonyPrefix]
static void CustomerPlayersRateModifier_Postfix(ref float __result, int player_count) static bool CustomerPlayersRateModifier_Postfix(ref float __result, int player_count)
{ {
if (Mod.manager.GetPreference<PreferenceBool>("scaleAbove4Players").Value) if (player_count < 4 && Mod.manager.GetPreference<PreferenceBool>("scaleAbove4Players").Value)
if (player_count > 4) {
__result = 1 + (player_count * Mod.manager.GetPreference<PreferenceFloat>("scaleAbove4PlayersMultiplier").Value); __result = (0.55f + (player_count * 0.25f) - 0.05f) * Mod.manager.GetPreference<PreferenceFloat>("scaleAbove4PlayersMultiplier").Value;
return false;
} }
return true;
}
/*
[HarmonyPatch("FireSpreadModifier")] [HarmonyPatch("FireSpreadModifier")]
[HarmonyPostfix] [HarmonyPostfix]
static void FireSpreadModifier_Postfix(ref float __result, int player_count) static void FireSpreadModifier_Postfix(ref float __result, int player_count)
@@ -33,5 +38,6 @@ namespace MMOKitchen.Patches
if (player_count > 4) if (player_count > 4)
__result = 0.75f + (player_count * Mod.manager.GetPreference<PreferenceFloat>("scaleAbove4PlayersMultiplier").Value); __result = 0.75f + (player_count * Mod.manager.GetPreference<PreferenceFloat>("scaleAbove4PlayersMultiplier").Value);
} }
*/
} }
} }