diff --git a/GameMode/FFAManager.cs b/GameMode/FFAManager.cs index 855ef96ee..48f083c1a 100644 --- a/GameMode/FFAManager.cs +++ b/GameMode/FFAManager.cs @@ -129,6 +129,7 @@ internal static class FFAManager PlayerTeams = []; var allPlayers = Main.AllAlivePlayerControls; + if (Main.GM.Value && AmongUsClient.Instance.AmHost) allPlayers = allPlayers.Without(PlayerControl.LocalPlayer).ToArray(); foreach (PlayerControl pc in allPlayers) { diff --git a/Patches/ExilePatch.cs b/Patches/ExilePatch.cs index 168ed3f70..efd82aa26 100644 --- a/Patches/ExilePatch.cs +++ b/Patches/ExilePatch.cs @@ -176,32 +176,29 @@ static class ExileControllerWrapUpPatch Logger.Msg($"Ejection Text: {CheckForEndVotingPatch.EjectionText}", "ExilePatch"); if ((showRemainingKillers || appendEjectionNotify) && Options.CurrentGameMode == CustomGameMode.Standard) { - LateTask.New(() => + var text = showRemainingKillers ? Utils.GetRemainingKillers(notify: true) : string.Empty; + text = $"<#ffffff>{text}"; + var r = IRandom.Instance; + foreach (var pc in Main.AllAlivePlayerControls) { - var text = showRemainingKillers ? Utils.GetRemainingKillers(notify: true) : string.Empty; - text = $"<#ffffff>{text}"; - var r = IRandom.Instance; - foreach (var pc in Main.AllAlivePlayerControls) + string finalText = text; + + if (appendEjectionNotify && !finalText.Contains(CheckForEndVotingPatch.EjectionText, StringComparison.OrdinalIgnoreCase)) { - string finalText = text; - - if (appendEjectionNotify && !finalText.Contains(CheckForEndVotingPatch.EjectionText, StringComparison.OrdinalIgnoreCase)) - { - finalText = $"\n<#ffffff>{CheckForEndVotingPatch.EjectionText}\n{finalText}"; - } - - if (!showRemainingKillers) finalText = finalText.TrimStart(); - - pc.Notify(finalText, r.Next(7, 13)); + finalText = $"\n<#ffffff>{CheckForEndVotingPatch.EjectionText}\n{finalText}"; } - }, 0.5f, log: false); + + if (!showRemainingKillers) finalText = finalText.TrimStart(); + + pc.Notify(finalText, r.Next(7, 13)); + } } LateTask.New(() => ChatManager.SendPreviousMessagesToAll(clear: true), 3f, log: false); } [HarmonyPatch(typeof(ExileController), nameof(ExileController.WrapUp))] - class BaseExileControllerPatch + static class BaseExileControllerPatch { public static void Postfix(ExileController __instance) { @@ -217,7 +214,7 @@ static class ExileControllerWrapUpPatch } [HarmonyPatch(typeof(AirshipExileController), nameof(AirshipExileController.WrapUpAndSpawn))] - class AirshipExileControllerPatch + static class AirshipExileControllerPatch { public static void Postfix(AirshipExileController __instance) { diff --git a/Patches/IntroPatch.cs b/Patches/IntroPatch.cs index 0b3541b16..2b4ce0bc3 100644 --- a/Patches/IntroPatch.cs +++ b/Patches/IntroPatch.cs @@ -240,7 +240,7 @@ static class CoBeginPatch longInfo = $"<#ffffff>{longInfo}"; var lines = longInfo.Count(x => x == '\n'); - var readTime = 30 + (lines * 5); + var readTime = 20 + (lines * 5); Utils.LongRoleDescriptions[seer.PlayerId] = (longInfo, readTime, tooLong); } @@ -901,7 +901,7 @@ static class IntroCutsceneDestroyPatch { lp.RpcExile(); Main.PlayerStates[lp.PlayerId].SetDead(); - }, 1f, "Set GM Dead"); + }, Options.CurrentGameMode == CustomGameMode.FFA && FFAManager.FFAChatDuringGame.GetBool() ? 12.5f : 1f, "Set GM Dead"); } if (Options.RandomSpawn.GetBool())