diff --git a/CustomRoles.cs b/CustomRoles.cs index 020959411..bba7b3c22 100644 --- a/CustomRoles.cs +++ b/CustomRoles.cs @@ -335,7 +335,7 @@ public enum CustomRoles Lawyer, Magician, Magistrate, - Mario, // Vector + Vector, Maverick, Medusa, Mycologist, diff --git a/Main.cs b/Main.cs index 78d72d947..95b468ccd 100644 --- a/Main.cs +++ b/Main.cs @@ -527,7 +527,7 @@ public class Main : BasePlugin { CustomRoles.Lawyer, "#008080" }, { CustomRoles.God, "#f96464" }, { CustomRoles.Opportunist, "#4dff4d" }, - { CustomRoles.Mario, "#ff6201" }, + { CustomRoles.Vector, "#ff6201" }, { CustomRoles.Jackal, "#00b4eb" }, { CustomRoles.Sidekick, "#00b4eb" }, { CustomRoles.Innocent, "#8f815e" }, @@ -1039,7 +1039,7 @@ public enum CustomWinner Technician = CustomRoles.Technician, Jackal = CustomRoles.Jackal, God = CustomRoles.God, - Mario = CustomRoles.Mario, + Vector = CustomRoles.Vector, Innocent = CustomRoles.Innocent, Pelican = CustomRoles.Pelican, Youtuber = CustomRoles.Youtuber, diff --git a/Modules/CustomRolesHelper.cs b/Modules/CustomRolesHelper.cs index 058cb7ca0..168b56989 100644 --- a/Modules/CustomRolesHelper.cs +++ b/Modules/CustomRolesHelper.cs @@ -301,7 +301,7 @@ internal static class CustomRolesHelper CustomRoles.Technician => Technician.CanVent.GetBool() ? CustomRoles.Engineer : CustomRoles.Crewmate, CustomRoles.GuardianAngelEHR => CustomRoles.GuardianAngel, CustomRoles.Zombie => CustomRoles.Impostor, - CustomRoles.Mario => CustomRoles.Engineer, + CustomRoles.Vector => CustomRoles.Engineer, CustomRoles.AntiAdminer => CustomRoles.Shapeshifter, CustomRoles.Arrogance => CustomRoles.Impostor, CustomRoles.Bomber => UsePets ? CustomRoles.Impostor : CustomRoles.Shapeshifter, @@ -1520,7 +1520,7 @@ internal static class CustomRolesHelper RoleOptionType.Crewmate_Power => Utils.GetRoleColor(CustomRoles.Electric), RoleOptionType.Crewmate_Chaos => Utils.GetRoleColor(CustomRoles.Tornado), RoleOptionType.Neutral_Benign => Utils.GetRoleColor(CustomRoles.Chameleon), - RoleOptionType.Neutral_Evil => Utils.GetRoleColor(CustomRoles.Mario), + RoleOptionType.Neutral_Evil => Utils.GetRoleColor(CustomRoles.Vector), RoleOptionType.Neutral_Pariah => ColorUtility.TryParseHtmlString("#a10e49", out var c) ? c : Color.magenta, RoleOptionType.Neutral_Killing => Palette.ImpostorRed, RoleOptionType.Coven_Miscellaneous => Utils.GetRoleColor(CustomRoles.CovenLeader), @@ -1600,7 +1600,7 @@ internal static class CustomRolesHelper CustomRoles.God => RoleOptionType.Neutral_Evil, CustomRoles.Executioner => RoleOptionType.Neutral_Evil, CustomRoles.Doomsayer => RoleOptionType.Neutral_Evil, - CustomRoles.Mario => RoleOptionType.Neutral_Evil, + CustomRoles.Vector => RoleOptionType.Neutral_Evil, CustomRoles.Terrorist => RoleOptionType.Neutral_Evil, CustomRoles.Thief => RoleOptionType.Neutral_Evil, CustomRoles.Collector => RoleOptionType.Neutral_Evil, diff --git a/Modules/Utils.cs b/Modules/Utils.cs index fb1740236..13d7e95c8 100644 --- a/Modules/Utils.cs +++ b/Modules/Utils.cs @@ -913,7 +913,7 @@ public static class Utils case CustomRoles.Crusader when !Options.UsePets.GetBool() || !Crusader.UsePet.GetBool(): case CustomRoles.Refugee: case CustomRoles.Jester: - case CustomRoles.Mario: + case CustomRoles.Vector: case CustomRoles.Vulture: case CustomRoles.God: case CustomRoles.Innocent: diff --git a/Patches/OnGameStartedPatch.cs b/Patches/OnGameStartedPatch.cs index 6c88b6e30..7c6c87d78 100644 --- a/Patches/OnGameStartedPatch.cs +++ b/Patches/OnGameStartedPatch.cs @@ -219,7 +219,7 @@ internal static class ChangeRoleSettings Mayor.MayorUsedButtonCount = []; Paranoid.ParaUsedButtonCount = []; - Mario.MarioVentCount = []; + Vector.VectorVentCount = []; Cleaner.CleanerBodies = []; Virus.InfectedBodies = []; Workaholic.WorkaholicAlive = []; diff --git a/Resources/Lang/en_US.json b/Resources/Lang/en_US.json index ce4aeeafa..f92e6a209 100644 --- a/Resources/Lang/en_US.json +++ b/Resources/Lang/en_US.json @@ -299,7 +299,7 @@ "Executioner": "Executioner", "Lawyer": "Lawyer", "Opportunist": "Opportunist", - "Mario": "Vector", + "Vector": "Vector", "Jackal": "Jackal", "God": "God", "Innocent": "Innocent", @@ -579,7 +579,7 @@ "TerroristInfo": "Finish your tasks, THEN die", "ExecutionerInfo": "Get your target voted out", "LawyerInfo": "Help your target win!", - "MarioInfo": "Jump in, jump out, win!", + "VectorInfo": "Jump in, jump out, win!", "JackalInfo": "Murder everyone", "GodInfo": "Everything is under your control", "InnocentInfo": "Get someone ejected by making them kill you", @@ -809,7 +809,7 @@ "ExecutionerInfoLong": "(Neutrals):\\nThe Executioner has a target with a diamond symbol next to their name. If the target dies, the Executioner may become a Crewmate, Jester, or Opportunist. If the target is voted out, the Executioner wins.", "LawyerInfoLong": "(Neutrals):\\nLawyer has a target to defend, which will be indicated by a diamond 「♦」 next to their name. If your target wins, you win. If they lose, you lose.", "OpportunistInfoLong": "(Neutrals):\\nIf the Opportunist is alive at the end, they win with the winning team.", - "MarioInfoLong": "(Neutrals):\\nVector will win alone by venting a certain number of times.", + "VectorInfoLong": "(Neutrals):\\nVector will win alone by venting a certain number of times.", "JackalInfoLong": "(Neutrals):\\nConvert a player with your Kill button. If you die, they will become the new Jackal. You win once you achieve majority and no other evil teams exist.", "GodInfoLong": "(Neutrals):\\nGod knows everyone's role from the beginning, and God will win alone as long as he lives to the end. Note: God won't be Lovers.", "InnocentInfoLong": "(Neutrals):\\nInnocent players can use the kill button to plant another player, causing them to die immediately. If the planted player is voted out in a meeting, the Innocent wins. Note that the Jester, Executioner, and Innocent can win together.", @@ -1559,13 +1559,13 @@ "ZombieSpeedReduce": "After a certain time, decrease the speed of Zombie by", "NemesisCanKillNum": "Max number of revenges", "JesterCanUseButton": "Can call emergency meetings", - "MarioVentButtonText": "Hop", - "Mario.NumVentsToWinOn.Skeld": "Number of Vents to Win on Skeld", - "Mario.NumVentsToWinOn.MiraHQ": "Number of Vents to Win on Mira", - "Mario.NumVentsToWinOn.Polus": "Number of Vents to Win on Polus", - "Mario.NumVentsToWinOn.Dleks": "Number of Vents to Win on Dleks", - "Mario.NumVentsToWinOn.Airship": "Number of Vents to Win on Airship", - "Mario.NumVentsToWinOn.Fungle": "Number of Vents to Win on Fungle", + "VectorVentButtonText": "Hop", + "Vector.NumVentsToWinOn.Skeld": "Number of Vents to Win on Skeld", + "Vector.NumVentsToWinOn.MiraHQ": "Number of Vents to Win on Mira", + "Vector.NumVentsToWinOn.Polus": "Number of Vents to Win on Polus", + "Vector.NumVentsToWinOn.Dleks": "Number of Vents to Win on Dleks", + "Vector.NumVentsToWinOn.Airship": "Number of Vents to Win on Airship", + "Vector.NumVentsToWinOn.Fungle": "Number of Vents to Win on Fungle", "CanCheckCamera": "Can track camera usage", "ArroganceDefaultKillCooldown": "Starting kill cooldown", "ArroganceReduceKillCooldown": "Reduce kill cooldown by", @@ -10080,7 +10080,7 @@ "WinnerRoleText.Revolutionist": "Revolutionist Wins!", "WinnerRoleText.Jackal": "Team Jackal Wins!", "WinnerRoleText.God": "God Wins!", - "WinnerRoleText.Mario": "Vector Wins!", + "WinnerRoleText.Vector": "Vector Wins!", "WinnerRoleText.Innocent": "Innocent Wins!", "WinnerRoleText.Pelican": "Pelican Wins!", "WinnerRoleText.Youtuber": "YouTuber Wins!", diff --git a/Roles/Neutral/Mario.cs b/Roles/Neutral/Vector.cs similarity index 54% rename from Roles/Neutral/Mario.cs rename to Roles/Neutral/Vector.cs index dd0d33d0d..263e18784 100644 --- a/Roles/Neutral/Mario.cs +++ b/Roles/Neutral/Vector.cs @@ -9,37 +9,37 @@ using static EHR.Options; namespace EHR.Neutral; -internal class Mario : RoleBase +internal class Vector : RoleBase { - public static Dictionary MarioVentCount = []; + public static Dictionary VectorVentCount = []; public static bool On; - private static OptionItem MarioVentCD; + private static OptionItem VectorVentCD; private static Dictionary MapWinCounts = []; - private static int MarioVentNumWin; + private static int VectorVentNumWin; public override bool IsEnable => On; public override void SetupCustomOption() { - SetupRoleOptions(18300, TabGroup.NeutralRoles, CustomRoles.Mario); + SetupRoleOptions(18300, TabGroup.NeutralRoles, CustomRoles.Vector); - MarioVentCD = new FloatOptionItem(18311, "VentCooldown", new(0f, 180f, 1f), 0f, TabGroup.NeutralRoles) - .SetParent(CustomRoleSpawnChances[CustomRoles.Mario]) + VectorVentCD = new FloatOptionItem(18311, "VentCooldown", new(0f, 180f, 1f), 0f, TabGroup.NeutralRoles) + .SetParent(CustomRoleSpawnChances[CustomRoles.Vector]) .SetValueFormat(OptionFormat.Seconds); - MapWinCounts = Enum.GetValues().ToDictionary(x => x, x => new IntegerOptionItem(18312 + (int)x, $"Mario.NumVentsToWinOn.{x}", new(0, 900, 5), 80, TabGroup.NeutralRoles) - .SetParent(CustomRoleSpawnChances[CustomRoles.Mario]) + MapWinCounts = Enum.GetValues().ToDictionary(x => x, x => new IntegerOptionItem(18312 + (int)x, $"Vector.NumVentsToWinOn.{x}", new(0, 900, 5), 80, TabGroup.NeutralRoles) + .SetParent(CustomRoleSpawnChances[CustomRoles.Vector]) .SetValueFormat(OptionFormat.Times)); } public override void Add(byte playerId) { On = true; - MarioVentCount[playerId] = 0; - MarioVentNumWin = MapWinCounts[SubmergedCompatibility.IsSubmerged() ? MapNames.Airship : Main.CurrentMap].GetInt(); + VectorVentCount[playerId] = 0; + VectorVentNumWin = MapWinCounts[SubmergedCompatibility.IsSubmerged() ? MapNames.Airship : Main.CurrentMap].GetInt(); } public override void Init() @@ -49,44 +49,44 @@ internal class Mario : RoleBase public override void ApplyGameOptions(IGameOptions opt, byte playerId) { - AURoleOptions.EngineerCooldown = MarioVentCD.GetFloat(); + AURoleOptions.EngineerCooldown = VectorVentCD.GetFloat(); AURoleOptions.EngineerInVentMaxTime = 1f; } public override string GetProgressText(byte playerId, bool comms) { - return Utils.ColorString(Color.white, $"- {MarioVentCount.GetValueOrDefault(playerId, 0)}/{MarioVentNumWin}"); + return Utils.ColorString(Color.white, $"- {VectorVentCount.GetValueOrDefault(playerId, 0)}/{VectorVentNumWin}"); } public override void SetButtonTexts(HudManager hud, byte id) { - hud.AbilityButton.buttonLabelText.text = Translator.GetString("MarioVentButtonText"); + hud.AbilityButton.buttonLabelText.text = Translator.GetString("VectorVentButtonText"); } public override void OnFixedUpdate(PlayerControl pc) { byte playerId = pc.PlayerId; - if (MarioVentCount[playerId] >= MarioVentNumWin) + if (VectorVentCount[playerId] >= VectorVentNumWin) { - MarioVentCount[playerId] = MarioVentNumWin; - CustomWinnerHolder.ResetAndSetWinner(CustomWinner.Mario); + VectorVentCount[playerId] = VectorVentNumWin; + CustomWinnerHolder.ResetAndSetWinner(CustomWinner.Vector); CustomWinnerHolder.WinnerIds.Add(playerId); } } public override void OnEnterVent(PlayerControl pc, Vent vent) { - MarioVentCount.TryAdd(pc.PlayerId, 0); - MarioVentCount[pc.PlayerId]++; + VectorVentCount.TryAdd(pc.PlayerId, 0); + VectorVentCount[pc.PlayerId]++; Utils.SendRPC(CustomRPC.SyncRoleData, pc.PlayerId, pc.PlayerId); Utils.NotifyRoles(SpecifySeer: pc, SpecifyTarget: pc); - pc.RPCPlayCustomSound("MarioJump"); + pc.RPCPlayCustomSound("VectorJump"); - if (AmongUsClient.Instance.AmHost && MarioVentCount[pc.PlayerId] >= MarioVentNumWin) + if (AmongUsClient.Instance.AmHost && VectorVentCount[pc.PlayerId] >= VectorVentNumWin) { - pc.RPCPlayCustomSound("MarioCoin"); - CustomWinnerHolder.ResetAndSetWinner(CustomWinner.Mario); + pc.RPCPlayCustomSound("VectorCoin"); + CustomWinnerHolder.ResetAndSetWinner(CustomWinner.Vector); CustomWinnerHolder.WinnerIds.Add(pc.PlayerId); } } @@ -94,7 +94,7 @@ internal class Mario : RoleBase public void ReceiveRPC(MessageReader reader) { byte id = reader.ReadByte(); - MarioVentCount.TryAdd(id, 0); - MarioVentCount[id]++; + VectorVentCount.TryAdd(id, 0); + VectorVentCount[id]++; } } \ No newline at end of file