diff --git a/src/CrowdedMod/CrowdedMod.csproj b/src/CrowdedMod/CrowdedMod.csproj
index 54c8d32..3ae5a94 100644
--- a/src/CrowdedMod/CrowdedMod.csproj
+++ b/src/CrowdedMod/CrowdedMod.csproj
@@ -2,7 +2,7 @@
net6.0
- 2.7.0-corelcr
+ 2.9.0-corelcr
CrowdedMods, andry08
latest
@@ -11,11 +11,12 @@
Steam
- 2022.10.25
+ 2022.12.14
+ D:\RE\Among Us\v2022.12.14s\BepInEx
-
-
+
+
diff --git a/src/CrowdedMod/CrowdedModPlugin.cs b/src/CrowdedMod/CrowdedModPlugin.cs
index 655b487..fa09281 100644
--- a/src/CrowdedMod/CrowdedModPlugin.cs
+++ b/src/CrowdedMod/CrowdedModPlugin.cs
@@ -1,4 +1,5 @@
using System.Linq;
+using AmongUs.GameOptions;
using BepInEx;
using BepInEx.Unity.IL2CPP;
using HarmonyLib;
@@ -18,8 +19,9 @@ public partial class CrowdedModPlugin : BasePlugin
public override void Load()
{
- GameOptionsData.RecommendedImpostors = GameOptionsData.MaxImpostors = Enumerable.Repeat(127, 127).ToArray();
- GameOptionsData.MinPlayers = Enumerable.Repeat(4, 127).ToArray();
+ NormalGameOptionsV07.RecommendedImpostors = NormalGameOptionsV07.MaxImpostors = Enumerable.Repeat(127, 127).ToArray();
+ NormalGameOptionsV07.MinPlayers = Enumerable.Repeat(4, 127).ToArray();
+
Harmony.PatchAll();
}
diff --git a/src/CrowdedMod/Net/SetColorRpc.cs b/src/CrowdedMod/Net/SetColorRpc.cs
index 85cac74..fe8d42c 100644
--- a/src/CrowdedMod/Net/SetColorRpc.cs
+++ b/src/CrowdedMod/Net/SetColorRpc.cs
@@ -1,7 +1,7 @@
-using Hazel;
+using CrowdedMod;
+using Hazel;
using Reactor.Networking.Attributes;
using Reactor.Networking.Rpc;
-
namespace CrowdedMod.Net;
[RegisterCustomRpc((uint) CustomRpcCalls.SetColor)]
diff --git a/src/CrowdedMod/Patches/CreateGameOptionsPatches.cs b/src/CrowdedMod/Patches/CreateGameOptionsPatches.cs
index 4fa157b..75bf205 100644
--- a/src/CrowdedMod/Patches/CreateGameOptionsPatches.cs
+++ b/src/CrowdedMod/Patches/CreateGameOptionsPatches.cs
@@ -1,4 +1,5 @@
using System;
+using AmongUs.GameOptions;
using HarmonyLib;
using Reactor.Utilities.Extensions;
using TMPro;
@@ -68,6 +69,11 @@ public static void Postfix(CreateOptionsPicker __instance)
playerButton.OnClick.AddListener((Action)(() =>
__instance.SetMaxPlayersButtons(byte.Parse(text.text))));
}
+
+ for (var i = 0; i < __instance.MaxPlayerButtons.Count; i++) {
+ __instance.MaxPlayerButtons[i].enabled =
+ __instance.MaxPlayerButtons[i].GetComponentInChildren().text == __instance.GetTargetOptions().MaxPlayers.ToString();
+ }
}
{
@@ -79,6 +85,8 @@ public static void Postfix(CreateOptionsPicker __instance)
secondButton.GetComponent().Destroy();
var secondButtonText = secondButton.GetComponentInChildren();
+ secondButtonText.text =
+ __instance.GetTargetOptions().NumImpostors.ToString();
var firstButtonRenderer = __instance.ImpostorButtons[0];
firstButtonRenderer.enabled = false;
@@ -112,11 +120,11 @@ public static void Postfix(CreateOptionsPicker __instance)
[HarmonyPatch(typeof(CreateOptionsPicker), nameof(CreateOptionsPicker.UpdateMaxPlayersButtons))]
public static class CreateOptionsPicker_UpdateMaxPlayersButtons
{
- public static bool Prefix(CreateOptionsPicker __instance, [HarmonyArgument(0)] GameOptionsData opts)
+ public static bool Prefix(CreateOptionsPicker __instance, [HarmonyArgument(0)] IGameOptions opts)
{
if (__instance.CrewArea)
{
- __instance.CrewArea.SetCrewSize(opts.MaxPlayers, opts.numImpostors);
+ __instance.CrewArea.SetCrewSize(opts.MaxPlayers, opts.NumImpostors);
}
var selectedAsString = opts.MaxPlayers.ToString();
@@ -137,22 +145,5 @@ public static bool Prefix()
return false;
}
}
-
- [HarmonyPatch(typeof(GameOptionsData), nameof(GameOptionsData.GameHostOptions), MethodType.Getter)]
- public static class SaveManager_get_GameHostOptions
- {
- public static bool Prefix(out GameOptionsData __result)
- {
- GameOptionsData.hostOptionsData ??= GameOptionsData.LoadGameHostOptions();
-
- // patched because of impostor clamping
- GameOptionsData.hostOptionsData.NumImpostors =
- Mathf.Clamp(GameOptionsData.hostOptionsData.NumImpostors, 1, GameOptionsData.hostOptionsData.MaxPlayers - 1);
- GameOptionsData.hostOptionsData.KillDistance = Mathf.Clamp(GameOptionsData.hostOptionsData.KillDistance, 0, 2);
-
- __result = GameOptionsData.hostOptionsData;
- return false;
- }
- }
}
}
\ No newline at end of file
diff --git a/src/CrowdedMod/Patches/GenericPatches.cs b/src/CrowdedMod/Patches/GenericPatches.cs
index 5a1e2ae..81ba4eb 100644
--- a/src/CrowdedMod/Patches/GenericPatches.cs
+++ b/src/CrowdedMod/Patches/GenericPatches.cs
@@ -68,7 +68,7 @@ public static void Postfix(GameStartManager __instance)
{
if (fixDummyCounterColor != null)
{
- __instance.PlayerCounter.text = $"{fixDummyCounterColor}{GameData.Instance.PlayerCount}/{PlayerControl.GameOptions.MaxPlayers}";
+ __instance.PlayerCounter.text = $"{fixDummyCounterColor}{GameData.Instance.PlayerCount}/{GameManager.Instance.LogicOptions.MaxPlayers}";
fixDummyCounterColor = null;
}
}