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