delete Recruit

This commit is contained in:
Gurge44 committed 2025-12-19 13:13:24 +01:00
1 parent eb06c403ff
commit 87108cce4d
16 files changed
+18 -85

No files matched your search

-1
View File
@@ -575,7 +575,6 @@ public enum CustomRoles
Physicist,
Rascal,
Reach,
Recruit,
Rookie,
Trainee,
Schizophrenic,
-1
View File
@@ -744,7 +744,6 @@ public class Main : BasePlugin
{ CustomRoles.Autopsy, "#80ffdd" },
{ CustomRoles.Loyal, "#B71556" },
{ CustomRoles.Visionary, "#ff1919" },
{ CustomRoles.Recruit, "#00b4eb" },
{ CustomRoles.Glow, "#E2F147" },
{ CustomRoles.Diseased, "#AAAAAA" },
{ CustomRoles.Antidote, "#FF9876" },
-3
View File
@@ -840,7 +840,6 @@ internal static class CustomRolesHelper
CustomRoles.Madmate or
CustomRoles.Egoist or
CustomRoles.Charmed or
CustomRoles.Recruit or
CustomRoles.Contagious or
CustomRoles.Rascal or
CustomRoles.Entranced;
@@ -958,7 +957,6 @@ internal static class CustomRolesHelper
{
return role is
CustomRoles.Charmed or
CustomRoles.Recruit or
CustomRoles.Contagious or
CustomRoles.Lovers or
CustomRoles.Madmate or
@@ -1365,7 +1363,6 @@ internal static class CustomRolesHelper
{
return (role == CustomRoles.Egoist && Inspector.InspectorCheckEgoistInt() == 1) || role is
CustomRoles.Charmed or
CustomRoles.Recruit or
CustomRoles.Contagious or
CustomRoles.Undead or
CustomRoles.Entranced;
-35
View File
@@ -126,16 +126,6 @@ public class PlayerState(byte playerId)
countTypes = role.GetCountTypes();
if (SubRoles.Contains(CustomRoles.Recruit))
{
countTypes = Jackal.SidekickCountMode.GetValue() switch
{
0 => CountTypes.Jackal,
1 => CountTypes.OutOfGame,
_ => role.GetCountTypes()
};
}
if (CustomTeamManager.GetCustomTeam(PlayerId) != null && !CustomTeamManager.IsSettingEnabledForPlayerTeam(PlayerId, CTAOption.WinWithOriginalTeam))
countTypes = CountTypes.CustomTeam;
@@ -253,7 +243,6 @@ public class PlayerState(byte playerId)
SubRoles.Remove(CustomRoles.Entranced);
SubRoles.Remove(CustomRoles.Charmed);
SubRoles.Remove(CustomRoles.Recruit);
SubRoles.Remove(CustomRoles.Contagious);
SubRoles.Remove(CustomRoles.Rascal);
SubRoles.Remove(CustomRoles.Loyal);
@@ -273,7 +262,6 @@ public class PlayerState(byte playerId)
SubRoles.Remove(CustomRoles.Entranced);
SubRoles.Remove(CustomRoles.Madmate);
SubRoles.Remove(CustomRoles.Recruit);
SubRoles.Remove(CustomRoles.Contagious);
SubRoles.Remove(CustomRoles.Rascal);
SubRoles.Remove(CustomRoles.Loyal);
@@ -293,7 +281,6 @@ public class PlayerState(byte playerId)
SubRoles.Remove(CustomRoles.Entranced);
SubRoles.Remove(CustomRoles.Madmate);
SubRoles.Remove(CustomRoles.Recruit);
SubRoles.Remove(CustomRoles.Contagious);
SubRoles.Remove(CustomRoles.Rascal);
SubRoles.Remove(CustomRoles.Loyal);
@@ -313,7 +300,6 @@ public class PlayerState(byte playerId)
SubRoles.Remove(CustomRoles.Charmed);
SubRoles.Remove(CustomRoles.Madmate);
SubRoles.Remove(CustomRoles.Recruit);
SubRoles.Remove(CustomRoles.Contagious);
SubRoles.Remove(CustomRoles.Rascal);
SubRoles.Remove(CustomRoles.Loyal);
@@ -325,26 +311,6 @@ public class PlayerState(byte playerId)
case CustomRoles.LastImpostor:
SubRoles.Remove(CustomRoles.Mare);
break;
case CustomRoles.Recruit:
countTypes = Jackal.SidekickCountMode.GetInt() switch
{
0 => CountTypes.Jackal,
1 => CountTypes.OutOfGame,
2 => countTypes,
_ => throw new NotImplementedException()
};
SubRoles.Remove(CustomRoles.Entranced);
SubRoles.Remove(CustomRoles.Madmate);
SubRoles.Remove(CustomRoles.Charmed);
SubRoles.Remove(CustomRoles.Contagious);
SubRoles.Remove(CustomRoles.Rascal);
SubRoles.Remove(CustomRoles.Loyal);
SubRoles.Remove(CustomRoles.Loyal);
SubRoles.Remove(CustomRoles.Undead);
Utils.NotifyRoles(SpecifySeer: Player);
Utils.NotifyRoles(SpecifyTarget: Player);
break;
case CustomRoles.Contagious:
countTypes = Virus.ContagiousCountMode.GetInt() switch
{
@@ -356,7 +322,6 @@ public class PlayerState(byte playerId)
SubRoles.Remove(CustomRoles.Entranced);
SubRoles.Remove(CustomRoles.Madmate);
SubRoles.Remove(CustomRoles.Recruit);
SubRoles.Remove(CustomRoles.Charmed);
SubRoles.Remove(CustomRoles.Rascal);
SubRoles.Remove(CustomRoles.Loyal);
-2
View File
@@ -189,7 +189,6 @@ public static class GuessManager
convertedGuessSetting = role switch
{
CustomRoles.Charmed => Options.CharmedCanBeGuessed,
CustomRoles.Recruit => Options.RecruitCanBeGuessed,
CustomRoles.Contagious => Options.ContagiousCanBeGuessed,
CustomRoles.Undead => Options.UndeadCanBeGuessed,
CustomRoles.Egoist => Options.EgoistCanBeGuessed,
@@ -1064,7 +1063,6 @@ public static class GuessManager
[CustomRoles.Deathknight] = CustomRoles.Necromancer,
[CustomRoles.Undead] = CustomRoles.Necromancer,
[CustomRoles.Sidekick] = CustomRoles.Jackal,
[CustomRoles.Recruit] = CustomRoles.Jackal,
[CustomRoles.Charmed] = CustomRoles.Cultist,
[CustomRoles.Contagious] = CustomRoles.Virus,
[CustomRoles.Entranced] = CustomRoles.Siren
-3
View File
@@ -159,7 +159,6 @@ public static class NameColorManager
CustomRoles.Virus when target.Is(CustomRoles.Contagious) => Main.RoleColors[CustomRoles.Contagious],
CustomRoles.Monarch when target.Is(CustomRoles.Knighted) => Main.RoleColors[CustomRoles.Knighted],
CustomRoles.Spiritcaller when target.Is(CustomRoles.EvilSpirit) => Main.RoleColors[CustomRoles.EvilSpirit],
CustomRoles.Jackal when target.Is(CustomRoles.Recruit) => Main.RoleColors[CustomRoles.Jackal],
CustomRoles.Renegade when target.Is(CustomRoleTypes.Impostor) => Main.RoleColors[CustomRoles.ImpostorEHR],
CustomRoles.HeadHunter when ((HeadHunter)seerRoleClass).Targets.Contains(target.PlayerId) => "000000",
CustomRoles.BountyHunter when (seerRoleClass as BountyHunter)?.GetTarget(seer) == target.PlayerId => "000000",
@@ -204,7 +203,6 @@ public static class NameColorManager
// Check if the role color can be seen based on the target's role
color = targetRole switch
{
CustomRoles.Jackal when seer.Is(CustomRoles.Recruit) => Main.RoleColors[CustomRoles.Jackal],
CustomRoles.Virus when seer.Is(CustomRoles.Contagious) => Main.RoleColors[CustomRoles.Virus],
CustomRoles.Renegade when seer.Is(CustomRoleTypes.Impostor) => Main.RoleColors[CustomRoles.Renegade],
CustomRoles.Speedrunner when !seer.Is(Team.Crewmate) && target.GetTaskState().CompletedTasksCount >= Speedrunner.SpeedrunnerNotifyAtXTasksLeft.GetInt() && Speedrunner.SpeedrunnerNotifyKillers.GetBool() => Main.RoleColors[CustomRoles.Speedrunner],
@@ -232,7 +230,6 @@ public static class NameColorManager
if (target.Is(CustomRoles.Charmed)) color = Main.NeutralColor;
if (target.Is(CustomRoles.Contagious)) color = Main.NeutralColor;
if (target.Is(CustomRoles.Egoist)) color = Main.NeutralColor;
if (target.Is(CustomRoles.Recruit)) color = Main.NeutralColor;
if (target.Is(CustomRoles.Entranced)) color = Main.CovenColor;
}
-5
View File
@@ -807,7 +807,6 @@ public static class Options
public static OptionItem NoLimitAddonsNumMax;
public static OptionItem CharmedCanBeGuessed;
public static OptionItem RecruitCanBeGuessed;
public static OptionItem ContagiousCanBeGuessed;
public static OptionItem UndeadCanBeGuessed;
public static OptionItem EgoistCanBeGuessed;
@@ -1455,10 +1454,6 @@ public static class Options
.SetGameMode(CustomGameMode.Standard)
.AddReplacement(("{role}", CustomRoles.Charmed.ToColoredString()));
RecruitCanBeGuessed = new StringOptionItem(214, "ConvertedAddonCanBeGuessed", AddonGuessOptions, 2, TabGroup.Addons)
.SetGameMode(CustomGameMode.Standard)
.AddReplacement(("{role}", CustomRoles.Recruit.ToColoredString()));
ContagiousCanBeGuessed = new StringOptionItem(215, "ConvertedAddonCanBeGuessed", AddonGuessOptions, 2, TabGroup.Addons)
.SetGameMode(CustomGameMode.Standard)
.AddReplacement(("{role}", CustomRoles.Contagious.ToColoredString()));
+2 -14
View File
@@ -556,7 +556,7 @@ public static class Utils
{
foreach (CustomRoles subRole in targetSubRoles)
{
if (subRole is not CustomRoles.LastImpostor and not CustomRoles.Madmate and not CustomRoles.Charmed and not CustomRoles.Recruit and not CustomRoles.Lovers and not CustomRoles.Contagious and not CustomRoles.Bloodlust and not CustomRoles.Entranced and not CustomRoles.Egoist)
if (subRole is not CustomRoles.LastImpostor and not CustomRoles.Madmate and not CustomRoles.Charmed and not CustomRoles.Lovers and not CustomRoles.Contagious and not CustomRoles.Bloodlust and not CustomRoles.Entranced and not CustomRoles.Egoist)
{
string str = GetString("Prefix." + subRole);
if (!subRole.IsAdditionRole()) str = GetString(subRole.ToString());
@@ -576,12 +576,6 @@ public static class Utils
roleText = GetRoleString("Mad-") + roleText;
}
if (targetSubRoles.Contains(CustomRoles.Recruit))
{
roleColor = GetRoleColor(CustomRoles.Recruit);
roleText = GetRoleString("Recruit-") + roleText;
}
if (targetSubRoles.Contains(CustomRoles.Charmed) && (self || pure || seeTargetBetrayalAddons || seerMainRole == CustomRoles.Cultist || (Cultist.TargetKnowOtherTarget.GetBool() && seerSubRoles.Contains(CustomRoles.Charmed))))
{
roleColor = GetRoleColor(CustomRoles.Charmed);
@@ -1004,7 +998,6 @@ public static class Utils
case CustomRoles.Entranced:
case CustomRoles.Madmate:
case CustomRoles.Charmed:
case CustomRoles.Recruit:
case CustomRoles.Egoist:
case CustomRoles.Contagious:
case CustomRoles.Rascal:
@@ -1068,13 +1061,8 @@ public static class Utils
case CustomRoles.Hypocrite when PlayerControl.LocalPlayer.Is(CustomRoleTypes.Impostor) && Hypocrite.KnowsAllies.GetBool():
case CustomRoles.Jackal when PlayerControl.LocalPlayer.Is(CustomRoles.Jackal):
case CustomRoles.Jackal when PlayerControl.LocalPlayer.Is(CustomRoles.Sidekick):
case CustomRoles.Jackal when PlayerControl.LocalPlayer.Is(CustomRoles.Recruit):
case CustomRoles.Recruit when PlayerControl.LocalPlayer.Is(CustomRoles.Jackal):
case CustomRoles.Recruit when PlayerControl.LocalPlayer.Is(CustomRoles.Sidekick):
case CustomRoles.Recruit when PlayerControl.LocalPlayer.Is(CustomRoles.Recruit):
case CustomRoles.Sidekick when PlayerControl.LocalPlayer.Is(CustomRoles.Jackal):
case CustomRoles.Sidekick when PlayerControl.LocalPlayer.Is(CustomRoles.Sidekick):
case CustomRoles.Sidekick when PlayerControl.LocalPlayer.Is(CustomRoles.Recruit):
case CustomRoles.Workaholic when Workaholic.WorkaholicVisibleToEveryone.GetBool():
case CustomRoles.Doctor when !__instance.HasEvilAddon() && Options.DoctorVisibleToEveryone.GetBool():
case CustomRoles.Mayor when Mayor.MayorRevealWhenDoneTasks.GetBool() && __instance.GetTaskState().IsTaskFinished:
@@ -3105,7 +3093,7 @@ public static class Utils
(seer.Is(CustomRoleTypes.Impostor) && target.Is(CustomRoles.Hypocrite) && Hypocrite.AlliesKnowHypocrite.GetBool()) ||
(seer.Is(CustomRoleTypes.Impostor) && target.Is(CustomRoles.Crewpostor) && Options.AlliesKnowCrewpostor.GetBool()) ||
(seer.IsMadmate() && target.IsMadmate() && Options.MadmateKnowWhosMadmate.GetBool()) ||
((seer.Is(CustomRoles.Sidekick) || seer.Is(CustomRoles.Recruit) || seer.Is(CustomRoles.Jackal)) && (target.Is(CustomRoles.Sidekick) || target.Is(CustomRoles.Recruit) || target.Is(CustomRoles.Jackal))) ||
((seer.Is(CustomRoles.Sidekick) || seer.Is(CustomRoles.Jackal)) && (target.Is(CustomRoles.Sidekick) || target.Is(CustomRoles.Jackal))) ||
(target.Is(CustomRoles.Workaholic) && Workaholic.WorkaholicVisibleToEveryone.GetBool()) ||
(target.Is(CustomRoles.Doctor) && !target.HasEvilAddon() && Options.DoctorVisibleToEveryone.GetBool()) ||
(target.Is(CustomRoles.Mayor) && Mayor.MayorRevealWhenDoneTasks.GetBool() && target.GetTaskState().IsTaskFinished) ||
+1 -2
View File
@@ -167,7 +167,7 @@ internal static class GameEndChecker
break;
case CustomWinner.Jackal:
WinnerIds.UnionWith(Main.AllPlayerControls
.Where(pc => pc.Is(CustomRoles.Jackal) || pc.Is(CustomRoles.Sidekick) || pc.Is(CustomRoles.Recruit))
.Where(pc => pc.Is(CustomRoles.Jackal) || pc.Is(CustomRoles.Sidekick))
.Select(pc => pc.PlayerId));
break;
@@ -651,7 +651,6 @@ internal static class GameEndChecker
if (x.Is(CustomRoles.Charmed)) roleCounts[(null, CustomWinner.Cultist)]++;
if (x.Is(CustomRoles.Undead)) roleCounts[(null, CustomWinner.Necromancer)]++;
if (x.Is(CustomRoles.Sidekick)) roleCounts[(null, CustomWinner.Jackal)]++;
if (x.Is(CustomRoles.Recruit)) roleCounts[(null, CustomWinner.Jackal)]++;
if (x.Is(CustomRoles.Contagious)) roleCounts[(null, CustomWinner.Virus)]++;
}
}
+3 -1
View File
@@ -177,6 +177,7 @@ internal static class CheckForEndVotingPatch
if (CheckRole(ps.TargetPlayerId, CustomRoles.Shifter) && !Shifter.CanVote.GetBool()) canVote = false;
if (ps.VotedFor.GetPlayer() != null && CheckRole(ps.VotedFor, CustomRoles.Zombie)) canVote = false;
if (Poache.PoachedPlayers.Contains(ps.TargetPlayerId)) canVote = false;
if (Silencer.ForSilencer.Contains(ps.TargetPlayerId) && Main.AllAlivePlayerControls.Length > Silencer.MaxPlayersAliveForSilencedToVote.GetInt()) canVote = false;
switch (Main.PlayerStates[ps.TargetPlayerId].Role)
{
@@ -640,6 +641,7 @@ internal static class ExtendedMeetingHud
}
if (Poache.PoachedPlayers.Contains(ps.TargetPlayerId)) voteNum = 0;
if (Silencer.ForSilencer.Contains(ps.TargetPlayerId) && Main.AllAlivePlayerControls.Length > Silencer.MaxPlayersAliveForSilencedToVote.GetInt()) voteNum = 0;
if (CheckForEndVotingPatch.CheckRole(ps.TargetPlayerId, CustomRoles.Magistrate) && Magistrate.CallCourtNextMeeting) voteNum += Magistrate.ExtraVotes.GetInt();
if (CheckForEndVotingPatch.CheckRole(ps.TargetPlayerId, CustomRoles.Knighted)) voteNum += 1;
@@ -900,7 +902,7 @@ internal static class MeetingHudStartPatch
(target.Is(CustomRoles.Crewpostor) && seer.Is(CustomRoleTypes.Impostor) && Options.CrewpostorKnowsAllies.GetBool()) ||
(target.Is(CustomRoles.Hypocrite) && seer.Is(CustomRoleTypes.Impostor) && Hypocrite.KnowsAllies.GetBool()) ||
(target.IsMadmate() && seer.IsMadmate() && Options.MadmateKnowWhosMadmate.GetBool()) ||
((target.Is(CustomRoles.Jackal) || target.Is(CustomRoles.Sidekick) || target.Is(CustomRoles.Recruit)) && (seer.Is(CustomRoles.Sidekick) || seer.Is(CustomRoles.Recruit) || seer.Is(CustomRoles.Jackal))) ||
((target.Is(CustomRoles.Jackal) || target.Is(CustomRoles.Sidekick)) && (seer.Is(CustomRoles.Sidekick) || seer.Is(CustomRoles.Jackal))) ||
(target.Is(CustomRoles.Workaholic) && Workaholic.WorkaholicVisibleToEveryone.GetBool()) ||
(target.Is(CustomRoles.Doctor) && !target.HasEvilAddon() && Options.DoctorVisibleToEveryone.GetBool()) ||
(target.Is(CustomRoles.Mayor) && Mayor.MayorRevealWhenDoneTasks.GetBool() && target.GetTaskState().IsTaskFinished) ||
+1 -6
View File
@@ -377,12 +377,7 @@ internal static class CheckMurderPatch
if ((killer.Is(CustomRoles.Jackal) && target.Is(CustomRoles.Sidekick) && !Options.JackalCanKillSidekick.GetBool()) ||
(killer.Is(CustomRoles.Sidekick) && target.Is(CustomRoles.Jackal) && !Options.SidekickCanKillJackal.GetBool()) ||
(killer.Is(CustomRoles.Jackal) && target.Is(CustomRoles.Recruit) && !Options.JackalCanKillSidekick.GetBool()) ||
(killer.Is(CustomRoles.Recruit) && target.Is(CustomRoles.Jackal) && !Options.SidekickCanKillJackal.GetBool()) ||
(killer.Is(CustomRoles.Sidekick) && target.Is(CustomRoles.Sidekick) && !Options.SidekickCanKillSidekick.GetBool()) ||
(killer.Is(CustomRoles.Recruit) && target.Is(CustomRoles.Recruit) && !Options.SidekickCanKillSidekick.GetBool()) ||
(killer.Is(CustomRoles.Recruit) && target.Is(CustomRoles.Sidekick) && !Options.SidekickCanKillSidekick.GetBool()) ||
(killer.Is(CustomRoles.Sidekick) && target.Is(CustomRoles.Recruit) && !Options.SidekickCanKillSidekick.GetBool()))
(killer.Is(CustomRoles.Sidekick) && target.Is(CustomRoles.Sidekick) && !Options.SidekickCanKillSidekick.GetBool()))
{
Notify("JackalSidekick");
return false;
+2 -7
View File
@@ -390,7 +390,6 @@
"Autopsy": "Autopsy",
"Loyal": "Loyal",
"EvilSpirit": "Evil Spirit",
"Recruit": "Recruit",
"Glow": "Glow",
"Diseased": "Diseased",
"Antidote": "Antidote",
@@ -429,7 +428,6 @@
"Prefix.Beartrap": "Beartrap",
"Prefix.Guesser": "Guesser",
"Prefix.Necroview": "Necroview",
"Prefix.Recruit": "Recruit",
"Prefix.Reach": "Reach",
"Prefix.Haste": "Haste",
"Prefix.Magnet": "Magnet",
@@ -670,7 +668,6 @@
"SonarInfo": "You have an arrow pointing to the nearest player",
"LoyalInfo": "You cannot be recruited",
"EvilSpiritInfo": "You are an evil Spirit",
"RecruitInfo": "Help the Jackal",
"GlowInfo": "You glow in the dark",
"DiseasedInfo": "Increase your killer's cooldown",
"AntidoteInfo": "Decrease your killer's cooldown",
@@ -894,7 +891,6 @@
"AutopsyInfoLong": "(Add-ons):\\nAs the Autopsy, you can see how people died.\\n\\nCannot be assigned to Doctor, Tracefinder, Scientist, or Sunnyboy.",
"LoyalInfoLong": "(Add-ons):\\nAs the Loyal, you cannot be recruited by roles such as Jackal or Cultist.\\n\\nCannot be assigned to neutrals.",
"EvilSpiritInfoLong": "(Add-ons):\\nAs Evil Spirit, it's your job to help the Spiritcaller to victory. You can use your Haunt button to freeze players and reduce their vision. Alternatively, you can use your Haunt button to give the Spiritcaller a shield against a kill attempt temporarily.",
"RecruitInfoLong": "(Betrayal Add-ons):\\nAs a recruit, you are on the Jackal's team and help out the Jackal and their Sidekicks.\\n\\nYou cannot win with your original team.",
"GlowInfoLong": "(Add-ons):\\nAs the Glow, your name is colored during a lights sabotage.",
"DiseasedInfoLong": "(Add-ons):\\nWhen someone tries to use the kill button on you, their cooldown will be increased by a configurable amount of time",
"AntidoteInfoLong": "(Add-ons):\\nWhen someone tries to use the kill button on you, their cooldown will be decreased by a configurable amount of time",
@@ -1847,7 +1843,7 @@
"CheckMurderFail": "<#ff0000>The murder was canceled due to the following reason:\\n</color>",
"SameCTATeam": "The player you attacked is in the same custom team as you",
"AFKShielded": "According to the Host's settings, AFK players cannot be killed",
"JackalSidekick": "This Jackal/Sidekick/Recruit interaction is not allowed",
"JackalSidekick": "This Jackal-Sidekick interaction is not allowed",
"ContagiousPlayers": "Contagious players cannot kill each other",
"MadmateKillImpostor": "Madmates cannot kill Impostors",
"ImpostorKillMadmate": "Impostors cannot kill Madmates",
@@ -3304,7 +3300,6 @@
"Infected-": "Infected ",
"Ego-": "Ego-",
"Contagious-": "Contagious ",
"Recruit-": "Recruited ",
"KillCount": " Kills: {0}",
"CantUse.lastroles": "Unable to use /lastroles during a game.",
"CantUse.killlog": "Unable to use /killlog during a game.",
@@ -4824,7 +4819,7 @@
"SilencerKillTitle": "<color=#ffff00>WARNING</color>",
"SilencerShutUp": "Shush! You'll die if you keep talking.",
"SilencerMax": "Maximum times blackmailed players may speak",
"SilencerSkillCooldown": "Ability Cooldown",
"MaxPlayersAliveForSilencedToVote": "Max Players Alive for Silenced Players to be able to Vote",
"Doppelganger": "Doppelganger",
"DoppelgangerInfo": "Steal The Identify of Your Target",
"DoppelgangerInfoLong": "(Neutrals):\\nAs the Doppelganger, use your kill button to steal a player's identity (their name and skin) and then kill your target.\\n\\nKill everyone to win.\\n\\nNote:- You can not steal the identity of the target when Camouflage is active.",
+1 -1
View File
@@ -167,7 +167,7 @@ public class Judge : RoleBase
judgeSuicide = true;
}
else if (pc.Is(CustomRoles.Madmate) || pc.Is(CustomRoles.Charmed) || pc.Is(CustomRoles.Recruit) || pc.Is(CustomRoles.Contagious) || target.Is(CustomRoles.Rascal) || target.Is(CustomRoles.Madmate) && CanTrialMadmate.GetBool() || target.IsConverted() && CanTrialConverted.GetBool() || target.IsNeutralKiller() && CanTrialNeutralK.GetBool())
else if (pc.Is(CustomRoles.Madmate) || pc.Is(CustomRoles.Charmed) || pc.Is(CustomRoles.Contagious) || target.Is(CustomRoles.Rascal) || target.Is(CustomRoles.Madmate) && CanTrialMadmate.GetBool() || target.IsConverted() && CanTrialConverted.GetBool() || target.IsNeutralKiller() && CanTrialNeutralK.GetBool())
judgeSuicide = false;
else if (target.Is(CustomRoles.Pestilence) || target.Is(CustomRoles.Trickster))
judgeSuicide = true;
+1 -2
View File
@@ -126,7 +126,7 @@ public class Sheriff : RoleBase
public override bool OnCheckMurder(PlayerControl killer, PlayerControl target)
{
if (CanBeKilledBySheriff(target) || (killer.Is(CustomRoles.Recruit) && SidekickSheriffCanGoBerserk.GetBool()) || (SetNonCrewCanKill.GetBool() && (killer.IsMadmate() || killer.IsConverted()) && ((target.IsImpostor() && NonCrewCanKillImp.GetBool()) || (target.IsCrewmate() && NonCrewCanKillCrew.GetBool()) || (target.GetCustomRole().IsNeutral() && NonCrewCanKillNeutral.GetBool()))))
if (CanBeKilledBySheriff(target) || (SetNonCrewCanKill.GetBool() && (killer.IsMadmate() || killer.IsConverted()) && ((target.IsImpostor() && NonCrewCanKillImp.GetBool()) || (target.IsCrewmate() && NonCrewCanKillCrew.GetBool()) || (target.GetCustomRole().IsNeutral() && NonCrewCanKillNeutral.GetBool()))))
{
SetKillCooldown(killer.PlayerId);
return true;
@@ -160,7 +160,6 @@ public class Sheriff : RoleBase
CustomRoles.Madmate => CanKillMadmate.GetBool(),
CustomRoles.Charmed => CanKillCharmed.GetBool(),
CustomRoles.Lovers => CanKillLovers.GetBool(),
CustomRoles.Recruit => CanKillSidekicks.GetBool(),
CustomRoles.Contagious => CanKillContagious.GetBool(),
CustomRoles.Rascal => true,
_ => false
+6 -1
View File
@@ -17,6 +17,7 @@ public class Silencer : RoleBase
public static OptionItem SkillCooldown;
public static OptionItem SilenceMode;
public static OptionItem MaxPlayersAliveForSilencedToVote;
public static List<byte> ForSilencer = [];
@@ -35,12 +36,16 @@ public class Silencer : RoleBase
{
SetupRoleOptions(Id, TabGroup.ImpostorRoles, CustomRoles.Silencer);
SkillCooldown = new FloatOptionItem(Id + 5, "SilencerSkillCooldown", new(2.5f, 60f, 0.5f), 30f, TabGroup.ImpostorRoles)
SkillCooldown = new FloatOptionItem(Id + 5, "AbilityCooldown", new(2.5f, 60f, 0.5f), 30f, TabGroup.ImpostorRoles)
.SetParent(CustomRoleSpawnChances[CustomRoles.Silencer])
.SetValueFormat(OptionFormat.Seconds);
SilenceMode = new StringOptionItem(Id + 4, "SilenceMode", SilenceModes, 1, TabGroup.ImpostorRoles)
.SetParent(CustomRoleSpawnChances[CustomRoles.Silencer]);
MaxPlayersAliveForSilencedToVote = new IntegerOptionItem(Id + 6, "MaxPlayersAliveForSilencedToVote", new(1, 15, 1), 5, TabGroup.ImpostorRoles)
.SetParent(CustomRoleSpawnChances[CustomRoles.Silencer])
.SetValueFormat(OptionFormat.Players);
}
public override void Init()
+1 -1
View File
@@ -106,7 +106,7 @@ public class Hater : RoleBase
|| (Main.LoversPlayers.Exists(x => x.PlayerId == target.PlayerId) && CanKillLovers.GetBool())
|| ((target.Is(CustomRoles.Romantic) || target.Is(CustomRoles.RuthlessRomantic) || target.Is(CustomRoles.VengefulRomantic)
|| Romantic.PartnerId == target.PlayerId) && CanKillLovers.GetBool())
|| ((target.Is(CustomRoles.Sidekick) || target.Is(CustomRoles.Jackal) || target.Is(CustomRoles.Recruit)) && CanKillSidekicks.GetBool())
|| ((target.Is(CustomRoles.Sidekick) || target.Is(CustomRoles.Jackal)) && CanKillSidekicks.GetBool())
|| (target.Is(CustomRoles.Egoist) && CanKillEgoists.GetBool())
|| ((target.Is(CustomRoles.Contagious) || target.Is(CustomRoles.Virus)) && CanKillContagious.GetBool())
)