Files
EndlessHostRoles/Roles/Standard/Crewmate/Vanilla/CrewmateVanillaRoles.cs
T
2026-09-29 20:25:12 +02:00

90 lines
4.2 KiB
C#

using static EHR.Options;
namespace EHR.Roles;
internal class CrewmateVanillaRoles : IVanillaSettingHolder
{
public static OptionItem VanillaCrewmateCannotBeGuessed;
public static OptionItem EngineerCD;
public static OptionItem EngineerDur;
public static OptionItem NoiseMakerImpostorAlert;
public static OptionItem NoisemakerAlertDuration;
public static OptionItem ScientistDur;
public static OptionItem ScientistCD;
public static OptionItem TrackerCooldown;
public static OptionItem TrackerDuration;
public static OptionItem TrackerDelay;
public static OptionItem DetectiveSuspectLimit;
public static OptionItem JudgeTaskRequirementPercentage;
public static OptionItem SpiritGuideCooldown;
public TabGroup Tab => TabGroup.CrewmateRoles;
public void SetupCustomOption()
{
SetupRoleOptions(5020, Tab, CustomRoles.CrewmateEHR);
VanillaCrewmateCannotBeGuessed = new BooleanOptionItem(5022, "VanillaCrewmateCannotBeGuessed", false, Tab)
.SetParent(CustomRoleSpawnChances[CustomRoles.CrewmateEHR]);
SetupRoleOptions(5000, Tab, CustomRoles.EngineerEHR);
EngineerCD = new FloatOptionItem(5002, "VentCooldown", new(0f, 250f, 1f), 30f, Tab)
.SetParent(CustomRoleSpawnChances[CustomRoles.EngineerEHR])
.SetValueFormat(OptionFormat.Seconds);
EngineerDur = new FloatOptionItem(5003, "MaxInVentTime", new(0f, 250f, 1f), 15f, Tab)
.SetParent(CustomRoleSpawnChances[CustomRoles.EngineerEHR])
.SetValueFormat(OptionFormat.Seconds);
SetupRoleOptions(5040, Tab, CustomRoles.NoisemakerEHR);
NoiseMakerImpostorAlert = new BooleanOptionItem(5042, "NoisemakerImpostorAlert", false, Tab)
.SetParent(CustomRoleSpawnChances[CustomRoles.NoisemakerEHR]);
NoisemakerAlertDuration = new FloatOptionItem(5043, "NoisemakerAlertDuration", new(0f, 250f, 1f), 5f, Tab)
.SetParent(CustomRoleSpawnChances[CustomRoles.NoisemakerEHR])
.SetValueFormat(OptionFormat.Seconds);
SetupRoleOptions(5100, Tab, CustomRoles.ScientistEHR);
ScientistCD = new FloatOptionItem(5102, "VitalsCooldown", new(0f, 250f, 1f), 3f, Tab)
.SetParent(CustomRoleSpawnChances[CustomRoles.ScientistEHR])
.SetValueFormat(OptionFormat.Seconds);
ScientistDur = new FloatOptionItem(5103, "VitalsDuration", new(0f, 250f, 1f), 15f, Tab)
.SetParent(CustomRoleSpawnChances[CustomRoles.ScientistEHR])
.SetValueFormat(OptionFormat.Seconds);
SetupRoleOptions(5060, Tab, CustomRoles.TrackerEHR);
TrackerCooldown = new FloatOptionItem(5062, "TrackerCooldown", new(0f, 250f, 1f), 25f, Tab)
.SetParent(CustomRoleSpawnChances[CustomRoles.TrackerEHR])
.SetValueFormat(OptionFormat.Seconds);
TrackerDuration = new FloatOptionItem(5063, "TrackerDuration", new(0f, 250f, 1f), 20f, Tab)
.SetParent(CustomRoleSpawnChances[CustomRoles.TrackerEHR])
.SetValueFormat(OptionFormat.Seconds);
TrackerDelay = new FloatOptionItem(5064, "TrackerDelay", new(0f, 250f, 1f), 5f, Tab)
.SetParent(CustomRoleSpawnChances[CustomRoles.TrackerEHR])
.SetValueFormat(OptionFormat.Seconds);
SetupRoleOptions(5080, Tab, CustomRoles.DetectiveEHR);
DetectiveSuspectLimit = new FloatOptionItem(5082, "DetectiveSuspectLimit", new(0f, 30f, 1f), 4f, Tab)
.SetParent(CustomRoleSpawnChances[CustomRoles.DetectiveEHR])
.SetValueFormat(OptionFormat.Players);
SetupRoleOptions(5090, Tab, CustomRoles.JudgeEHR);
JudgeTaskRequirementPercentage = new FloatOptionItem(5092, "JudgeTaskRequirementPercentage", new(0f, 100f, 25f), 50f, Tab)
.SetParent(CustomRoleSpawnChances[CustomRoles.JudgeEHR])
.SetValueFormat(OptionFormat.Percent);
SetupRoleOptions(5095, Tab, CustomRoles.SpiritGuideEHR);
SpiritGuideCooldown = new FloatOptionItem(5097, "SpiritGuideCooldown", new(0f, 250f, 1f), 5f, Tab)
.SetParent(CustomRoleSpawnChances[CustomRoles.SpiritGuideEHR])
.SetValueFormat(OptionFormat.Seconds);
}
}