From 3b081aab6151d8b1c577e479f76d626ee5983590 Mon Sep 17 00:00:00 2001 From: Marg <51059123+MargaretTheFool@users.noreply.github.com> Date: Wed, 5 Feb 2025 18:59:02 -0500 Subject: [PATCH 1/2] update everything and new setting added investigative and protective role types, moved roles accordingly, and added crew investigative roles can be guessed setting (defaults to on) --- Modules/CustomRolesHelper.cs | 2 ++ Modules/GuessManager.cs | 6 ++++++ Modules/OptionHolder.cs | 30 +++++++++++++++++++++++++++-- Resources/Lang/en_US.json | 5 ++++- Roles/Crewmate/Addict.cs | 2 +- Roles/Crewmate/Alchemist.cs | 2 +- Roles/Crewmate/Benefactor.cs | 2 +- Roles/Crewmate/Bodyguard.cs | 2 +- Roles/Crewmate/Celebrity.cs | 2 +- Roles/Crewmate/Cleanser.cs | 2 +- Roles/Crewmate/Coroner.cs | 2 +- Roles/Crewmate/Crusader.cs | 2 +- Roles/Crewmate/Detective.cs | 2 +- Roles/Crewmate/Doctor.cs | 2 +- Roles/Crewmate/Enigma.cs | 2 +- Roles/Crewmate/FortuneTeller.cs | 2 +- Roles/Crewmate/Guardian.cs | 2 +- Roles/Crewmate/GuessMaster.cs | 2 +- Roles/Crewmate/Inspector.cs | 2 +- Roles/Crewmate/Investigator.cs | 2 +- Roles/Crewmate/Keeper.cs | 2 +- Roles/Crewmate/LazyGuy.cs | 2 +- Roles/Crewmate/Lookout.cs | 2 +- Roles/Crewmate/Medic.cs | 2 +- Roles/Crewmate/Medium.cs | 2 +- Roles/Crewmate/Mole.cs | 2 +- Roles/Crewmate/Mortician.cs | 2 +- Roles/Crewmate/Oracle.cs | 2 +- Roles/Crewmate/Overseer.cs | 2 +- Roles/Crewmate/Psychic.cs | 2 +- Roles/Crewmate/Randomizer.cs | 2 +- Roles/Crewmate/Snitch.cs | 2 +- Roles/Crewmate/Spiritualist.cs | 2 +- Roles/Crewmate/Spy.cs | 2 +- Roles/Crewmate/SuperStar.cs | 2 +- Roles/Crewmate/TaskManager.cs | 2 +- Roles/Crewmate/Telecommunication.cs | 2 +- Roles/Crewmate/TimeMaster.cs | 2 +- Roles/Crewmate/Tracefinder.cs | 2 +- Roles/Crewmate/Transporter.cs | 2 +- Roles/Crewmate/Witness.cs | 2 +- Roles/Double/Mini.cs | 2 +- 42 files changed, 78 insertions(+), 41 deletions(-) diff --git a/Modules/CustomRolesHelper.cs b/Modules/CustomRolesHelper.cs index ba469e96f4..b75ec732fd 100644 --- a/Modules/CustomRolesHelper.cs +++ b/Modules/CustomRolesHelper.cs @@ -1479,7 +1479,9 @@ public enum Custom_RoleType CrewmateVanilla, CrewmateVanillaGhosts, CrewmateBasic, + CrewmateInvestigative, CrewmateSupport, + CrewmateProtective, CrewmateKilling, CrewmatePower, CrewmateGhosts, diff --git a/Modules/GuessManager.cs b/Modules/GuessManager.cs index 206cb7d7d7..d56f2d2bb7 100644 --- a/Modules/GuessManager.cs +++ b/Modules/GuessManager.cs @@ -267,6 +267,12 @@ public static bool GuesserMsg(PlayerControl pc, string msg, bool isUI = false) return true; } + if (role.GetCustomRoleType() == Custom_RoleType.CrewmateInvestigative && !Options.CrewInvestCanBeGuessed.GetBool()) + { + pc.ShowInfoMessage(isUI, GetString("GuessCrewInvest")); + return true; + } + if (role.IsTNA() && role != CustomRoles.Pestilence && !Options.TransformedNeutralApocalypseCanBeGuessed.GetBool() || role == CustomRoles.Pestilence && !PlagueBearer.PestilenceKillsGuessers.GetBool()) { pc.ShowInfoMessage(isUI, GetString("GuessImmune")); diff --git a/Modules/OptionHolder.cs b/Modules/OptionHolder.cs index 0f640d813d..b2cd7f7ac1 100644 --- a/Modules/OptionHolder.cs +++ b/Modules/OptionHolder.cs @@ -516,6 +516,9 @@ public enum QuickChatSpamMode // ------------ General Role Settings ------------ + // Crew + public static OptionItem CrewInvestCanBeGuessed; + // Imp public static OptionItem ImpsCanSeeEachOthersRoles; public static OptionItem ImpsCanSeeEachOthersAddOns; @@ -896,10 +899,19 @@ private static System.Collections.IEnumerator CoLoadOptions() CustomRoleManager.GetNormalOptions(Custom_RoleType.CrewmateBasic).ForEach(r => r.SetupCustomOption()); + /* - * MINI + * INVESTIGATIVE ROLES */ - CustomRoles.Mini.GetStaticRoleClass().SetupCustomOption(); + TextOptionItem.Create(10000102, "RoleType.CrewInvestigative", TabGroup.CrewmateRoles) + .SetGameMode(CustomGameMode.Standard) + .SetColor(new Color32(140, 255, 255, byte.MaxValue)); + + CrewInvestCanBeGuessed = BooleanOptionItem.Create(60035, "CrewInvestCanBeGuessed", true, TabGroup.CrewmateRoles, false) + .SetGameMode(CustomGameMode.Standard) + .SetHeader(true); + + CustomRoleManager.GetNormalOptions(Custom_RoleType.CrewmateInvestigative).ForEach(r => r.SetupCustomOption()); /* * SUPPORT ROLES @@ -910,6 +922,20 @@ private static System.Collections.IEnumerator CoLoadOptions() CustomRoleManager.GetNormalOptions(Custom_RoleType.CrewmateSupport).ForEach(r => r.SetupCustomOption()); + /* + * MINI + */ + CustomRoles.Mini.GetStaticRoleClass().SetupCustomOption(); + + /* + * INVESTIGATIVE ROLES + */ + TextOptionItem.Create(10000103, "RoleType.CrewProtective", TabGroup.CrewmateRoles) + .SetGameMode(CustomGameMode.Standard) + .SetColor(new Color32(140, 255, 255, byte.MaxValue)); + + CustomRoleManager.GetNormalOptions(Custom_RoleType.CrewmateProtective).ForEach(r => r.SetupCustomOption()); + /* * KILLING ROLES */ diff --git a/Resources/Lang/en_US.json b/Resources/Lang/en_US.json index 8f7e6ecdf0..fd13690f41 100644 --- a/Resources/Lang/en_US.json +++ b/Resources/Lang/en_US.json @@ -2394,6 +2394,7 @@ "GuessCrewRole": "Unfortunately, the Host's settings do not allow Crewmates to guess Crewmate roles.", "GuessApocRole": "Fortunately, the Host's settings does not allow Apocalypse to guess Apocalypse roles.", "GuessCovenRole": "Fortunately, the Host's settings does not allow Coven to guess Coven roles.", + "GuessCrewInvestRole": "Unfortunately, the Host's settings do not allow you to guess Crewmate Investigative roles. Try silencing them some other way...", "GuessKill": "{0} was guessed", "GuessNull": "Please select an ID of a living player to guess their role", "GuessHelp": "Instructions: /bt [Player ID] [Role Name] \nExample: /bt 3 Bait \nYou can see the player ID's before everyone's names \n or use the /id command to list the player ID's", @@ -3806,6 +3807,7 @@ "RoleType.CrewPower": "★ Crewmate Power Roles", "RoleType.CrewKilling": "★ Crewmate Killing Roles", "RoleType.CrewBasic": "★ Crewmate Basic Roles", + "RoleType.CrewProtective": "★ Crewmate Protective Roles", "RoleType.CrewGhost": "★ Crewmate Ghost Roles /ghostinfo", "RoleType.NeutralEvil": "★ Neutral Evil Roles", "RoleType.NeutralBenign": "★ Neutral Benign Roles", @@ -4164,5 +4166,6 @@ "ChiefOfPoliceKillButtonText": "Recruitment", "PolicPreventRecruitNonKiller": "Prevent recruit players without Kill button", "PolicSuidiceWhenTargetNotKiller": "Suicides when recruit a non-Killer or non-Crewmate", - "PolicPassConverted": "Can pass Converted Add-on to Sheriff" + "PolicPassConverted": "Can pass Converted Add-on to Sheriff", + "CrewInvestCanBeGuessed": "Crewmate Investigative roles can be guessed" } diff --git a/Roles/Crewmate/Addict.cs b/Roles/Crewmate/Addict.cs index dc0ed58f64..f269cb7ab4 100644 --- a/Roles/Crewmate/Addict.cs +++ b/Roles/Crewmate/Addict.cs @@ -10,7 +10,7 @@ internal class Addict : RoleBase public override CustomRoles Role => CustomRoles.Addict; private const int Id = 6300; public override CustomRoles ThisRoleBase => CustomRoles.Engineer; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateBasic; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; public override bool BlockMoveInVent(PlayerControl pc) => true; //==================================================================\\ diff --git a/Roles/Crewmate/Alchemist.cs b/Roles/Crewmate/Alchemist.cs index 91c00db61c..3a373b32d4 100644 --- a/Roles/Crewmate/Alchemist.cs +++ b/Roles/Crewmate/Alchemist.cs @@ -16,7 +16,7 @@ internal class Alchemist : RoleBase public override CustomRoles Role => CustomRoles.Alchemist; private const int Id = 6400; public override CustomRoles ThisRoleBase => CustomRoles.Engineer; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateBasic; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; public override bool BlockMoveInVent(PlayerControl pc) => true; //==================================================================\\ diff --git a/Roles/Crewmate/Benefactor.cs b/Roles/Crewmate/Benefactor.cs index 512b1c5903..e72ca35669 100644 --- a/Roles/Crewmate/Benefactor.cs +++ b/Roles/Crewmate/Benefactor.cs @@ -11,7 +11,7 @@ internal class Benefactor : RoleBase private const int Id = 26400; public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateProtective; //==================================================================\\ private static OptionItem TaskMarkPerRoundOpt; diff --git a/Roles/Crewmate/Bodyguard.cs b/Roles/Crewmate/Bodyguard.cs index 0ad3f606fb..37ea4d6acd 100644 --- a/Roles/Crewmate/Bodyguard.cs +++ b/Roles/Crewmate/Bodyguard.cs @@ -11,7 +11,7 @@ internal class Bodyguard : RoleBase public static bool HasEnabled => CustomRoleManager.HasEnabled(CustomRoles.Bodyguard); public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateKilling; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateProtective; //==================================================================\\ private static OptionItem ProtectRadiusOpt; diff --git a/Roles/Crewmate/Celebrity.cs b/Roles/Crewmate/Celebrity.cs index 8aef4748bb..c14ce8bb0c 100644 --- a/Roles/Crewmate/Celebrity.cs +++ b/Roles/Crewmate/Celebrity.cs @@ -11,7 +11,7 @@ internal class Celebrity : RoleBase public override CustomRoles Role => CustomRoles.Celebrity; private const int Id = 6500; public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateBasic; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; //==================================================================\\ private static OptionItem ImpKnowCelebrityDead; diff --git a/Roles/Crewmate/Cleanser.cs b/Roles/Crewmate/Cleanser.cs index 0fd37dada4..ddb9e2d2a0 100644 --- a/Roles/Crewmate/Cleanser.cs +++ b/Roles/Crewmate/Cleanser.cs @@ -13,7 +13,7 @@ internal class Cleanser : RoleBase private const int Id = 6600; public static bool HasEnabled => CustomRoleManager.HasEnabled(CustomRoles.Cleanser); public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateBasic; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; //==================================================================\\ private static OptionItem CleanserUsesOpt; diff --git a/Roles/Crewmate/Coroner.cs b/Roles/Crewmate/Coroner.cs index d2dc418f6a..57ca121c5c 100644 --- a/Roles/Crewmate/Coroner.cs +++ b/Roles/Crewmate/Coroner.cs @@ -17,7 +17,7 @@ internal class Coroner : RoleBase private const int Id = 7700; public static bool HasEnabled => CustomRoleManager.HasEnabled(CustomRoles.Coroner); public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateInvestigative; //==================================================================\\ private static readonly Dictionary> CoronerTargets = []; diff --git a/Roles/Crewmate/Crusader.cs b/Roles/Crewmate/Crusader.cs index 3e42d89a17..3eee3d6617 100644 --- a/Roles/Crewmate/Crusader.cs +++ b/Roles/Crewmate/Crusader.cs @@ -13,7 +13,7 @@ internal class Crusader : RoleBase public static bool HasEnabled => CustomRoleManager.HasEnabled(CustomRoles.Crusader); public override bool IsDesyncRole => true; public override CustomRoles ThisRoleBase => CustomRoles.Impostor; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateKilling; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateProtective; //==================================================================\\ private static OptionItem SkillLimitOpt; diff --git a/Roles/Crewmate/Detective.cs b/Roles/Crewmate/Detective.cs index 362c551e43..0d87c9aa01 100644 --- a/Roles/Crewmate/Detective.cs +++ b/Roles/Crewmate/Detective.cs @@ -12,7 +12,7 @@ internal class Detective : RoleBase public override CustomRoles Role => CustomRoles.Detective; private const int Id = 7900; public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateInvestigative; //==================================================================\\ private static OptionItem DetectiveCanknowKiller; diff --git a/Roles/Crewmate/Doctor.cs b/Roles/Crewmate/Doctor.cs index 398a4be91e..125cb7dcd7 100644 --- a/Roles/Crewmate/Doctor.cs +++ b/Roles/Crewmate/Doctor.cs @@ -10,7 +10,7 @@ internal class Doctor : RoleBase public override CustomRoles Role => CustomRoles.Doctor; private const int Id = 6700; public override CustomRoles ThisRoleBase => CustomRoles.Scientist; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateBasic; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; //==================================================================\\ private static OptionItem TaskCompletedBatteryChargeOpt; diff --git a/Roles/Crewmate/Enigma.cs b/Roles/Crewmate/Enigma.cs index a7b088e8a8..2d91bc65ff 100644 --- a/Roles/Crewmate/Enigma.cs +++ b/Roles/Crewmate/Enigma.cs @@ -10,7 +10,7 @@ internal class Enigma : RoleBase public override CustomRoles Role => CustomRoles.Enigma; private const int Id = 8100; public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateInvestigative; //==================================================================\\ private static OptionItem EnigmaClueStage1Tasks; diff --git a/Roles/Crewmate/FortuneTeller.cs b/Roles/Crewmate/FortuneTeller.cs index 6297e08d72..70f05fd5a3 100644 --- a/Roles/Crewmate/FortuneTeller.cs +++ b/Roles/Crewmate/FortuneTeller.cs @@ -18,7 +18,7 @@ internal class FortuneTeller : RoleBase private const int Id = 8000; public static bool HasEnabled => CustomRoleManager.HasEnabled(CustomRoles.FortuneTeller); public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateInvestigative; //==================================================================\\ private static OptionItem CheckLimitOpt; diff --git a/Roles/Crewmate/Guardian.cs b/Roles/Crewmate/Guardian.cs index 8ca6c9a21f..6408a26edc 100644 --- a/Roles/Crewmate/Guardian.cs +++ b/Roles/Crewmate/Guardian.cs @@ -9,7 +9,7 @@ internal class Guardian : RoleBase public override CustomRoles Role => CustomRoles.Guardian; private const int Id = 11700; public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmatePower; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateProtective; //==================================================================\\ public override void SetupCustomOption() diff --git a/Roles/Crewmate/GuessMaster.cs b/Roles/Crewmate/GuessMaster.cs index 016b89738d..554ffcb5dc 100644 --- a/Roles/Crewmate/GuessMaster.cs +++ b/Roles/Crewmate/GuessMaster.cs @@ -11,7 +11,7 @@ internal class GuessMaster : RoleBase public static bool HasEnabled => playerIdList.Any(); public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateBasic; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateInvestigative; //==================================================================\\ public override void SetupCustomOption() diff --git a/Roles/Crewmate/Inspector.cs b/Roles/Crewmate/Inspector.cs index bf18534ac3..8a5905e2a3 100644 --- a/Roles/Crewmate/Inspector.cs +++ b/Roles/Crewmate/Inspector.cs @@ -19,7 +19,7 @@ internal class Inspector : RoleBase public static bool HasEnabled => CustomRoleManager.HasEnabled(CustomRoles.Inspector); public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateInvestigative; //==================================================================\\ private static OptionItem TryHideMsg; diff --git a/Roles/Crewmate/Investigator.cs b/Roles/Crewmate/Investigator.cs index 294e15bc9b..eef212d2cb 100644 --- a/Roles/Crewmate/Investigator.cs +++ b/Roles/Crewmate/Investigator.cs @@ -13,7 +13,7 @@ internal class Investigator : RoleBase private const int Id = 24900; public override bool IsDesyncRole => true; public override CustomRoles ThisRoleBase => CustomRoles.Impostor; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateInvestigative; //==================================================================\\ private static OptionItem InvestigateCooldown; diff --git a/Roles/Crewmate/Keeper.cs b/Roles/Crewmate/Keeper.cs index 4d22b6bde2..d6c422f062 100644 --- a/Roles/Crewmate/Keeper.cs +++ b/Roles/Crewmate/Keeper.cs @@ -15,7 +15,7 @@ internal class Keeper : RoleBase private const int Id = 26500; public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateProtective; //==================================================================\\ private static OptionItem KeeperUsesOpt; diff --git a/Roles/Crewmate/LazyGuy.cs b/Roles/Crewmate/LazyGuy.cs index 9827b5bbd2..974f095406 100644 --- a/Roles/Crewmate/LazyGuy.cs +++ b/Roles/Crewmate/LazyGuy.cs @@ -8,7 +8,7 @@ internal class LazyGuy : RoleBase public override CustomRoles Role => CustomRoles.LazyGuy; private const int Id = 6800; public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateBasic; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; //==================================================================\\ public override void SetupCustomOption() diff --git a/Roles/Crewmate/Lookout.cs b/Roles/Crewmate/Lookout.cs index 4ae9ff3be6..734aa73bfb 100644 --- a/Roles/Crewmate/Lookout.cs +++ b/Roles/Crewmate/Lookout.cs @@ -9,7 +9,7 @@ internal class Lookout : RoleBase public override CustomRoles Role => CustomRoles.Lookout; private const int Id = 11800; public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmatePower; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateInvestigative; //==================================================================\\ public override void SetupCustomOption() diff --git a/Roles/Crewmate/Medic.cs b/Roles/Crewmate/Medic.cs index 91eda6ac54..29c82edb6c 100644 --- a/Roles/Crewmate/Medic.cs +++ b/Roles/Crewmate/Medic.cs @@ -18,7 +18,7 @@ internal class Medic : RoleBase public static bool HasEnabled => CustomRoleManager.HasEnabled(CustomRoles.Medic); public override bool IsDesyncRole => true; public override CustomRoles ThisRoleBase => CustomRoles.Impostor; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateProtective; //==================================================================\\ private static OptionItem WhoCanSeeProtectOpt; diff --git a/Roles/Crewmate/Medium.cs b/Roles/Crewmate/Medium.cs index 5e9b1ae977..b7bd8ac3da 100644 --- a/Roles/Crewmate/Medium.cs +++ b/Roles/Crewmate/Medium.cs @@ -17,7 +17,7 @@ internal class Medium : RoleBase private const int Id = 8700; public static bool HasEnabled => CustomRoleManager.HasEnabled(CustomRoles.Medium); public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateInvestigative; //==================================================================\\ private static OptionItem ContactLimitOpt; diff --git a/Roles/Crewmate/Mole.cs b/Roles/Crewmate/Mole.cs index 139ab2c6a8..dcfccef0fc 100644 --- a/Roles/Crewmate/Mole.cs +++ b/Roles/Crewmate/Mole.cs @@ -11,7 +11,7 @@ internal class Mole : RoleBase public override CustomRoles Role => CustomRoles.Mole; private const int Id = 26000; public override CustomRoles ThisRoleBase => CustomRoles.Engineer; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateBasic; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; public override bool BlockMoveInVent(PlayerControl pc) => true; //==================================================================\\ diff --git a/Roles/Crewmate/Mortician.cs b/Roles/Crewmate/Mortician.cs index aa6379cbf7..0b104febb9 100644 --- a/Roles/Crewmate/Mortician.cs +++ b/Roles/Crewmate/Mortician.cs @@ -11,7 +11,7 @@ internal class Mortician : RoleBase public override CustomRoles Role => CustomRoles.Mortician; private const int Id = 8900; public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateInvestigative; //==================================================================\\ private static OptionItem ShowArrows; diff --git a/Roles/Crewmate/Oracle.cs b/Roles/Crewmate/Oracle.cs index 47960624ff..4493d4d8c6 100644 --- a/Roles/Crewmate/Oracle.cs +++ b/Roles/Crewmate/Oracle.cs @@ -18,7 +18,7 @@ internal class Oracle : RoleBase private const int Id = 9100; public static bool HasEnabled => CustomRoleManager.HasEnabled(CustomRoles.Oracle); public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateInvestigative; //==================================================================\\ private static OptionItem CheckLimitOpt; diff --git a/Roles/Crewmate/Overseer.cs b/Roles/Crewmate/Overseer.cs index a282434d82..148e3acb9a 100644 --- a/Roles/Crewmate/Overseer.cs +++ b/Roles/Crewmate/Overseer.cs @@ -17,7 +17,7 @@ internal class Overseer : RoleBase private const int Id = 12200; public override bool IsDesyncRole => true; public override CustomRoles ThisRoleBase => CustomRoles.Impostor; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmatePower; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateInvestigative; //==================================================================\\ public override Sprite GetKillButtonSprite(PlayerControl player, bool shapeshifting) => CustomButton.Get("prophecies"); diff --git a/Roles/Crewmate/Psychic.cs b/Roles/Crewmate/Psychic.cs index 4ae2798f61..a13bb83f82 100644 --- a/Roles/Crewmate/Psychic.cs +++ b/Roles/Crewmate/Psychic.cs @@ -15,7 +15,7 @@ internal class Psychic : RoleBase public static bool HasEnabled => CustomRoleManager.HasEnabled(CustomRoles.Psychic); public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateInvestigative; //==================================================================\\ private static OptionItem CanSeeNum; diff --git a/Roles/Crewmate/Randomizer.cs b/Roles/Crewmate/Randomizer.cs index 869f0292c0..48ab23312b 100644 --- a/Roles/Crewmate/Randomizer.cs +++ b/Roles/Crewmate/Randomizer.cs @@ -12,7 +12,7 @@ internal class Randomizer : RoleBase public override CustomRoles Role => CustomRoles.Randomizer; private const int Id = 7500; public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateBasic; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; //==================================================================\\ public static OptionItem BecomeBaitDelayNotify; diff --git a/Roles/Crewmate/Snitch.cs b/Roles/Crewmate/Snitch.cs index cb1c5960bd..6f32f1075d 100644 --- a/Roles/Crewmate/Snitch.cs +++ b/Roles/Crewmate/Snitch.cs @@ -16,7 +16,7 @@ internal class Snitch : RoleBase public static bool HasEnabled => playerIdList.Any(); public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateInvestigative; //==================================================================\\ private static readonly Color RoleColor = Utils.GetRoleColor(CustomRoles.Snitch); diff --git a/Roles/Crewmate/Spiritualist.cs b/Roles/Crewmate/Spiritualist.cs index 5b9eac62b8..a5af9745d1 100644 --- a/Roles/Crewmate/Spiritualist.cs +++ b/Roles/Crewmate/Spiritualist.cs @@ -10,7 +10,7 @@ internal class Spiritualist : RoleBase public override CustomRoles Role => CustomRoles.Spiritualist; private const int Id = 9600; public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateInvestigative; //==================================================================\\ private static OptionItem ShowGhostArrowEverySeconds; diff --git a/Roles/Crewmate/Spy.cs b/Roles/Crewmate/Spy.cs index 0005a113cf..0c3bdd8e75 100644 --- a/Roles/Crewmate/Spy.cs +++ b/Roles/Crewmate/Spy.cs @@ -13,7 +13,7 @@ internal class Spy : RoleBase public override CustomRoles Role => CustomRoles.Spy; private const int Id = 9700; public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateProtective; //==================================================================\\ private static OptionItem SpyRedNameDur; diff --git a/Roles/Crewmate/SuperStar.cs b/Roles/Crewmate/SuperStar.cs index 7e965f14f8..6e31809f74 100644 --- a/Roles/Crewmate/SuperStar.cs +++ b/Roles/Crewmate/SuperStar.cs @@ -10,7 +10,7 @@ internal class SuperStar : RoleBase public override CustomRoles Role => CustomRoles.SuperStar; private const int Id = 7150; public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateBasic; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmatePower; //==================================================================\\ private static OptionItem EveryOneKnowSuperStar; // You should always have this enabled TBHHH 💀💀 diff --git a/Roles/Crewmate/TaskManager.cs b/Roles/Crewmate/TaskManager.cs index d2ea64f0ed..2177f2cf0c 100644 --- a/Roles/Crewmate/TaskManager.cs +++ b/Roles/Crewmate/TaskManager.cs @@ -11,7 +11,7 @@ internal class TaskManager : RoleBase public override CustomRoles Role => CustomRoles.TaskManager; private const int Id = 7200; public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateBasic; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; //==================================================================\\ public override void SetupCustomOption() diff --git a/Roles/Crewmate/Telecommunication.cs b/Roles/Crewmate/Telecommunication.cs index 42f4c76e05..d6414a4ae8 100644 --- a/Roles/Crewmate/Telecommunication.cs +++ b/Roles/Crewmate/Telecommunication.cs @@ -13,7 +13,7 @@ internal class Telecommunication : RoleBase public override CustomRoles Role => CustomRoles.Telecommunication; private const int Id = 12500; public override CustomRoles ThisRoleBase => CanVent.GetBool() ? CustomRoles.Engineer : CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmatePower; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateInvestigative; //==================================================================\\ private static OptionItem CanCheckCamera; diff --git a/Roles/Crewmate/TimeMaster.cs b/Roles/Crewmate/TimeMaster.cs index eb9c7641e6..9422fee145 100644 --- a/Roles/Crewmate/TimeMaster.cs +++ b/Roles/Crewmate/TimeMaster.cs @@ -16,7 +16,7 @@ internal class TimeMaster : RoleBase private const int Id = 9900; public static bool HasEnabled => CustomRoleManager.HasEnabled(CustomRoles.TimeMaster); public override CustomRoles ThisRoleBase => CustomRoles.Engineer; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateProtective; public override bool BlockMoveInVent(PlayerControl pc) => true; //==================================================================\\ diff --git a/Roles/Crewmate/Tracefinder.cs b/Roles/Crewmate/Tracefinder.cs index d939a404c8..e1b7923046 100644 --- a/Roles/Crewmate/Tracefinder.cs +++ b/Roles/Crewmate/Tracefinder.cs @@ -12,7 +12,7 @@ internal class Tracefinder : RoleBase public override CustomRoles Role => CustomRoles.Tracefinder; private const int Id = 7300; public override CustomRoles ThisRoleBase => CustomRoles.Scientist; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateBasic; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateInvestigative; //==================================================================\\ private static OptionItem VitalsDuration; diff --git a/Roles/Crewmate/Transporter.cs b/Roles/Crewmate/Transporter.cs index 706a7a30e2..33eec8bdd7 100644 --- a/Roles/Crewmate/Transporter.cs +++ b/Roles/Crewmate/Transporter.cs @@ -10,7 +10,7 @@ internal class Transporter : RoleBase public override CustomRoles Role => CustomRoles.Transporter; private const int Id = 7400; public override CustomRoles ThisRoleBase => CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateBasic; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; //==================================================================\\ private static OptionItem TransporterTeleportMax; diff --git a/Roles/Crewmate/Witness.cs b/Roles/Crewmate/Witness.cs index 0952382c23..bc739e46a6 100644 --- a/Roles/Crewmate/Witness.cs +++ b/Roles/Crewmate/Witness.cs @@ -14,7 +14,7 @@ internal class Witness : RoleBase private const int Id = 10100; public override bool IsDesyncRole => true; public override CustomRoles ThisRoleBase => CustomRoles.Impostor; - public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateSupport; + public override Custom_RoleType ThisRoleType => Custom_RoleType.CrewmateInvestigative; //==================================================================\\ private static OptionItem WitnessCD; diff --git a/Roles/Double/Mini.cs b/Roles/Double/Mini.cs index d3c132d1af..be9bd54137 100644 --- a/Roles/Double/Mini.cs +++ b/Roles/Double/Mini.cs @@ -13,7 +13,7 @@ internal class Mini : RoleBase private const int Id = 7000; public static bool HasEnabled => CustomRoleManager.HasEnabled(CustomRoles.EvilMini) || CustomRoleManager.HasEnabled(CustomRoles.NiceMini); public override CustomRoles ThisRoleBase => IsEvilMini ? CustomRoles.Impostor : CustomRoles.Crewmate; - public override Custom_RoleType ThisRoleType => IsEvilMini ? Custom_RoleType.ImpostorKilling : Custom_RoleType.CrewmateBasic; + public override Custom_RoleType ThisRoleType => IsEvilMini ? Custom_RoleType.ImpostorKilling : Custom_RoleType.CrewmateSupport; //==================================================================\\ private static OptionItem GrowUpDuration; From adf783939160c17778b08fb9e99d249a5e48f7be Mon Sep 17 00:00:00 2001 From: Marg <51059123+MargaretTheFool@users.noreply.github.com> Date: Wed, 5 Feb 2025 19:05:07 -0500 Subject: [PATCH 2/2] remove crew basic --- Modules/CustomRolesHelper.cs | 1 - Modules/OptionHolder.cs | 9 --------- Resources/Lang/en_US.json | 2 +- 3 files changed, 1 insertion(+), 11 deletions(-) diff --git a/Modules/CustomRolesHelper.cs b/Modules/CustomRolesHelper.cs index b75ec732fd..d57e8bfd8e 100644 --- a/Modules/CustomRolesHelper.cs +++ b/Modules/CustomRolesHelper.cs @@ -1478,7 +1478,6 @@ public enum Custom_RoleType // Crewmate CrewmateVanilla, CrewmateVanillaGhosts, - CrewmateBasic, CrewmateInvestigative, CrewmateSupport, CrewmateProtective, diff --git a/Modules/OptionHolder.cs b/Modules/OptionHolder.cs index b2cd7f7ac1..27875639ed 100644 --- a/Modules/OptionHolder.cs +++ b/Modules/OptionHolder.cs @@ -890,15 +890,6 @@ private static System.Collections.IEnumerator CoLoadOptions() } - /* - * BASIC ROLES - */ - TextOptionItem.Create(10000007, "RoleType.CrewBasic", TabGroup.CrewmateRoles) - .SetGameMode(CustomGameMode.Standard) - .SetColor(new Color32(140, 255, 255, byte.MaxValue)); - - CustomRoleManager.GetNormalOptions(Custom_RoleType.CrewmateBasic).ForEach(r => r.SetupCustomOption()); - /* * INVESTIGATIVE ROLES diff --git a/Resources/Lang/en_US.json b/Resources/Lang/en_US.json index fd13690f41..232b998a86 100644 --- a/Resources/Lang/en_US.json +++ b/Resources/Lang/en_US.json @@ -3807,7 +3807,7 @@ "RoleType.CrewPower": "★ Crewmate Power Roles", "RoleType.CrewKilling": "★ Crewmate Killing Roles", "RoleType.CrewBasic": "★ Crewmate Basic Roles", - "RoleType.CrewProtective": "★ Crewmate Protective Roles", + "RoleType.CrewProtective": "★ Crewmate Protective Roles", "RoleType.CrewGhost": "★ Crewmate Ghost Roles /ghostinfo", "RoleType.NeutralEvil": "★ Neutral Evil Roles", "RoleType.NeutralBenign": "★ Neutral Benign Roles",