mirror of
https://github.com/Gurge44/EndlessHostRoles.git
synced 2026-10-20 01:46:25 +00:00
Add Tyrant, Degraded, Bluetooth & Priority (#662)
* Add Tyrant, Degraded, Bluetooth & Priority * bruh * there there * Code Updated * E * Change Write to WritePacked
This commit is contained in:
1 parent
128c3e0c83
commit
15e2090e66
21 files changed
+219
-10
No files matched your search
@@ -217,6 +217,7 @@ internal static class CustomRolesHelper
|
||||
CustomRoles.Psychic => CustomRoles.Crewmate,
|
||||
CustomRoles.LazyGuy => CustomRoles.Crewmate,
|
||||
CustomRoles.Twister => UsePets ? CustomRoles.Impostor : CustomRoles.Shapeshifter,
|
||||
CustomRoles.Tyrant => CustomRoles.Impostor,
|
||||
CustomRoles.SuperStar => CustomRoles.Crewmate,
|
||||
CustomRoles.Survivor => CustomRoles.Engineer,
|
||||
CustomRoles.Anonymous => CustomRoles.Shapeshifter,
|
||||
@@ -856,6 +857,7 @@ internal static class CustomRolesHelper
|
||||
CustomRoles.Devourer or
|
||||
CustomRoles.Camouflager or
|
||||
CustomRoles.Twister or
|
||||
CustomRoles.Tyrant or
|
||||
CustomRoles.Lurker or
|
||||
CustomRoles.Fakeshifter or
|
||||
CustomRoles.Perplexer;
|
||||
@@ -1282,6 +1284,7 @@ internal static class CustomRolesHelper
|
||||
CustomRoles.Swapster => RoleOptionType.Impostor_Support,
|
||||
CustomRoles.TimeThief => RoleOptionType.Impostor_Support,
|
||||
CustomRoles.Twister => RoleOptionType.Impostor_Support,
|
||||
CustomRoles.Tyrant => RoleOptionType.Impostor_Support,
|
||||
CustomRoles.Ventriloquist => RoleOptionType.Impostor_Support,
|
||||
CustomRoles.Vindicator => RoleOptionType.Impostor_Support,
|
||||
CustomRoles.YinYanger => RoleOptionType.Impostor_Support,
|
||||
@@ -1932,6 +1935,7 @@ internal static class CustomRolesHelper
|
||||
CustomRoles.Rascal when !pc.IsCrewmate() => false,
|
||||
CustomRoles.LazyGuy when pc.GetCustomRole().IsAdditionRole() => false,
|
||||
CustomRoles.Stealer when pc.Is(CustomRoles.Vindicator) => false,
|
||||
CustomRoles.Priority when Main.PlayerStates[pc.PlayerId].Role is not CovenBase coven || coven.CanNeverGetNecronomicon => false,
|
||||
CustomRoles.Bloodlust when !pc.GetCustomRole().IsCrewmate() || pc.GetCustomRole().IsTaskBasedCrewmate() || pc.GetCustomRole() is CustomRoles.Medic => false,
|
||||
CustomRoles.Mare when pc.GetCustomRole() is CustomRoles.Inhibitor or CustomRoles.Saboteur or CustomRoles.Swift or CustomRoles.Nemesis or CustomRoles.Sniper or CustomRoles.Fireworker or CustomRoles.Swooper or CustomRoles.Vampire => false,
|
||||
CustomRoles.Torch when pc.GetCustomRole() is CustomRoles.Lighter or CustomRoles.Ignitor or CustomRoles.Investigator or CustomRoles.Eclipse or CustomRoles.Decryptor => false,
|
||||
|
||||
@@ -39,7 +39,6 @@ public class PlayerState(byte playerId)
|
||||
Quantization,
|
||||
Overtired,
|
||||
Ashamed,
|
||||
PissedOff,
|
||||
Dismembered,
|
||||
LossOfHead,
|
||||
Trialed,
|
||||
|
||||
@@ -143,6 +143,7 @@ public static class NameColorManager
|
||||
{
|
||||
CustomRoles.Transporter when target.IsImpostor() => "ffffff",
|
||||
CustomRoles.Silencer when Silencer.ForSilencer.Contains(target.PlayerId) => "000000",
|
||||
CustomRoles.Tyrant when Tyrant.IsDegraded(target) => "000000",
|
||||
CustomRoles.PlagueBearer when PlagueBearer.IsPlagued(seer.PlayerId, target.PlayerId) => "000000",
|
||||
CustomRoles.Executioner when Executioner.Target.TryGetValue(seer.PlayerId, out byte exeTarget) && exeTarget == target.PlayerId => "000000",
|
||||
CustomRoles.Lawyer when Lawyer.Target.TryGetValue(seer.PlayerId, out byte lawyerTarget) && lawyerTarget == target.PlayerId => "000000",
|
||||
|
||||
+9
-1
@@ -352,7 +352,7 @@ public static class Utils
|
||||
|
||||
foreach (PlayerControl seer in Main.CachedAllPlayerControls())
|
||||
{
|
||||
if (seer.Is(CustomRoles.GM) || seer.Is(CustomRoles.Seer))
|
||||
if (seer.Is(CustomRoles.GM) || seer.Is(CustomRoles.Seer) || (seer.Is(CustomRoles.Bluetooth) && target.IsImpostor()))
|
||||
{
|
||||
seer.KillFlash();
|
||||
continue;
|
||||
@@ -4302,6 +4302,14 @@ public static class Utils
|
||||
addons.ForEach(state.RemoveSubRole);
|
||||
}
|
||||
|
||||
break;
|
||||
case CustomRoles.Tyrant:
|
||||
foreach (byte id in Tyrant.Degraded[target.PlayerId])
|
||||
{
|
||||
if (!Main.PlayerStates.TryGetValue(id, out var state)) continue;
|
||||
state.RemoveSubRole(CustomRoles.Degraded);
|
||||
}
|
||||
Tyrant.Degraded[target.PlayerId] = [];
|
||||
break;
|
||||
case CustomRoles.Swapper when disconnect:
|
||||
Swapper.SwapTargets = (byte.MaxValue, byte.MaxValue);
|
||||
|
||||
Reference in new issue
Block a user