From 654db62f2540931e85c9ae50a66d08e9245510a0 Mon Sep 17 00:00:00 2001 From: D1GQ Date: Tue, 25 Mar 2025 13:42:32 -0500 Subject: [PATCH 1/7] supported --- main.cs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/main.cs b/main.cs index 02b8dbf..4ae7736 100644 --- a/main.cs +++ b/main.cs @@ -87,11 +87,7 @@ internal class Main : BasePlugin internal static List SupportedAmongUsVersions = [ - "2024.11.26", - "2024.10.29", - "2024.9.4", - "2024.8.13", - "2024.6.18", + "2025.3.25", ]; internal static List AllPlayerControls = []; From 028676c42b7750a25da1a793b4d0d87f18e6fbd5 Mon Sep 17 00:00:00 2001 From: D1GQ Date: Tue, 25 Mar 2025 19:14:11 -0500 Subject: [PATCH 2/7] Fix code for 2025.3.25 --- Modules/AntiCheat/BAUAntiCheat.cs | 10 +-- .../AntiCheat/RPCHandlers/SetHatHandler.cs | 2 +- .../RPCHandlers/SetNamePlateHandler.cs | 2 +- .../AntiCheat/RPCHandlers/SetPetHandler.cs | 2 +- .../AntiCheat/RPCHandlers/SetSkinHandler.cs | 2 +- .../AntiCheat/RPCHandlers/SetVisorHandler.cs | 2 +- Modules/FileChecker.cs | 2 +- Modules/GameState.cs | 2 +- Patches/DisconnectPenaltyPatch.cs | 7 +- Patches/GamePlayManagerPatch.cs | 16 ++-- Patches/PrivateLobbyPatch.cs | 73 ++++++++----------- 11 files changed, 53 insertions(+), 67 deletions(-) diff --git a/Modules/AntiCheat/BAUAntiCheat.cs b/Modules/AntiCheat/BAUAntiCheat.cs index 9d1c4b4..7ca53b9 100644 --- a/Modules/AntiCheat/BAUAntiCheat.cs +++ b/Modules/AntiCheat/BAUAntiCheat.cs @@ -185,11 +185,11 @@ class BAUAntiCheat if (GameState.IsInGamePlay) { if (callId is (byte)RpcCalls.SetColor - or (byte)RpcCalls.SetHat - or (byte)RpcCalls.SetSkin - or (byte)RpcCalls.SetVisor - or (byte)RpcCalls.SetPet - or (byte)RpcCalls.SetNamePlate) + or (byte)RpcCalls.SetHat_Deprecated + or (byte)RpcCalls.SetSkin_Deprecated + or (byte)RpcCalls.SetVisor_Deprecated + or (byte)RpcCalls.SetPet_Deprecated + or (byte)RpcCalls.SetNamePlate_Deprecated) { BetterNotificationManager.NotifyCheat(player, string.Format(Translator.GetString("AntiCheat.InvalidSetRPC"), Enum.GetName((RpcCalls)callId))); Logger.LogCheat($"{player.BetterData().RealName} {Enum.GetName((RpcCalls)callId)}: {GameState.IsInGamePlay}"); diff --git a/Modules/AntiCheat/RPCHandlers/SetHatHandler.cs b/Modules/AntiCheat/RPCHandlers/SetHatHandler.cs index 9e967ae..90460e4 100644 --- a/Modules/AntiCheat/RPCHandlers/SetHatHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SetHatHandler.cs @@ -5,5 +5,5 @@ namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] internal sealed class SetHatHandler : RPCHandler { - internal override byte CallId => (byte)RpcCalls.SetHat; + internal override byte CallId => (byte)RpcCalls.SetHat_Deprecated; } diff --git a/Modules/AntiCheat/RPCHandlers/SetNamePlateHandler.cs b/Modules/AntiCheat/RPCHandlers/SetNamePlateHandler.cs index 9dac073..4fb3e3d 100644 --- a/Modules/AntiCheat/RPCHandlers/SetNamePlateHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SetNamePlateHandler.cs @@ -5,5 +5,5 @@ namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] internal sealed class SetNamePlateHandler : RPCHandler { - internal override byte CallId => (byte)RpcCalls.SetNamePlate; + internal override byte CallId => (byte)RpcCalls.SetNamePlate_Deprecated; } diff --git a/Modules/AntiCheat/RPCHandlers/SetPetHandler.cs b/Modules/AntiCheat/RPCHandlers/SetPetHandler.cs index ad1c416..26ff436 100644 --- a/Modules/AntiCheat/RPCHandlers/SetPetHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SetPetHandler.cs @@ -5,5 +5,5 @@ namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] internal sealed class SetPetHandler : RPCHandler { - internal override byte CallId => (byte)RpcCalls.SetPet; + internal override byte CallId => (byte)RpcCalls.SetPet_Deprecated; } diff --git a/Modules/AntiCheat/RPCHandlers/SetSkinHandler.cs b/Modules/AntiCheat/RPCHandlers/SetSkinHandler.cs index 1bc02e2..777a849 100644 --- a/Modules/AntiCheat/RPCHandlers/SetSkinHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SetSkinHandler.cs @@ -5,5 +5,5 @@ namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] internal sealed class SetSkinHandler : RPCHandler { - internal override byte CallId => (byte)RpcCalls.SetSkin; + internal override byte CallId => (byte)RpcCalls.SetSkin_Deprecated; } diff --git a/Modules/AntiCheat/RPCHandlers/SetVisorHandler.cs b/Modules/AntiCheat/RPCHandlers/SetVisorHandler.cs index 83dea15..feffd25 100644 --- a/Modules/AntiCheat/RPCHandlers/SetVisorHandler.cs +++ b/Modules/AntiCheat/RPCHandlers/SetVisorHandler.cs @@ -5,5 +5,5 @@ namespace BetterAmongUs.Modules.AntiCheat; [RegisterRPCHandler] internal sealed class SetVisorHandler : RPCHandler { - internal override byte CallId => (byte)RpcCalls.SetVisor; + internal override byte CallId => (byte)RpcCalls.SetVisor_Deprecated; } diff --git a/Modules/FileChecker.cs b/Modules/FileChecker.cs index 10888f9..f0d3597 100644 --- a/Modules/FileChecker.cs +++ b/Modules/FileChecker.cs @@ -17,7 +17,7 @@ class FileChecker "System", "Unity", "Harmony", "BepInEx", "Microsoft", "Il2Cpp", "Hazel", "MonoMod", "netstandard", "mscorlib", "AssetRipper", "Cpp2IL", "AsmResolver", "Iced", "SemanticVersioning", "Mono.Cecil", "Assembly-CSharp", "StableNameDotNet", - "Disarm", "Gee.External.Capstone", "Rewired_Core", "AddressablesPlayAssetDelivery", + "Disarm", "Gee.External.Capstone", "Rewired_Core", "AddressablesPlayAssetDelivery", "Newtonsoft.Json", "Assembly-CSharp-firstpass", "Sentry", "BetterAmongUs", "MCI", "CrowdedMod", "Mini.RegionInstall", "Unlock", "Skin" }); diff --git a/Modules/GameState.cs b/Modules/GameState.cs index 1ba67f1..eabf349 100644 --- a/Modules/GameState.cs +++ b/Modules/GameState.cs @@ -11,7 +11,7 @@ internal static class GameState internal static bool IsNormalGame => GameOptionsManager.Instance.CurrentGameOptions.GameMode is GameModes.Normal or GameModes.NormalFools; internal static bool IsHideNSeek => GameOptionsManager.Instance != null && GameOptionsManager.Instance.CurrentGameOptions.GameMode is GameModes.HideNSeek or GameModes.SeekFools; internal static bool SkeldIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.Skeld; - internal static bool MiraHQIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.Mira; + internal static bool MiraHQIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.MiraHQ; internal static bool PolusIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.Polus; internal static bool DleksIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.Dleks; internal static bool AirshipIsActive => (MapNames)GameOptionsManager.Instance.CurrentGameOptions.MapId == MapNames.Airship; diff --git a/Patches/DisconnectPenaltyPatch.cs b/Patches/DisconnectPenaltyPatch.cs index 3827706..4d4358a 100644 --- a/Patches/DisconnectPenaltyPatch.cs +++ b/Patches/DisconnectPenaltyPatch.cs @@ -1,11 +1,12 @@ -using HarmonyLib; +using AmongUs.Data.Player; +using HarmonyLib; namespace BetterAmongUs.Patches; -[HarmonyPatch(typeof(StatsManager), nameof(StatsManager.BanMinutesLeft), MethodType.Getter)] +[HarmonyPatch(typeof(PlayerBanData), nameof(PlayerBanData.BanMinutesLeft), MethodType.Getter)] internal static class DisconnectPenaltyPatch { - internal static bool Prefix(StatsManager __instance, ref int __result) + internal static bool Prefix(PlayerBanData __instance, ref int __result) { if (__instance.BanPoints != 0f) { diff --git a/Patches/GamePlayManagerPatch.cs b/Patches/GamePlayManagerPatch.cs index 9c7ae03..b9ad537 100644 --- a/Patches/GamePlayManagerPatch.cs +++ b/Patches/GamePlayManagerPatch.cs @@ -205,12 +205,12 @@ class GamePlayManager switch (EndGameResult.CachedGameOverReason) { - case GameOverReason.HumansByTask: + case GameOverReason.CrewmatesByTask: winTeam = Translator.GetString(StringNames.Crewmates); winTag = Translator.GetString("Game.Summary.Result.TasksCompletion"); winColor = "#8cffff"; break; - case GameOverReason.HumansByVote: + case GameOverReason.CrewmatesByVote: winTeam = Translator.GetString(StringNames.Crewmates); winTag = Translator.GetString("Game.Summary.Result.ImpostersVotedOut"); winColor = "#8cffff"; @@ -220,33 +220,33 @@ class GamePlayManager winTag = Translator.GetString("Game.Summary.Result.ImpostorsDisconnected"); winColor = "#8cffff"; break; - case GameOverReason.ImpostorByKill: + case GameOverReason.ImpostorsByKill: winTeam = Translator.GetString(StringNames.ImpostorsCategory); winTag = Translator.GetString("Game.Summary.Result.CrewOutnumbered"); winColor = "#f00202"; break; - case GameOverReason.ImpostorBySabotage: + case GameOverReason.ImpostorsBySabotage: winTeam = Translator.GetString(StringNames.ImpostorsCategory); winTag = Translator.GetString("Game.Summary.Result.Sabotage"); winColor = "#f00202"; break; - case GameOverReason.ImpostorByVote: + case GameOverReason.ImpostorsByVote: winTeam = Translator.GetString(StringNames.ImpostorsCategory); winTag = Translator.GetString("Game.Summary.Result.CrewOutnumbered"); winColor = "#f00202"; break; - case GameOverReason.HumansDisconnect: + case GameOverReason.CrewmateDisconnect: winTeam = Translator.GetString(StringNames.ImpostorsCategory); winTag = Translator.GetString("Game.Summary.Result.CrematesDisconnected"); winColor = "#f00202"; break; - case GameOverReason.HideAndSeek_ByTimer: + case GameOverReason.HideAndSeek_CrewmatesByTimer: winTeam = Translator.GetString("Game.Summary.Hiders"); winTag = Translator.GetString("Game.Summary.Result.TimeOut"); winColor = "#8cffff"; break; - case GameOverReason.HideAndSeek_ByKills: + case GameOverReason.HideAndSeek_ImpostorsByKills: winTeam = Translator.GetString("Game.Summary.Seekers"); winTag = Translator.GetString("Game.Summary.Result.NoSurvivors"); winColor = "#f00202"; diff --git a/Patches/PrivateLobbyPatch.cs b/Patches/PrivateLobbyPatch.cs index 4c40bd5..a9c5801 100644 --- a/Patches/PrivateLobbyPatch.cs +++ b/Patches/PrivateLobbyPatch.cs @@ -9,7 +9,8 @@ namespace BetterAmongUs.Patches; [HarmonyPatch] internal class PrivateLobbyPatch { - private static AprilFoolsModeToggleButton? toggle; + private static GameObject? toggle; + private static List? buttons = []; private static TextMeshPro? toggleText; [HarmonyPatch(typeof(CreateGameOptions))] @@ -18,81 +19,65 @@ internal class PrivateLobbyPatch internal static void CreateGameOptionsShow_Postfix(CreateGameOptions __instance) { if (toggle != null) return; + buttons.Clear(); - toggle = UnityEngine.Object.Instantiate(__instance.AprilFoolsToggle, __instance.transform); + toggle = UnityEngine.Object.Instantiate(__instance.AprilFoolsToggle, __instance.contentObjects.First().transform.parent); if (toggle != null) { + buttons.Add(toggle.transform.Find("AprilOn").GetComponent()); + buttons.Add(toggle.transform.Find("AprilOff").GetComponent()); + if (buttons.Count < 2) return; + toggle.gameObject.SetActive(true); - var onButton = toggle.onButton.GetComponent(); + var onButton = buttons[0]; if (onButton != null) { + onButton.gameObject.SetActive(false); onButton.OnClick = new(); onButton.OnClick.AddListener((Action)(() => TogglePrivateOnlyLobby(true))); } - var offButton = toggle.offButton.GetComponent(); + var offButton = buttons[1]; if (offButton != null) { + offButton.gameObject.SetActive(false); offButton.OnClick = new(); offButton.OnClick.AddListener((Action)(() => TogglePrivateOnlyLobby(false))); } var aspect = toggle.gameObject.AddComponent(); aspect.Alignment = AspectPosition.EdgeAlignments.Top; - aspect.DistanceFromEdge = new UnityEngine.Vector3(0, 1.7f, 0); + aspect.DistanceFromEdge = new UnityEngine.Vector3(0, 1.62f, 0); aspect.AdjustPosition(); - var text = toggle.transform.Find("AprilFoolsModeText")?.GetComponent(); + var text = toggle.transform.Find("BlackSquare/ModeText")?.GetComponent(); if (text != null) { text.DestroyTextTranslator(); text.text = "Private Only Lobby"; toggleText = text; } - - var banner = toggle.transform.Find("Banner")?.GetComponent(); - if (banner != null) - { - banner.color = new(1, 1, 1, 0.25f); - } } + + TogglePrivateOnlyLobby(Main.PrivateOnlyLobby.Value); } private static void TogglePrivateOnlyLobby(bool modeOn) { - Main.PrivateOnlyLobby.Value = modeOn; - } + if (buttons.Count < 2) return; - [HarmonyPatch(typeof(AprilFoolsModeToggleButton))] - [HarmonyPatch(nameof(AprilFoolsModeToggleButton.Update))] - [HarmonyPrefix] - internal static bool AprilFoolsModeToggleButtonUpdate_Prefix(AprilFoolsModeToggleButton __instance) - { - if (__instance == toggle) + buttons[0].gameObject.SetActive(true); + buttons[1].gameObject.SetActive(true); + buttons[0].SelectButton(false); + buttons[1].SelectButton(false); + + if (modeOn) { - if (Main.PrivateOnlyLobby.Value) - { - __instance.offButton.OutColor = Color.grey; - __instance.offText.color = Color.grey; - __instance.offButtonSprite.color = Color.grey; - __instance.onButton.OutColor = Color.white; - __instance.onText.color = Color.white; - __instance.onButtonSprite.color = Color.green; - if (toggleText != null) toggleText.color = new(1, 1, 1, 1); - } - else - { - __instance.onButton.OutColor = Color.grey; - __instance.onText.color = Color.grey; - __instance.onButtonSprite.color = Color.grey; - __instance.offButton.OutColor = Color.white; - __instance.offText.color = Color.white; - __instance.offButtonSprite.color = Color.green; - if (toggleText != null) toggleText.color = new(1, 1, 1, 0.5f); - } - - return false; + buttons[0].SelectButton(true); } - - return true; + else + { + buttons[1].SelectButton(true); + } + Main.PrivateOnlyLobby.Value = modeOn; } [HarmonyPatch(typeof(LobbyInfoPane))] From d02c398d0506205fbb4467732665841b84b1cfb3 Mon Sep 17 00:00:00 2001 From: D1GQ Date: Tue, 25 Mar 2025 19:14:54 -0500 Subject: [PATCH 3/7] update csproj --- BetterAmongUs.csproj | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/BetterAmongUs.csproj b/BetterAmongUs.csproj index 3227298..d24d483 100644 --- a/BetterAmongUs.csproj +++ b/BetterAmongUs.csproj @@ -1,4 +1,4 @@ - + net6.0 enable @@ -6,11 +6,13 @@ Library preview + + - + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -21,9 +23,10 @@ + - + \ No newline at end of file From 92615b6f49087f9ae1a93be289b4ea7219391d4e Mon Sep 17 00:00:00 2001 From: D1GQ Date: Tue, 25 Mar 2025 19:31:05 -0500 Subject: [PATCH 4/7] fix SplashIntro --- Patches/SplashIntroPatch.cs | 42 ++++++++++++++++++++++++------------- 1 file changed, 28 insertions(+), 14 deletions(-) diff --git a/Patches/SplashIntroPatch.cs b/Patches/SplashIntroPatch.cs index fca2ab1..0ceff60 100644 --- a/Patches/SplashIntroPatch.cs +++ b/Patches/SplashIntroPatch.cs @@ -6,9 +6,10 @@ namespace BetterAmongUs.Patches; class SplashIntroPatch { + internal static bool Skip = false; internal static bool BetterIntro = false; internal static bool IsReallyDoneLoading = false; - private static GameObject BetterLogo; + private static GameObject? BetterLogo; [HarmonyPatch(typeof(SplashManager))] class SplashManagerPatch @@ -17,6 +18,9 @@ class SplashIntroPatch [HarmonyPrefix] internal static void Start_Prefix(SplashManager __instance) { + Skip = false; + BetterIntro = false; + IsReallyDoneLoading = false; __instance.logoAnimFinish.transform.Find("BlackOverlay").transform.SetLocalY(100f); } @@ -24,6 +28,12 @@ class SplashIntroPatch [HarmonyPrefix] internal static bool Update_Prefix(SplashManager __instance) { + if (Skip) + { + CheckIfDone(__instance); + return false; + } + if (Time.time - __instance.startTime > 2f && BetterIntro) { UnityEngine.Object.Destroy(__instance.logoAnimFinish.GetComponent()); @@ -31,11 +41,10 @@ class SplashIntroPatch if (Input.GetKeyDown(KeyCode.Mouse0) || Input.GetKeyDown(KeyCode.Mouse1)) { - if (Time.time - __instance.startTime > 2f || BetterIntro) + if (CheckIfDone(__instance, true)) { - IsReallyDoneLoading = true; - __instance.sceneChanger.AllowFinishLoadingScene(); - __instance.startedSceneLoad = true; + Skip = true; + return false; } } @@ -52,21 +61,26 @@ class SplashIntroPatch BetterLogo.name = "BetterLogo"; BetterLogo.GetComponent().sprite = Utils.LoadSprite("BetterAmongUs.Resources.Images.BetterAmongUs-By-The-Enhanced-Network-Logo.png", 150f); __instance.logoAnimFinish.transform.Find("BlackOverlay").transform.SetLocalY(0f); - __instance.loadingObject.SetActive(false); - __instance.startedSceneLoad = false; BetterIntro = true; return false; } - __instance.startedSceneLoad = true; + CheckIfDone(__instance); + } - if (__instance.startedSceneLoad && BetterIntro) - { - IsReallyDoneLoading = true; - __instance.sceneChanger.AllowFinishLoadingScene(); - __instance.startedSceneLoad = true; - } + return false; + } + + internal static bool CheckIfDone(SplashManager __instance, bool isSkip = false) + { + if ((Time.time - __instance.startTime > 2f && BetterIntro) || (isSkip && BetterIntro)) + { + IsReallyDoneLoading = true; + __instance.sceneChanger.AllowFinishLoadingScene(); + __instance.startedSceneLoad = true; + __instance.loadingObject.SetActive(true); + return true; } return false; From 5792efee6f2f37192c040131ce1843fd440cb9c3 Mon Sep 17 00:00:00 2001 From: D1GQ Date: Tue, 25 Mar 2025 20:34:50 -0500 Subject: [PATCH 5/7] Add scrollbar to Lobby browser --- Patches/FindAGameManagerPatch.cs | 79 ++++++++++++++++++++++++++++++++ Patches/PrivateLobbyPatch.cs | 3 +- 2 files changed, 81 insertions(+), 1 deletion(-) create mode 100644 Patches/FindAGameManagerPatch.cs diff --git a/Patches/FindAGameManagerPatch.cs b/Patches/FindAGameManagerPatch.cs new file mode 100644 index 0000000..85920a4 --- /dev/null +++ b/Patches/FindAGameManagerPatch.cs @@ -0,0 +1,79 @@ +using HarmonyLib; +using UnityEngine; + +namespace BetterAmongUs.Patches; + +[HarmonyPatch(typeof(FindAGameManager))] +internal class FindAGameManagerPatch +{ + public static Scroller? Scroller; + + [HarmonyPatch(nameof(FindAGameManager.Start))] + [HarmonyPrefix] + internal static void Start_Prefix(FindAGameManager __instance) + { + var prefab = __instance.gameContainers[4]; + var list = new GameObject("GameListScroller"); + list.transform.SetParent(prefab.transform.parent); + + Scroller = list.AddComponent(); + Scroller.Inner = list.transform; + Scroller.MouseMustBeOverToScroll = true; + var box = prefab.transform.parent.gameObject.AddComponent(); + box.size = new Vector2(100f, 100f); + Scroller.ClickMask = box; + Scroller.ScrollWheelSpeed = 0.3f; + Scroller.SetYBoundsMin(0f); + Scroller.SetYBoundsMax(3.5f); + Scroller.allowY = true; + + foreach (var con in __instance.gameContainers) + { + con.transform.SetParent(list.transform); + var oldPos = con.transform.position; + con.transform.position = new Vector3(oldPos.x, oldPos.y, 25); + } + + var oldGameContainers = __instance.gameContainers.ToList(); + + for (int i = 0; i < 5; i++) + { + var GameContainer = UnityEngine.Object.Instantiate(prefab, list.transform); + var oldPos = GameContainer.transform.position; + GameContainer.transform.position = new Vector3(oldPos.x, oldPos.y - 0.75f * (i + 1), 25); + oldGameContainers.Add(GameContainer); + } + + __instance.gameContainers = oldGameContainers.ToArray(); + + var cutOffTop = CreateBlackSquareSprite(); + cutOffTop.transform.SetParent(list.transform.parent); + cutOffTop.transform.localPosition = new Vector3(0, 3, 1); + cutOffTop.transform.localScale = new Vector3(1500, 200, 100); + } + + [HarmonyPatch(nameof(FindAGameManager.RefreshList))] + [HarmonyPostfix] + internal static void RefreshList_Postfix() + { + Scroller?.ScrollRelative(new(0f, -100f)); + } + + private static SpriteRenderer CreateBlackSquareSprite() + { + var square = new GameObject("CutOffTop"); + var renderer = square.AddComponent(); + Texture2D texture = new(100, 100); + Color[] pixels = texture.GetPixels(); + for (int i = 0; i < pixels.Length; i++) + { + pixels[i] = Color.black; + } + texture.SetPixels(pixels); + texture.Apply(); + Sprite sprite = Sprite.Create(texture, new Rect(0, 0, 1, 1), Vector2.one * 0.5f); + renderer.sprite = sprite; + square.transform.localScale = new Vector3(100, 100, 1); + return renderer; + } +} diff --git a/Patches/PrivateLobbyPatch.cs b/Patches/PrivateLobbyPatch.cs index a9c5801..4fa8698 100644 --- a/Patches/PrivateLobbyPatch.cs +++ b/Patches/PrivateLobbyPatch.cs @@ -24,6 +24,7 @@ internal class PrivateLobbyPatch toggle = UnityEngine.Object.Instantiate(__instance.AprilFoolsToggle, __instance.contentObjects.First().transform.parent); if (toggle != null) { + toggle.name = "PrivateOnlyLobby"; buttons.Add(toggle.transform.Find("AprilOn").GetComponent()); buttons.Add(toggle.transform.Find("AprilOff").GetComponent()); if (buttons.Count < 2) return; @@ -45,7 +46,7 @@ internal class PrivateLobbyPatch } var aspect = toggle.gameObject.AddComponent(); aspect.Alignment = AspectPosition.EdgeAlignments.Top; - aspect.DistanceFromEdge = new UnityEngine.Vector3(0, 1.62f, 0); + aspect.DistanceFromEdge = new UnityEngine.Vector3(0.4f, 1.62f, 0); aspect.AdjustPosition(); var text = toggle.transform.Find("BlackSquare/ModeText")?.GetComponent(); From 65772a033f00f868acc8bd5a3d8f04c3fffccb7b Mon Sep 17 00:00:00 2001 From: D1GQ Date: Tue, 25 Mar 2025 20:42:56 -0500 Subject: [PATCH 6/7] v1.1.6 beta 1 --- main.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main.cs b/main.cs index 4ae7736..a119df3 100644 --- a/main.cs +++ b/main.cs @@ -27,8 +27,8 @@ internal enum ReleaseTypes : int [BepInProcess("Among Us.exe")] internal class Main : BasePlugin { - internal static readonly ReleaseTypes ReleaseBuildType = ReleaseTypes.Release; - internal const string BetaNum = "0"; + internal static readonly ReleaseTypes ReleaseBuildType = ReleaseTypes.Beta; + internal const string BetaNum = "1"; internal const string HotfixNum = "0"; internal const bool IsHotFix = false; internal const string PluginGuid = "com.ten.betteramongus"; From a24194a76f3d46c05abcd55e1d44870a7710efd9 Mon Sep 17 00:00:00 2001 From: D1GQ Date: Tue, 25 Mar 2025 20:59:16 -0500 Subject: [PATCH 7/7] fix --- Patches/HudManagerPatch.cs | 3 +-- Resources/Lang/en_US.json | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Patches/HudManagerPatch.cs b/Patches/HudManagerPatch.cs index 7de4a47..054f35b 100644 --- a/Patches/HudManagerPatch.cs +++ b/Patches/HudManagerPatch.cs @@ -13,8 +13,7 @@ internal class HudManagerPatch { internal static string WelcomeMessage = $"{string.Format(Translator.GetString("WelcomeMsg.WelcomeToBAU"), Translator.GetString("BetterAmongUs"))}\n{Main.GetVersionText()}\n" + $"{Translator.GetString("WelcomeMsg.ThanksForDownloading")}\n \n" + - string.Format(Translator.GetString("WelcomeMsg.BAUDescription1"), Translator.GetString("bau"), Translator.GetString("BetterOption.AntiCheat")) + "\n\n" + - string.Format(Translator.GetString("WelcomeMsg.BAUDescription2"), Translator.GetString("bau"), Translator.GetString("BetterOption"), Translator.GetString("BetterOption.BetterHost")); + string.Format(Translator.GetString("WelcomeMsg.BAUDescription1"), Translator.GetString("bau"), Translator.GetString("BetterOption.AntiCheat")); private static bool HasBeenWelcomed = false; [HarmonyPatch(nameof(HudManager.Start))] diff --git a/Resources/Lang/en_US.json b/Resources/Lang/en_US.json index fa9122a..b723bd1 100644 --- a/Resources/Lang/en_US.json +++ b/Resources/Lang/en_US.json @@ -46,7 +46,6 @@ "WelcomeMsg.WelcomeToBAU": "Welcome To {0}", "WelcomeMsg.ThanksForDownloading": "Thanks for downloading!", "WelcomeMsg.BAUDescription1": "{0} Is a mod for improving the vanilla Among Us experience with a built-in {1} and other futures, {0} is a client-sided mod so it can be used with other vanilla Among Us players.", - "WelcomeMsg.BAUDescription2": "{0} Also has a option in {1} on the pause menu called {2}, {2} is designed to enhance the vanilla experience for other players without having {0} installed!", "BetterOption": "Better Options", "BetterOption.AntiCheat": "Anti-Cheat",