Arrogance/Juggernaut/Reckless new option

This commit is contained in:
HyperAtill committed 2025-07-20 19:39:33 +03:00
1 parent 6876dd7825
commit 5e1a2d10af
5 files changed
+39 -11

No files matched your search

+1
View File
@@ -1545,6 +1545,7 @@
"SansDefaultKillCooldown": "Starting kill cooldown",
"SansReduceKillCooldown": "Reduce kill cooldown by",
"SansMinKillCooldown": "Minimum kill cooldown",
"SansShowProgressText": "Show kill cooldown reduction below the name",
"BomberRadius": "Bomb radius (5x is about half a Cafeteria)",
"NotifyGodAlive": "Inform players at meetings that God is still alive",
"God.KnowInfo": "God knows players'",
+1 -1
View File
@@ -37,7 +37,7 @@ public class Camouflager : RoleBase
.SetParent(Options.CustomRoleSpawnChances[CustomRoles.Camouflager])
.SetValueFormat(OptionFormat.Times);
DoesntSpawnOnFungle = new BooleanOptionItem(Id + 6, "DoesntSpawnOnFungle", false, TabGroup.ImpostorRoles)
DoesntSpawnOnFungle = new BooleanOptionItem(Id + 6, "DoesntSpawnOnFungle", true, TabGroup.ImpostorRoles)
.SetParent(Options.CustomRoleSpawnChances[CustomRoles.Camouflager]);
}
+17 -4
View File
@@ -16,11 +16,13 @@ public class Sans : RoleBase
private static OptionItem DefaultKillCooldown;
private static OptionItem ReduceKillCooldown;
private static OptionItem MinKillCooldown;
private static OptionItem ShowProgressText;
public static OptionItem BardChance;
private bool CanVent;
private float DefaultKCD;
private bool HasImpostorVision;
private bool ShowProgressTxt;
private float MinKCD;
private float NowCooldown;
@@ -36,16 +38,22 @@ public class Sans : RoleBase
{
SetupRoleOptions(Id, TabGroup.ImpostorRoles, CustomRoles.Sans);
DefaultKillCooldown = new FloatOptionItem(Id + 10, "SansDefaultKillCooldown", new(0f, 180f, 0.5f), 30f, TabGroup.ImpostorRoles).SetParent(CustomRoleSpawnChances[CustomRoles.Sans])
DefaultKillCooldown = new FloatOptionItem(Id + 10, "SansDefaultKillCooldown", new(0f, 180f, 0.5f), 30f, TabGroup.ImpostorRoles)
.SetParent(CustomRoleSpawnChances[CustomRoles.Sans])
.SetValueFormat(OptionFormat.Seconds);
ReduceKillCooldown = new FloatOptionItem(Id + 11, "SansReduceKillCooldown", new(0f, 30f, 0.5f), 3.5f, TabGroup.ImpostorRoles).SetParent(CustomRoleSpawnChances[CustomRoles.Sans])
ReduceKillCooldown = new FloatOptionItem(Id + 11, "SansReduceKillCooldown", new(0f, 30f, 0.5f), 3.5f, TabGroup.ImpostorRoles)
.SetParent(CustomRoleSpawnChances[CustomRoles.Sans])
.SetValueFormat(OptionFormat.Seconds);
MinKillCooldown = new FloatOptionItem(Id + 12, "SansMinKillCooldown", new(0f, 30f, 0.5f), 10f, TabGroup.ImpostorRoles).SetParent(CustomRoleSpawnChances[CustomRoles.Sans])
MinKillCooldown = new FloatOptionItem(Id + 12, "SansMinKillCooldown", new(0f, 30f, 0.5f), 10f, TabGroup.ImpostorRoles)
.SetParent(CustomRoleSpawnChances[CustomRoles.Sans])
.SetValueFormat(OptionFormat.Seconds);
BardChance = new IntegerOptionItem(Id + 13, "BardChance", new(0, 100, 5), 0, TabGroup.ImpostorRoles)
ShowProgressText = new BooleanOptionItem(Id + 13, "SansShowProgressText", false, TabGroup.ImpostorRoles)
.SetParent(CustomRoleSpawnChances[CustomRoles.Sans]);
BardChance = new IntegerOptionItem(Id + 14, "BardChance", new(0, 100, 5), 0, TabGroup.ImpostorRoles)
.SetParent(CustomRoleSpawnChances[CustomRoles.Sans])
.SetValueFormat(OptionFormat.Percent);
}
@@ -68,6 +76,7 @@ public class Sans : RoleBase
DefaultKCD = DefaultKillCooldown.GetFloat();
ReduceKCD = ReduceKillCooldown.GetFloat();
MinKCD = MinKillCooldown.GetFloat();
ShowProgressTxt = ShowProgressText.GetBool();
ResetKCDOnMeeting = false;
HasImpostorVision = true;
CanVent = true;
@@ -76,6 +85,7 @@ public class Sans : RoleBase
DefaultKCD = Juggernaut.DefaultKillCooldown.GetFloat();
ReduceKCD = Juggernaut.ReduceKillCooldown.GetFloat();
MinKCD = Juggernaut.MinKillCooldown.GetFloat();
ShowProgressTxt = Juggernaut.ShowProgressText.GetBool();
ResetKCDOnMeeting = false;
HasImpostorVision = Juggernaut.HasImpostorVision.GetBool();
CanVent = Juggernaut.CanVent.GetBool();
@@ -84,6 +94,7 @@ public class Sans : RoleBase
DefaultKCD = Reckless.DefaultKillCooldown.GetFloat();
ReduceKCD = Reckless.ReduceKillCooldown.GetFloat();
MinKCD = Reckless.MinKillCooldown.GetFloat();
ShowProgressTxt = Reckless.ShowProgressText.GetBool();
ResetKCDOnMeeting = true;
HasImpostorVision = Reckless.HasImpostorVision.GetBool();
CanVent = Reckless.CanVent.GetBool();
@@ -131,6 +142,8 @@ public class Sans : RoleBase
public override string GetProgressText(byte playerId, bool comms)
{
if (!ShowProgressTxt) return "";
double reduction = Math.Round(DefaultKCD - NowCooldown, 1);
string nowKCD = string.Format(Translator.GetString("KCD"), Math.Round(NowCooldown, 1));
return $"{base.GetProgressText(playerId, comms)} <#ffffff>-</color> {nowKCD} <#8B0000>(-{reduction}s)</color>";
+4
View File
@@ -11,6 +11,7 @@ public class Juggernaut : RoleBase
public static OptionItem MinKillCooldown;
public static OptionItem HasImpostorVision;
public static OptionItem CanVent;
public static OptionItem ShowProgressText;
public override bool IsEnable => false;
@@ -35,6 +36,9 @@ public class Juggernaut : RoleBase
CanVent = new BooleanOptionItem(Id + 14, "CanVent", true, TabGroup.NeutralRoles)
.SetParent(CustomRoleSpawnChances[CustomRoles.Juggernaut]);
ShowProgressText = new BooleanOptionItem(Id + 15, "SansShowProgressText", false, TabGroup.NeutralRoles)
.SetParent(CustomRoleSpawnChances[CustomRoles.Juggernaut]);
}
public override void Init() { }
+16 -6
View File
@@ -11,6 +11,7 @@ public class Reckless : RoleBase
public static OptionItem MinKillCooldown;
public static OptionItem HasImpostorVision;
public static OptionItem CanVent;
public static OptionItem ShowProgressText;
public override bool IsEnable => false;
@@ -18,17 +19,26 @@ public class Reckless : RoleBase
{
SetupRoleOptions(Id, TabGroup.NeutralRoles, CustomRoles.Reckless);
DefaultKillCooldown = new FloatOptionItem(Id + 10, "SansDefaultKillCooldown", new(0f, 180f, 0.5f), 22.5f, TabGroup.NeutralRoles).SetParent(CustomRoleSpawnChances[CustomRoles.Reckless])
DefaultKillCooldown = new FloatOptionItem(Id + 10, "SansDefaultKillCooldown", new(0f, 180f, 0.5f), 22.5f, TabGroup.NeutralRoles)
.SetParent(CustomRoleSpawnChances[CustomRoles.Reckless])
.SetValueFormat(OptionFormat.Seconds);
ReduceKillCooldown = new FloatOptionItem(Id + 11, "SansReduceKillCooldown", new(0f, 30f, 0.5f), 5f, TabGroup.NeutralRoles).SetParent(CustomRoleSpawnChances[CustomRoles.Reckless])
ReduceKillCooldown = new FloatOptionItem(Id + 11, "SansReduceKillCooldown", new(0f, 30f, 0.5f), 5f, TabGroup.NeutralRoles)
.SetParent(CustomRoleSpawnChances[CustomRoles.Reckless])
.SetValueFormat(OptionFormat.Seconds);
MinKillCooldown = new FloatOptionItem(Id + 12, "SansMinKillCooldown", new(0f, 30f, 0.5f), 10f, TabGroup.NeutralRoles).SetParent(CustomRoleSpawnChances[CustomRoles.Reckless])
MinKillCooldown = new FloatOptionItem(Id + 12, "SansMinKillCooldown", new(0f, 30f, 0.5f), 10f, TabGroup.NeutralRoles)
.SetParent(CustomRoleSpawnChances[CustomRoles.Reckless])
.SetValueFormat(OptionFormat.Seconds);
HasImpostorVision = new BooleanOptionItem(Id + 13, "ImpostorVision", true, TabGroup.NeutralRoles).SetParent(CustomRoleSpawnChances[CustomRoles.Reckless]);
CanVent = new BooleanOptionItem(Id + 14, "CanVent", true, TabGroup.NeutralRoles).SetParent(CustomRoleSpawnChances[CustomRoles.Reckless]);
HasImpostorVision = new BooleanOptionItem(Id + 13, "ImpostorVision", true, TabGroup.NeutralRoles)
.SetParent(CustomRoleSpawnChances[CustomRoles.Reckless]);
CanVent = new BooleanOptionItem(Id + 14, "CanVent", true, TabGroup.NeutralRoles)
.SetParent(CustomRoleSpawnChances[CustomRoles.Reckless]);
ShowProgressText = new BooleanOptionItem(Id + 15, "SansShowProgressText", false, TabGroup.NeutralRoles)
.SetParent(CustomRoleSpawnChances[CustomRoles.Reckless]);
}
public override void Init() { }