diff --git a/Modules/BetterNotificationManager.cs b/Modules/BetterNotificationManager.cs index 5dfc5f6..9746131 100644 --- a/Modules/BetterNotificationManager.cs +++ b/Modules/BetterNotificationManager.cs @@ -1,4 +1,6 @@ -using TMPro; +using BetterAmongUs.Patches; +using Cpp2IL.Core.Extensions; +using TMPro; using UnityEngine; namespace BetterAmongUs; @@ -39,6 +41,11 @@ class BetterNotificationManager if (newText != "") text = $"Player: {player?.BetterData().RealName} " + newText + $": {reason}"; + if (BetterGameSettings.SensorDetectionReason.GetBool()) + { + reason = string.Concat('*').Repeat(reason.Length); + } + if (!AntiCheat.PlayerData.ContainsKey(Utils.GetHashPuid(player))) { AntiCheat.PlayerData[Utils.GetHashPuid(player)] = player.Data.FriendCode; diff --git a/Patches/GameSettingMenuPatch.cs b/Patches/GameSettingMenuPatch.cs index d844b07..efa0332 100644 --- a/Patches/GameSettingMenuPatch.cs +++ b/Patches/GameSettingMenuPatch.cs @@ -18,8 +18,8 @@ class BetterGameSettings public static BetterOptionItem? DetectInvalidRPCs; public static BetterOptionItem? RoleRandomizer; public static BetterOptionItem? DesyncRoles; - public static BetterOptionItem? CancelInvalidSabotage; + public static BetterOptionItem? SensorDetectionReason; } class BetterGameSettingsTemp @@ -43,6 +43,8 @@ static class GameSettingMenuPatch BetterOptionItem.TempPlayerOptionDataNum = 0; TitleList.Clear(); + // Use 1400 next ID + // Anti-Cheat Settings { TitleList.Add(new BetterOptionHeaderItem().Create(BetterSettingsTab, "Anti-Cheat Settings")); @@ -50,9 +52,10 @@ static class GameSettingMenuPatch if (IsPreload || GameStates.IsHost) { TitleList.Add(new BetterOptionTitleItem().Create(BetterSettingsTab, $"Host Only")); + BetterGameSettings.SensorDetectionReason = new BetterOptionCheckboxItem().Create(1300, BetterSettingsTab, "Sensor detection reason", false); BetterGameSettings.WhenCheating = new BetterOptionStringItem().Create(100, BetterSettingsTab, "When a player is caught cheating", ["Notify", "Kick", "Ban"], 2); - BetterGameSettings.InvalidFriendCode = new BetterOptionCheckboxItem().Create(200, BetterSettingsTab, "Detected invalid FriendCodes", true); - BetterGameSettings.CancelInvalidSabotage = new BetterOptionCheckboxItem().Create(900, BetterSettingsTab, "Cancel Invalid Sabotages", true); + BetterGameSettings.InvalidFriendCode = new BetterOptionCheckboxItem().Create(200, BetterSettingsTab, "Detected invalid friendCodes", true); + BetterGameSettings.CancelInvalidSabotage = new BetterOptionCheckboxItem().Create(900, BetterSettingsTab, "Cancel invalid sabotages", true); BetterGameSettings.UseBanPlayerList = new BetterOptionCheckboxItem().Create(300, BetterSettingsTab, "Use Ban Player List", true); BetterGameSettings.UseBanNameList = new BetterOptionCheckboxItem().Create(400, BetterSettingsTab, "Use Ban Name List", true); BetterGameSettings.UseBanWordList = new BetterOptionCheckboxItem().Create(500, BetterSettingsTab, "Use Ban Word List", true);