diff --git a/EXILED/Exiled.CustomItems/API/Features/CustomItem.cs b/EXILED/Exiled.CustomItems/API/Features/CustomItem.cs index 8aff47f91..9fcfbb687 100644 --- a/EXILED/Exiled.CustomItems/API/Features/CustomItem.cs +++ b/EXILED/Exiled.CustomItems/API/Features/CustomItem.cs @@ -19,6 +19,7 @@ namespace Exiled.CustomItems.API.Features using Exiled.API.Features.Attributes; using Exiled.API.Features.Pickups; using Exiled.API.Features.Pools; + using Exiled.API.Features.Roles; using Exiled.API.Features.Spawn; using Exiled.API.Interfaces; using Exiled.CustomItems.API.EventArgs; @@ -1001,12 +1002,6 @@ private void OnInternalOwnerChangingRole(ChangingRoleEventArgs ev) continue; OnOwnerChangingRole(new OwnerChangingRoleEventArgs(item.Base, ev)); - - TrackedSerials.Remove(item.Serial); - - ev.Player.RemoveItem(item); - - Spawn(ev.Player, item, ev.Player); } MirrorExtensions.ResyncSyncVar(ev.Player.ReferenceHub.networkIdentity, typeof(NicknameSync), nameof(NicknameSync.Network_myNickSync)); @@ -1024,12 +1019,6 @@ private void OnInternalOwnerDying(DyingEventArgs ev) if (!ev.IsAllowed) continue; - ev.Player.RemoveItem(item); - - TrackedSerials.Remove(item.Serial); - - Spawn(ev.Player, item, ev.Player); - MirrorExtensions.ResyncSyncVar(ev.Player.ReferenceHub.networkIdentity, typeof(NicknameSync), nameof(NicknameSync.Network_myNickSync)); } @@ -1048,12 +1037,6 @@ private void OnInternalOwnerEscaping(EscapingEventArgs ev) if (!ev.IsAllowed) continue; - ev.Player.RemoveItem(item); - - TrackedSerials.Remove(item.Serial); - - Timing.CallDelayed(1.5f, () => Spawn(ev.Player.Position, item, null)); - MirrorExtensions.ResyncSyncVar(ev.Player.ReferenceHub.networkIdentity, typeof(NicknameSync), nameof(NicknameSync.Network_myNickSync)); } @@ -1071,12 +1054,6 @@ private void OnInternalOwnerHandcuffing(HandcuffingEventArgs ev) if (!ev.IsAllowed) continue; - - ev.Target.RemoveItem(item); - - TrackedSerials.Remove(item.Serial); - - Spawn(ev.Target, item, ev.Target); } } @@ -1130,7 +1107,7 @@ private void OnInternalChanging(ChangingItemEventArgs ev) if (ShouldMessageOnGban) { - foreach (Player player in Player.Get(RoleTypeId.Spectator)) + foreach (Player player in Player.Get(x => x.Role is SpectatorRole)) Timing.CallDelayed(0.5f, () => player.SendFakeSyncVar(ev.Player.ReferenceHub.networkIdentity, typeof(NicknameSync), nameof(NicknameSync.Network_displayName), $"{ev.Player.Nickname} (CustomItem: {Name})")); }