Merge remote-tracking branch 'origin/main'

This commit is contained in:
Gurge44 committed 2026-08-12 10:07:39 +02:00
commit d68798092f
22 files changed
+281 -15

No files matched your search

+4
View File
@@ -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,
-1
View File
@@ -39,7 +39,6 @@ public class PlayerState(byte playerId)
Quantization,
Overtired,
Ashamed,
PissedOff,
Dismembered,
LossOfHead,
Trialed,
+1
View File
@@ -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
View File
@@ -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;
@@ -4289,6 +4289,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);