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",