diff --git a/Modules/ClientOptionItem.cs b/Modules/ClientOptionItem.cs index adc38ed..e8a400b 100644 --- a/Modules/ClientOptionItem.cs +++ b/Modules/ClientOptionItem.cs @@ -66,8 +66,8 @@ public class ClientOptionItem var modOptionsButton = Object.Instantiate(mouseMoveToggle, generalTab); modOptionsButton.transform.localPosition = leaveButton?.transform?.localPosition ?? new(0f, -2.4f, 1f); - modOptionsButton.name = Translator.GetString("BetterOption"); - modOptionsButton.Text.text = "Better Options"; + modOptionsButton.name = "Better Options"; + modOptionsButton.Text.text = Translator.GetString("BetterOption"); modOptionsButton.Background.color = new Color32(0, 150, 0, byte.MaxValue); var modOptionsPassiveButton = modOptionsButton.GetComponent(); modOptionsPassiveButton.OnClick = new(); diff --git a/Patches/GamePlayManagerPatch.cs b/Patches/GamePlayManagerPatch.cs index ac7e83b..e0e0e94 100644 --- a/Patches/GamePlayManagerPatch.cs +++ b/Patches/GamePlayManagerPatch.cs @@ -194,7 +194,7 @@ class GamePlayManager { Logger.LogHeader($"Game Has Ended - {Enum.GetName(typeof(MapNames), GameStates.GetActiveMapId)}/{GameStates.GetActiveMapId}", "GamePlayManager"); - Logger.LogHeader($"Game Summary Start", "GameSummary"); + Logger.LogHeader("Game Summary Start", "GameSummary"); GameObject SummaryObj = UnityEngine.Object.Instantiate(__instance.WinText.gameObject, __instance.WinText.transform.parent.transform); SummaryObj.name = "SummaryObj (TMP)"; @@ -234,55 +234,52 @@ class GamePlayManager switch (EndGameResult.CachedGameOverReason) { case GameOverReason.HumansByTask: - winTeam = "Cremates"; - winTag = "Tasks Completion"; + winTeam = Translator.GetString(StringNames.Crewmates); + winTag = Translator.GetString("Game.Summary.Result.TasksCompletion"); winColor = "#8cffff"; break; case GameOverReason.HumansByVote: - winTeam = "Cremates"; - winTag = "Imposters Voted Out"; + winTeam = Translator.GetString(StringNames.Crewmates); + winTag = Translator.GetString("Game.Summary.Result.ImpostersVotedOut"); winColor = "#8cffff"; break; case GameOverReason.ImpostorDisconnect: - winTeam = "Cremates"; - winTag = "Impostors Disconnected"; + winTeam = Translator.GetString(StringNames.Crewmates); + winTag = Translator.GetString("Game.Summary.Result.ImpostorsDisconnected"); winColor = "#8cffff"; break; case GameOverReason.ImpostorByKill: - winTeam = "Imposters"; - winTag = "Crew Outnumbered"; + winTeam = Translator.GetString(StringNames.ImpostorsCategory); + winTag = Translator.GetString("Game.Summary.Result.CrewOutnumbered"); winColor = "#f00202"; break; case GameOverReason.ImpostorBySabotage: - winTeam = "Imposters"; - winTag = "Sabotage"; + winTeam = Translator.GetString(StringNames.ImpostorsCategory); + winTag = Translator.GetString("Game.Summary.Result.Sabotage"); winColor = "#f00202"; break; case GameOverReason.ImpostorByVote: - winTeam = "Imposters"; - winTag = "Crew Outnumbered"; + winTeam = Translator.GetString(StringNames.ImpostorsCategory); + winTag = Translator.GetString("Game.Summary.Result.CrewOutnumbered"); winColor = "#f00202"; break; case GameOverReason.HumansDisconnect: - winTeam = "Imposters"; - winTag = "Cremates Disconnected"; + winTeam = Translator.GetString(StringNames.ImpostorsCategory); + winTag = Translator.GetString("Game.Summary.Result.CrematesDisconnected"); winColor = "#f00202"; break; - // H&S - case GameOverReason.HideAndSeek_ByTimer: - winTeam = "Hiders"; - winTag = "Time Out"; + winTeam = Translator.GetString("Game.Summary.Hiders"); + winTag = Translator.GetString("Game.Summary.Result.TimeOut"); winColor = "#8cffff"; break; case GameOverReason.HideAndSeek_ByKills: - winTeam = "Seekers"; - winTag = "No Survivors"; + winTeam = Translator.GetString("Game.Summary.Seekers"); + winTag = Translator.GetString("Game.Summary.Result.NoSurvivors"); winColor = "#f00202"; break; - default: winTeam = "Unknown"; winTag = "Unknown"; @@ -292,9 +289,9 @@ class GamePlayManager Logger.Log($"{winTeam}: {winTag}", "GameSummary"); - string SummaryHeader = " Game Summary"; - SummaryHeader += $"\n\n{winTeam} Won" + - $"\n\nBy {winTag}"; + string SummaryHeader = $" {Translator.GetString("Game.Summary")}"; + SummaryHeader += $"\n\n{winTeam} {Translator.GetString("Game.Summary.Won")}" + + $"\n\n{Translator.GetString("Game.Summary.By")} {winTag}"; StringBuilder sb = new StringBuilder(); @@ -306,30 +303,29 @@ class GamePlayManager string roleInfo; if (data.Role.IsImpostor) { - roleInfo = $"({playerTheme(Utils.GetRoleName(data.RoleType))}) → {playerTheme($"Kills: {data.BetterData().RoleInfo.Kills}")}"; + roleInfo = $"({playerTheme(Utils.GetRoleName(data.RoleType))}) → {playerTheme($"{Translator.GetString("Kills")}: {data.BetterData().RoleInfo.Kills}")}"; } else { - roleInfo = $"({playerTheme(Utils.GetRoleName(data.RoleType))}) → {playerTheme($"Tasks: {data.Tasks.ToArray().Where(task => task.Complete).Count()}/{data.Tasks.Count}")}"; + roleInfo = $"({playerTheme(Utils.GetRoleName(data.RoleType))}) → {playerTheme($"{Translator.GetString("Tasks")}: {data.Tasks.ToArray().Where(task => task.Complete).Count()}/{data.Tasks.Count}")}"; } string deathReason; if (data.Disconnected) { - deathReason = "『D/C』"; + deathReason = $"『{Translator.GetString("DC")}』"; } else if (!data.IsDead) { - deathReason = "『Alive』"; - ; + deathReason = $"『{Translator.GetString("Alive")}』"; } else if (data.IsDead) { - deathReason = "『Dead』"; + deathReason = $"『{Translator.GetString("Dead")}』"; } else { - deathReason = "『Unknown』"; + deathReason = $"『Unknown』"; } Logger.Log($"{name} {roleInfo} {deathReason}", "GameSummary"); @@ -338,9 +334,11 @@ class GamePlayManager } SummaryText.text = $"{SummaryHeader}\n\n{sb}"; - Logger.LogHeader($"Game Summary End", "GameSummary"); + Logger.LogHeader("Game Summary End", "GameSummary"); } } + + [HarmonyPatch(nameof(EndGameManager.ShowButtons))] [HarmonyPrefix] private static bool ShowButtons_Prefix(EndGameManager __instance) diff --git a/Resources/Lang/en_US.json b/Resources/Lang/en_US.json index 5c473fe..cb6308a 100644 --- a/Resources/Lang/en_US.json +++ b/Resources/Lang/en_US.json @@ -3,6 +3,11 @@ "BAU": "BetterAmongUs", "BAUMark": "♻", "Host": "Host", + "Kills": "Kills", + "Tasks": "Tasks", + "Alive": "Alive", + "Dead": "Dead", + "DC": "D/C", "BetterOption": "Better Options", "BetterOption.AntiCheat": "Anti-Cheat", @@ -65,5 +70,19 @@ "AntiCheat.Reason.PlatformSpoofer": "Platform Spoofer", "AntiCheat.Reason.Known": "Known Sicko Menu User", "AntiCheat.Reason.AUMUser": "Known AUM User", - "AntiCheat.Reason.KnownCheater": "Known Cheater" + "AntiCheat.Reason.KnownCheater": "Known Cheater", + + "Game.Summary": "Game Summary", + "Game.Summary.Hiders": "Hiders", + "Game.Summary.Seekers": "Seekers", + "Game.Summary.Won": "Won", + "Game.Summary.By": "By", + "Game.Summary.Result.TasksCompletion": "Tasks Completion", + "Game.Summary.Result.ImpostersVotedOut": "Imposters Voted Out", + "Game.Summary.Result.ImpostorsDisconnected": "Impostors Disconnected", + "Game.Summary.Result.CrewOutnumbered": "Crew Outnumbered", + "Game.Summary.Result.Sabotage": "Sabotage", + "Game.Summary.Result.CrematesDisconnected": "Cremates Disconnected", + "Game.Summary.Result.TimeOut": "Time Out", + "Game.Summary.Result.NoSurvivors": "No Survivors" }