This commit is contained in:
Gurge44 committed 2024-12-12 15:30:02 +01:00
1 parent da9a0855c9
commit 1f4a7b586c
6 files changed
+69 -73

No files matched your search

+4
View File
@@ -1,9 +1,12 @@
<wpf:ResourceDictionary xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xml:space="preserve"> <wpf:ResourceDictionary xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xml:space="preserve">
<s:String x:Key="/Default/CodeInspection/Highlighting/AnalysisEnabled/@EntryValue">SOLUTION</s:String> <s:String x:Key="/Default/CodeInspection/Highlighting/AnalysisEnabled/@EntryValue">SOLUTION</s:String>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/ALIGN_MULTILINE_STATEMENT_CONDITIONS/@EntryValue">False</s:Boolean>
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_AFTER_MULTILINE_STATEMENTS/@EntryValue">1</s:Int64> <s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_AFTER_MULTILINE_STATEMENTS/@EntryValue">1</s:Int64>
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_BEFORE_BLOCK_STATEMENTS/@EntryValue">1</s:Int64> <s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_BEFORE_BLOCK_STATEMENTS/@EntryValue">1</s:Int64>
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_BEFORE_MULTILINE_STATEMENTS/@EntryValue">1</s:Int64> <s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/BLANK_LINES_BEFORE_MULTILINE_STATEMENTS/@EntryValue">1</s:Int64>
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/EMPTY_BLOCK_STYLE/@EntryValue">TOGETHER_SAME_LINE</s:String> <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/EMPTY_BLOCK_STYLE/@EntryValue">TOGETHER_SAME_LINE</s:String>
<s:Boolean
x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/INDENT_BRACES_INSIDE_STATEMENT_CONDITIONS/@EntryValue">False</s:Boolean>
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_SIMPLE_EMBEDDED_BLOCK_ON_SAME_LINE/@EntryValue">True</s:Boolean> <s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_SIMPLE_EMBEDDED_BLOCK_ON_SAME_LINE/@EntryValue">True</s:Boolean>
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_SIMPLE_EMBEDDED_STATEMENT_ON_SAME_LINE/@EntryValue">NEVER</s:String> <s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/PLACE_SIMPLE_EMBEDDED_STATEMENT_ON_SAME_LINE/@EntryValue">NEVER</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=AFK/@EntryIndexedValue">AFK</s:String> <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=AFK/@EntryIndexedValue">AFK</s:String>
@@ -14,6 +17,7 @@
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CK/@EntryIndexedValue">CK</s:String> <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CK/@EntryIndexedValue">CK</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CNO/@EntryIndexedValue">CNO</s:String> <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CNO/@EntryIndexedValue">CNO</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CRLF/@EntryIndexedValue">CRLF</s:String> <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CRLF/@EntryIndexedValue">CRLF</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CTA/@EntryIndexedValue">CTA</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CTF/@EntryIndexedValue">CTF</s:String> <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=CTF/@EntryIndexedValue">CTF</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=DLL/@EntryIndexedValue">DLL</s:String> <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=DLL/@EntryIndexedValue">DLL</s:String>
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=DY/@EntryIndexedValue">DY</s:String> <s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=DY/@EntryIndexedValue">DY</s:String>
+10 -29
View File
@@ -22,10 +22,7 @@ internal static class CustomTeamManager
CustomTeams = File.ReadAllLines("./EHR_DATA/CTA_Data.txt").Select(x => new CustomTeam(x)).ToHashSet(); CustomTeams = File.ReadAllLines("./EHR_DATA/CTA_Data.txt").Select(x => new CustomTeam(x)).ToHashSet();
RefreshCustomOptions(); RefreshCustomOptions();
} }
catch (Exception e) catch (Exception e) { Utils.ThrowException(e); }
{
Utils.ThrowException(e);
}
} }
private static void RefreshCustomOptions() private static void RefreshCustomOptions()
@@ -85,7 +82,6 @@ internal static class CustomTeamManager
foreach (byte target in players) foreach (byte target in players)
{ {
if (player == target) continue; if (player == target) continue;
TargetArrow.Add(player, target); TargetArrow.Add(player, target);
} }
} }
@@ -95,7 +91,6 @@ internal static class CustomTeamManager
public static string GetSuffix(PlayerControl seer) public static string GetSuffix(PlayerControl seer)
{ {
if (seer == null || EnabledCustomTeams.Count == 0 || Main.HasJustStarted || !IsSettingEnabledForPlayerTeam(seer.PlayerId, CTAOption.Arrows)) return string.Empty; if (seer == null || EnabledCustomTeams.Count == 0 || Main.HasJustStarted || !IsSettingEnabledForPlayerTeam(seer.PlayerId, CTAOption.Arrows)) return string.Empty;
return CustomTeamPlayerIds[GetCustomTeam(seer.PlayerId)].Aggregate(string.Empty, (s, id) => s + Utils.ColorString(Main.PlayerColors.GetValueOrDefault(id, Color.white), TargetArrow.GetArrows(seer, id))); return CustomTeamPlayerIds[GetCustomTeam(seer.PlayerId)].Aggregate(string.Empty, (s, id) => s + Utils.ColorString(Main.PlayerColors.GetValueOrDefault(id, Color.white), TargetArrow.GetArrows(seer, id)));
} }
@@ -117,10 +112,10 @@ internal static class CustomTeamManager
CustomTeam team = aliveTeamPlayers.Keys.First(); CustomTeam team = aliveTeamPlayers.Keys.First();
if (aliveTeamPlayers.Count == 1 && Main.AllAlivePlayerControls.All(x => if (aliveTeamPlayers.Count == 1 && Main.AllAlivePlayerControls.All(x =>
{ {
CustomTeam customTeam = GetCustomTeam(x.PlayerId); CustomTeam customTeam = GetCustomTeam(x.PlayerId);
return customTeam != null && customTeam.Equals(team); return customTeam != null && customTeam.Equals(team);
})) }))
{ {
WinnerTeam = team; WinnerTeam = team;
CustomWinnerHolder.ResetAndSetWinner(CustomWinner.CustomTeam); CustomWinnerHolder.ResetAndSetWinner(CustomWinner.CustomTeam);
@@ -128,10 +123,7 @@ internal static class CustomTeamManager
return true; return true;
} }
} }
catch catch { return false; }
{
return false;
}
return false; return false;
} }
@@ -190,14 +182,8 @@ internal static class CustomTeamManager
TeamMembers = parts[4].Split(',').Select(x => Enum.Parse<CustomRoles>(x, true)).ToList(); TeamMembers = parts[4].Split(',').Select(x => Enum.Parse<CustomRoles>(x, true)).ToList();
} }
catch (Exception e) catch (Exception e) { Utils.ThrowException(e); }
{ finally { CustomTeams.Add(this); }
Utils.ThrowException(e);
}
finally
{
CustomTeams.Add(this);
}
} }
public List<CustomRoles> TeamMembers { get; } = []; public List<CustomRoles> TeamMembers { get; } = [];
@@ -218,14 +204,9 @@ internal static class CustomTeamManager
internal class CustomTeamOptionGroup(CustomTeam team, BooleanOptionItem enabled, BooleanOptionItem knowRoles, BooleanOptionItem winWithOriginalTeam, BooleanOptionItem killEachOther, BooleanOptionItem guessEachOther, BooleanOptionItem arrows) internal class CustomTeamOptionGroup(CustomTeam team, BooleanOptionItem enabled, BooleanOptionItem knowRoles, BooleanOptionItem winWithOriginalTeam, BooleanOptionItem killEachOther, BooleanOptionItem guessEachOther, BooleanOptionItem arrows)
{ {
public readonly List<BooleanOptionItem> AllOptions = [enabled, knowRoles, winWithOriginalTeam, killEachOther, guessEachOther, arrows]; public readonly List<BooleanOptionItem> AllOptions = [enabled, knowRoles, winWithOriginalTeam, killEachOther, guessEachOther, arrows];
public CustomTeam Team { get; set; } = team; public CustomTeam Team { get; } = team;
public BooleanOptionItem Enabled { get; set; } = enabled; public BooleanOptionItem Enabled { get; } = enabled;
public BooleanOptionItem KnowRoles { get; set; } = knowRoles;
public BooleanOptionItem WinWithOriginalTeam { get; set; } = winWithOriginalTeam;
public BooleanOptionItem KillEachOther { get; set; } = killEachOther;
public BooleanOptionItem GuessEachOther { get; set; } = guessEachOther;
public BooleanOptionItem Arrows { get; set; } = arrows;
} }
} }
+5 -1
View File
@@ -180,6 +180,7 @@ public static class Options
public static OptionItem DisableSabotage; public static OptionItem DisableSabotage;
public static OptionItem DisableWhisperCommand; public static OptionItem DisableWhisperCommand;
public static OptionItem DisableSpectateCommand;
public static OptionItem DisableReactorOnSkeldAndMira; public static OptionItem DisableReactorOnSkeldAndMira;
public static OptionItem DisableReactorOnPolus; public static OptionItem DisableReactorOnPolus;
@@ -1822,6 +1823,9 @@ public static class Options
DisableWhisperCommand = new BooleanOptionItem(22811, "DisableWhisperCommand", false, TabGroup.GameSettings) DisableWhisperCommand = new BooleanOptionItem(22811, "DisableWhisperCommand", false, TabGroup.GameSettings)
.SetColor(new Color32(255, 153, 153, byte.MaxValue)); .SetColor(new Color32(255, 153, 153, byte.MaxValue));
DisableSpectateCommand = new BooleanOptionItem(22812, "DisableSpectateCommand", false, TabGroup.GameSettings)
.SetColor(new Color32(255, 153, 153, byte.MaxValue));
LoadingPercentage = 75; LoadingPercentage = 75;
DisableDevices = new BooleanOptionItem(22900, "DisableDevices", false, TabGroup.GameSettings) DisableDevices = new BooleanOptionItem(22900, "DisableDevices", false, TabGroup.GameSettings)
@@ -2642,4 +2646,4 @@ public static class Options
public static OptionItem VeteranAbilityChargesWhenFinishedTasks; public static OptionItem VeteranAbilityChargesWhenFinishedTasks;
// ReSharper restore NotAccessedField.Global // ReSharper restore NotAccessedField.Global
} }
+27 -29
View File
@@ -47,20 +47,33 @@ internal static class PingTrackerUpdatePatch
_ => "#ff4500" _ => "#ff4500"
}; };
var FPSGame = 1.0f / Time.deltaTime; AppendSeparator();
Color fpscolor = Color.green; Sb.Append($"<color={color}>{ping} {GetString("PingText")}</color>");
AppendSeparator();
Sb.Append(string.Format(GetString("Server"), Utils.GetRegionName()));
if (Main.ShowFps.Value) if (Main.ShowFps.Value)
{ {
var FPSGame = 1.0f / Time.deltaTime; var fps = 1.0f / Time.deltaTime;
Color fpscolor = Color.green;
if (FPSGame < 20f) fpscolor = Color.red; Color fpscolor = fps switch
else if (FPSGame < 40f) fpscolor = Color.yellow; {
< 10f => Color.red,
< 30f => Color.yellow,
_ => Color.green
};
Sb.Append($"\r\n{Utils.ColorString(fpscolor, Utils.ColorString(Color.cyan, GetString("FPSGame")) + ((int)FPSGame).ToString())}"); AppendSeparator();
Sb.Append($"{Utils.ColorString(fpscolor, Utils.ColorString(Color.cyan, GetString("FPSGame")) + ((int)fps))}");
} }
if (GameStates.InGame) Sb.Append("\r\n.");
return;
void AppendSeparator() => Sb.Append(GameStates.InGame ? " - " : "\r\n");
}
}
[HarmonyPatch(typeof(VersionShower), nameof(VersionShower.Start))] [HarmonyPatch(typeof(VersionShower), nameof(VersionShower.Start))]
internal static class VersionShowerStartPatch internal static class VersionShowerStartPatch
{ {
@@ -135,10 +148,7 @@ static class FriendsListUIOpenPatch
{ {
try try
{ {
if (__instance.gameObject.activeSelf || __instance.currentSceneName == "") if (__instance.gameObject.activeSelf || __instance.currentSceneName == "") { __instance.Close(); }
{
__instance.Close();
}
else else
{ {
FriendsListBar[] componentsInChildren = __instance.GetComponentsInChildren<FriendsListBar>(true); FriendsListBar[] componentsInChildren = __instance.GetComponentsInChildren<FriendsListBar>(true);
@@ -230,10 +240,7 @@ static class FriendsListUIOpenPatch
ControllerManager.Instance.OpenOverlayMenu(__instance.name, __instance.BackButton, __instance.DefaultButtonSelected, __instance.ControllerSelectable); ControllerManager.Instance.OpenOverlayMenu(__instance.name, __instance.BackButton, __instance.DefaultButtonSelected, __instance.ControllerSelectable);
} }
} }
catch (Exception e) catch (Exception e) { Utils.ThrowException(e); }
{
Utils.ThrowException(e);
}
return false; return false;
} }
@@ -268,14 +275,8 @@ internal static class TitleLogoPatch
if (Ambience != null) if (Ambience != null)
{ {
try try { __instance.playButton.transform.gameObject.SetActive(true); }
{ catch (Exception ex) { Logger.Warn(ex.ToString(), "MainMenuLoader"); }
__instance.playButton.transform.gameObject.SetActive(true);
}
catch (Exception ex)
{
Logger.Warn(ex.ToString(), "MainMenuLoader");
}
} }
if (!(LeftPanel = GameObject.Find("LeftPanel"))) return; if (!(LeftPanel = GameObject.Find("LeftPanel"))) return;
@@ -298,10 +299,7 @@ internal static class TitleLogoPatch
foreach (KeyValuePair<List<PassiveButton>, (Sprite, Color, Color, Color, Color)> kvp in mainButtons) foreach (KeyValuePair<List<PassiveButton>, (Sprite, Color, Color, Color, Color)> kvp in mainButtons)
kvp.Key.Do(button => FormatButtonColor(button, kvp.Value.Item2, kvp.Value.Item3, kvp.Value.Item4, kvp.Value.Item5)); kvp.Key.Do(button => FormatButtonColor(button, kvp.Value.Item2, kvp.Value.Item3, kvp.Value.Item4, kvp.Value.Item5));
try try { mainButtons.Keys.Flatten().DoIf(x => x != null, x => x.buttonText.color = Color.white); }
{
mainButtons.Keys.Flatten().DoIf(x => x != null, x => x.buttonText.color = Color.white);
}
catch { } catch { }
GameObject.Find("Divider")?.SetActive(false); GameObject.Find("Divider")?.SetActive(false);
@@ -442,4 +440,4 @@ internal static class OptionsMenuBehaviourOpenPatch
return false; return false;
} }
} }
+22 -14
View File
@@ -132,7 +132,7 @@ internal static class SetUpRoleTextPatch
foreach (CustomRoles subRole in Main.PlayerStates[lp.PlayerId].SubRoles) foreach (CustomRoles subRole in Main.PlayerStates[lp.PlayerId].SubRoles)
{ {
if (role is CustomRoles.LovingCrewmate or CustomRoles.LovingImpostor && subRole == CustomRoles.Lovers) continue; if (role is CustomRoles.LovingCrewmate or CustomRoles.LovingImpostor && (subRole == CustomRoles.Lovers)) continue;
__instance.RoleBlurbText.text += "\n<size=30%>" + Utils.ColorString(Utils.GetRoleColor(subRole), GetString($"{subRole}Info")); __instance.RoleBlurbText.text += "\n<size=30%>" + Utils.ColorString(Utils.GetRoleColor(subRole), GetString($"{subRole}Info"));
} }
@@ -147,7 +147,7 @@ internal static class SetUpRoleTextPatch
{ {
LateTask.New(() => LateTask.New(() =>
{ {
if (AmongUsClient.Instance.IsGameOver || GameStates.IsLobby || lp == null) return; if (AmongUsClient.Instance.IsGameOver || GameStates.IsLobby || (lp == null)) return;
lp.SetName(Main.AllPlayerNames[lp.PlayerId]); lp.SetName(Main.AllPlayerNames[lp.PlayerId]);
}, 1f, "Reset Name For Modded Client"); }, 1f, "Reset Name For Modded Client");
@@ -198,8 +198,10 @@ internal static class CoBeginPatch
sb.Append("------------Modded Settings------------\n"); sb.Append("------------Modded Settings------------\n");
foreach (OptionItem o in OptionItem.AllOptions) foreach (OptionItem o in OptionItem.AllOptions)
{
if (!o.IsCurrentlyHidden() && (o.Parent?.GetBool() ?? !o.GetString().Equals("0%"))) if (!o.IsCurrentlyHidden() && (o.Parent?.GetBool() ?? !o.GetString().Equals("0%")))
sb.Append($"{(o.Parent == null ? o.GetName(true, true).RemoveHtmlTags().PadRightV2(40) : $"┗ {o.GetName(true, true).RemoveHtmlTags()}".PadRightV2(41))}:{o.GetString().RemoveHtmlTags()}\n"); sb.Append($"{(o.Parent == null ? o.GetName(true, true).RemoveHtmlTags().PadRightV2(40) : $"┗ {o.GetName(true, true).RemoveHtmlTags()}".PadRightV2(41))}:{o.GetString().RemoveHtmlTags()}\n");
}
sb.Append("-------------Other Information-------------\n"); sb.Append("-------------Other Information-------------\n");
sb.Append($"Number of players: {Main.AllPlayerControls.Length}\n"); sb.Append($"Number of players: {Main.AllPlayerControls.Length}\n");
@@ -244,7 +246,7 @@ internal static class CoBeginPatch
for (int i = charsInOneLine; i < longInfo.Length; i += charsInOneLine) for (int i = charsInOneLine; i < longInfo.Length; i += charsInOneLine)
{ {
if (tooLong && i > 296) break; if (tooLong && (i > 296)) break;
int index = longInfo.LastIndexOf(' ', i); int index = longInfo.LastIndexOf(' ', i);
if (index != -1) longInfo = longInfo.Insert(index + 1, "\n"); if (index != -1) longInfo = longInfo.Insert(index + 1, "\n");
@@ -296,7 +298,7 @@ internal static class BeginCrewmatePatch
return false; return false;
} }
if (role == CustomRoles.LovingCrewmate || PlayerControl.LocalPlayer.Is(CustomRoles.Lovers)) if ((role == CustomRoles.LovingCrewmate) || PlayerControl.LocalPlayer.Is(CustomRoles.Lovers))
{ {
teamToDisplay = new(); teamToDisplay = new();
teamToDisplay.Add(PlayerControl.LocalPlayer); teamToDisplay.Add(PlayerControl.LocalPlayer);
@@ -313,8 +315,10 @@ internal static class BeginCrewmatePatch
teamToDisplay = new(); teamToDisplay = new();
foreach (PlayerControl pc in Main.AllPlayerControls) foreach (PlayerControl pc in Main.AllPlayerControls)
{
if (CustomTeamManager.AreInSameCustomTeam(pc.PlayerId, PlayerControl.LocalPlayer.PlayerId)) if (CustomTeamManager.AreInSameCustomTeam(pc.PlayerId, PlayerControl.LocalPlayer.PlayerId))
teamToDisplay.Add(pc); teamToDisplay.Add(pc);
}
} }
} }
@@ -323,8 +327,10 @@ internal static class BeginCrewmatePatch
teamToDisplay = new(); teamToDisplay = new();
foreach (PlayerControl pc in Main.AllPlayerControls) foreach (PlayerControl pc in Main.AllPlayerControls)
if (FFAManager.PlayerTeams.TryGetValue(pc.PlayerId, out int team) && team == ffaTeam) {
if (FFAManager.PlayerTeams.TryGetValue(pc.PlayerId, out int team) && (team == ffaTeam))
teamToDisplay.Add(pc); teamToDisplay.Add(pc);
}
} }
return true; return true;
@@ -392,7 +398,7 @@ internal static class BeginCrewmatePatch
break; break;
} }
if (Main.LoversPlayers.Count == 2 && Main.LoversPlayers.Exists(x => x.IsLocalPlayer())) if ((Main.LoversPlayers.Count == 2) && Main.LoversPlayers.Exists(x => x.IsLocalPlayer()))
{ {
__instance.TeamTitle.color = __instance.BackgroundBar.material.color = Utils.GetRoleColor(CustomRoles.Lovers); __instance.TeamTitle.color = __instance.BackgroundBar.material.color = Utils.GetRoleColor(CustomRoles.Lovers);
byte otherLoverId = Main.LoversPlayers.First(x => x.PlayerId != PlayerControl.LocalPlayer.PlayerId).PlayerId; byte otherLoverId = Main.LoversPlayers.First(x => x.PlayerId != PlayerControl.LocalPlayer.PlayerId).PlayerId;
@@ -489,7 +495,7 @@ internal static class BeginCrewmatePatch
CustomRoles.Engineer or CustomRoles.Engineer or
CustomRoles.EngineerEHR CustomRoles.EngineerEHR
=> GetIntroSound(RoleTypes.Engineer), => GetIntroSound(RoleTypes.Engineer),
CustomRoles.Scientist or CustomRoles.Scientist or
CustomRoles.ScientistEHR or CustomRoles.ScientistEHR or
CustomRoles.Doctor or CustomRoles.Doctor or
@@ -583,14 +589,16 @@ internal static class BeginCrewmatePatch
{ {
if (team.RoleRevealScreenTitle != "*") __instance.TeamTitle.text = team.RoleRevealScreenTitle; if (team.RoleRevealScreenTitle != "*") __instance.TeamTitle.text = team.RoleRevealScreenTitle;
if (team.RoleRevealScreenBackgroundColor != "*" && ColorUtility.TryParseHtmlString(team.RoleRevealScreenBackgroundColor, out Color bgColor)) __instance.TeamTitle.color = __instance.BackgroundBar.material.color = bgColor; if ((team.RoleRevealScreenBackgroundColor != "*") && ColorUtility.TryParseHtmlString(team.RoleRevealScreenBackgroundColor, out Color bgColor)) __instance.TeamTitle.color = __instance.BackgroundBar.material.color = bgColor;
__instance.ImpostorText.gameObject.SetActive(team.RoleRevealScreenSubtitle != "*"); __instance.ImpostorText.gameObject.SetActive(team.RoleRevealScreenSubtitle != "*");
__instance.ImpostorText.text = team.RoleRevealScreenSubtitle; __instance.ImpostorText.text = team.RoleRevealScreenSubtitle;
foreach (PlayerControl pc in Main.AllPlayerControls) foreach (PlayerControl pc in Main.AllPlayerControls)
{
if (CustomTeamManager.AreInSameCustomTeam(pc.PlayerId, PlayerControl.LocalPlayer.PlayerId)) if (CustomTeamManager.AreInSameCustomTeam(pc.PlayerId, PlayerControl.LocalPlayer.PlayerId))
teamToDisplay.Add(pc); teamToDisplay.Add(pc);
}
} }
} }
@@ -711,16 +719,14 @@ internal static class BeginCrewmatePatch
return; return;
AudioClip GetAudioClipFromCustomRoleType() AudioClip GetAudioClipFromCustomRoleType() =>
{ PlayerControl.LocalPlayer.GetCustomRoleTypes() switch
return PlayerControl.LocalPlayer.GetCustomRoleTypes() switch
{ {
CustomRoleTypes.Impostor => GetIntroSound(RoleTypes.Impostor), CustomRoleTypes.Impostor => GetIntroSound(RoleTypes.Impostor),
CustomRoleTypes.Crewmate => GetIntroSound(RoleTypes.Crewmate), CustomRoleTypes.Crewmate => GetIntroSound(RoleTypes.Crewmate),
CustomRoleTypes.Neutral => GetIntroSound(RoleTypes.Shapeshifter), CustomRoleTypes.Neutral => GetIntroSound(RoleTypes.Shapeshifter),
_ => GetIntroSound(RoleTypes.Crewmate) _ => GetIntroSound(RoleTypes.Crewmate)
}; };
}
} }
private static AudioClip GetIntroSound(RoleTypes roleType) private static AudioClip GetIntroSound(RoleTypes roleType)
@@ -950,7 +956,7 @@ internal static class IntroCutsceneDestroyPatch
_ => null _ => null
}; };
if (map != null && AmongUsClient.Instance.AmHost) aapc.Do(map.RandomTeleport); if ((map != null) && AmongUsClient.Instance.AmHost) aapc.Do(map.RandomTeleport);
} }
if (lp.HasDesyncRole()) if (lp.HasDesyncRole())
@@ -975,9 +981,11 @@ internal static class IntroCutsceneDestroyPatch
LateTask.New(() => Main.Instance.StartCoroutine(Utils.NotifyEveryoneAsync()), 3f, log: false); LateTask.New(() => Main.Instance.StartCoroutine(Utils.NotifyEveryoneAsync()), 3f, log: false);
} }
else else
{
foreach (PlayerControl player in Main.AllPlayerControls) foreach (PlayerControl player in Main.AllPlayerControls)
Main.PlayerStates[player.PlayerId].InitTask(player); Main.PlayerStates[player.PlayerId].InitTask(player);
}
Logger.Info("OnDestroy", "IntroCutscene"); Logger.Info("OnDestroy", "IntroCutscene");
} }
} }
+1
View File
@@ -2419,6 +2419,7 @@
"MuteMessage": "<#ff0000>You're muted and cannot send messages. The mute will expire in <#ffff00>{0}</color> seconds.</color>", "MuteMessage": "<#ff0000>You're muted and cannot send messages. The mute will expire in <#ffff00>{0}</color> seconds.</color>",
"WhisperTitle": "{0} <#ffffff>(ID <#00ffa5>{1}</color>) whispers to you:</color>", "WhisperTitle": "{0} <#ffffff>(ID <#00ffa5>{1}</color>) whispers to you:</color>",
"DisableWhisperCommand": "Disable /whisper command", "DisableWhisperCommand": "Disable /whisper command",
"DisableSpectateCommand": "Disable /spectate command",
"WhisperDisabled": "<#ff0000>X</color> The /whisper command is disabled in this lobby.", "WhisperDisabled": "<#ff0000>X</color> The /whisper command is disabled in this lobby.",
"ThankYouForUsingEHR": "Thank you for using EHR!", "ThankYouForUsingEHR": "Thank you for using EHR!",
"GMRoles": "<color=#ff5b70>【 ★ Roles ★ 】</color>", "GMRoles": "<color=#ff5b70>【 ★ Roles ★ 】</color>",