diff --git a/Modules/CustomOptionsHolder.cs b/Modules/CustomOptionsHolder.cs index b714b25..2aec984 100644 --- a/Modules/CustomOptionsHolder.cs +++ b/Modules/CustomOptionsHolder.cs @@ -266,6 +266,9 @@ namespace AmongUsRevamped public static OptionItem DisableUploadData; // Gamemode + public static OptionItem TabGroupStandard; + public static OptionItem ChatBeforeFirstMeeting; + public static OptionItem TabGroupHNS; public static OptionItem NumSeekers; @@ -274,6 +277,7 @@ namespace AmongUsRevamped public static OptionItem TabGroupSNS; public static OptionItem SNSSettingsOverride; + public static OptionItem SNSChatInGame; public static OptionItem CrewAutoWinsGameAfter; public static OptionItem CantKillTime; public static OptionItem MisfiresToSuicide; @@ -389,6 +393,10 @@ namespace AmongUsRevamped .SetColor(CL.Hex("#ff1919")); // Gamemode Settings + TabGroupStandard = TextOptionItem.Create(69998, Translator.Get("tabGroupStandard"), TabGroup.GamemodeSettings) + .SetColor(Color.white); + ChatBeforeFirstMeeting = BooleanOptionItem.Create(69999, Translator.Get("chatBeforeFirstMeeting"), true, TabGroup.GamemodeSettings, false); + TabGroupHNS = TextOptionItem.Create(70000, Translator.Get("tabGroupHNS"), TabGroup.GamemodeSettings) .SetColor(Color.green); NumSeekers = IntegerOptionItem.Create(70001, Translator.Get("numSeekers"), new(1, 15, 1), 1, TabGroup.GamemodeSettings, false) @@ -401,6 +409,7 @@ namespace AmongUsRevamped TabGroupSNS = TextOptionItem.Create(70050, Translator.Get("tabGroupSNS"), TabGroup.GamemodeSettings) .SetColor(Color.yellow); SNSSettingsOverride = BooleanOptionItem.Create(70051, Translator.Get("snsSettingsOverride"), true, TabGroup.GamemodeSettings, false); + SNSChatInGame = BooleanOptionItem.Create(70063, Translator.Get("snsChatInGame"), false, TabGroup.GamemodeSettings, false); CantKillTime = IntegerOptionItem.Create(70053, Translator.Get("cantKillTime"), new(0, 60, 5), 20, TabGroup.GamemodeSettings, false) .SetValueFormat(OptionFormat.Seconds); MisfiresToSuicide = IntegerOptionItem.Create(70052, Translator.Get("misfiresToSuicide"), new(1, 10, 1), 2, TabGroup.GamemodeSettings, false); diff --git a/Modules/Utils.cs b/Modules/Utils.cs index c1937ac..a3e5370 100644 --- a/Modules/Utils.cs +++ b/Modules/Utils.cs @@ -526,4 +526,10 @@ public static class Utils } return null; } + + public static void SetChatVisible() + { + PlayerControl.LocalPlayer.CmdReportDeadBody(null); + MeetingHud.Instance.RpcClose(); + } } \ No newline at end of file diff --git a/Patches/IntroPatch.cs b/Patches/IntroPatch.cs index 7dfa7c5..c1ad19f 100644 --- a/Patches/IntroPatch.cs +++ b/Patches/IntroPatch.cs @@ -32,7 +32,7 @@ internal static class CoShowIntroPatch _ = new LateTask(() => { Utils.CanCallMeetings = true; - }, 33f, "MeetingEnabled"); + }, Options.ChatBeforeFirstMeeting.GetBool() ? 39.5f : 33f, "MeetingEnabled"); } } } @@ -44,6 +44,16 @@ class BeginCrewmatePatch { if (!AmongUsClient.Instance.AmHost) return; + if (Options.Gamemode.GetValue() == 2 && Options.SNSChatInGame.GetBool() || Options.Gamemode.GetValue() == 0 && Options.ChatBeforeFirstMeeting.GetBool()) + { + _ = new LateTask(() => + { + PlayerControl.LocalPlayer.CmdReportDeadBody(null); + MeetingHud.Instance.RpcClose(); + + }, 6.5f, "SetChatVisible"); + } + if (Main.GM.Value) { __instance.TeamTitle.text = "Game Master"; diff --git a/Resources/Language/English.json b/Resources/Language/English.json index 29b3715..e5f6492 100644 --- a/Resources/Language/English.json +++ b/Resources/Language/English.json @@ -43,11 +43,15 @@ "jesterPerc": "PLACEHOLDER", "tabGroupImpostor": "Impostor Roles", + "tabGroupStandard": "Standard", + "chatBeforeFirstMeeting": "Force chat 1st round to see roles (experimental)", + "tabGroupHNS": "Hide and Seek", "numSeekers": "# Seekers", "tabGroup0Kcd": "0 Kill Cooldown", "noKcdSettingsOverride": "Auto Update Settings", "tabGroupSNS": "Shift and Seek", + "snsChatInGame": "Chat during gameplay (experimental)", "snsSettingsOverride": "Auto Update Settings", "cantKillTime": "After Misfiring, Can't kill for", "misfiresToSuicide": "Suicide After Amount Of Misfires",