diff --git a/EXILED/Exiled.API/Enums/DisruptorMode.cs b/EXILED/Exiled.API/Enums/DisruptorMode.cs index 643ed0c30e..673b51e15e 100644 --- a/EXILED/Exiled.API/Enums/DisruptorMode.cs +++ b/EXILED/Exiled.API/Enums/DisruptorMode.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.API/Enums/ObjectiveType.cs b/EXILED/Exiled.API/Enums/ObjectiveType.cs index 3979ac266b..573210f167 100644 --- a/EXILED/Exiled.API/Enums/ObjectiveType.cs +++ b/EXILED/Exiled.API/Enums/ObjectiveType.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.API/Features/BanManager.cs b/EXILED/Exiled.API/Features/BanManager.cs index 219c272eb3..b23d52fc62 100644 --- a/EXILED/Exiled.API/Features/BanManager.cs +++ b/EXILED/Exiled.API/Features/BanManager.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.API/Features/Core/UserSettings/ButtonSetting.cs b/EXILED/Exiled.API/Features/Core/UserSettings/ButtonSetting.cs index b150e01a44..e86fac1f34 100644 --- a/EXILED/Exiled.API/Features/Core/UserSettings/ButtonSetting.cs +++ b/EXILED/Exiled.API/Features/Core/UserSettings/ButtonSetting.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.API/Features/Core/UserSettings/DropdownSetting.cs b/EXILED/Exiled.API/Features/Core/UserSettings/DropdownSetting.cs index 88886839bd..8c0bc5ce62 100644 --- a/EXILED/Exiled.API/Features/Core/UserSettings/DropdownSetting.cs +++ b/EXILED/Exiled.API/Features/Core/UserSettings/DropdownSetting.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.API/Features/Core/UserSettings/HeaderSetting.cs b/EXILED/Exiled.API/Features/Core/UserSettings/HeaderSetting.cs index 78fd4ee32d..d5915660f8 100644 --- a/EXILED/Exiled.API/Features/Core/UserSettings/HeaderSetting.cs +++ b/EXILED/Exiled.API/Features/Core/UserSettings/HeaderSetting.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.API/Features/Core/UserSettings/KeybindSetting.cs b/EXILED/Exiled.API/Features/Core/UserSettings/KeybindSetting.cs index cfb6b3bbca..dd47cc5382 100644 --- a/EXILED/Exiled.API/Features/Core/UserSettings/KeybindSetting.cs +++ b/EXILED/Exiled.API/Features/Core/UserSettings/KeybindSetting.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.API/Features/Core/UserSettings/SliderSetting.cs b/EXILED/Exiled.API/Features/Core/UserSettings/SliderSetting.cs index 66d88174d9..739d930956 100644 --- a/EXILED/Exiled.API/Features/Core/UserSettings/SliderSetting.cs +++ b/EXILED/Exiled.API/Features/Core/UserSettings/SliderSetting.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.API/Features/Core/UserSettings/TextInputSetting.cs b/EXILED/Exiled.API/Features/Core/UserSettings/TextInputSetting.cs index 69c7875ad1..5a355ea50d 100644 --- a/EXILED/Exiled.API/Features/Core/UserSettings/TextInputSetting.cs +++ b/EXILED/Exiled.API/Features/Core/UserSettings/TextInputSetting.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.API/Features/Core/UserSettings/TwoButtonsSetting.cs b/EXILED/Exiled.API/Features/Core/UserSettings/TwoButtonsSetting.cs index 52c596ae76..ff72f601a4 100644 --- a/EXILED/Exiled.API/Features/Core/UserSettings/TwoButtonsSetting.cs +++ b/EXILED/Exiled.API/Features/Core/UserSettings/TwoButtonsSetting.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.API/Features/Core/UserSettings/UserTextInputSetting.cs b/EXILED/Exiled.API/Features/Core/UserSettings/UserTextInputSetting.cs index 8944558e03..e5d8f9ef22 100644 --- a/EXILED/Exiled.API/Features/Core/UserSettings/UserTextInputSetting.cs +++ b/EXILED/Exiled.API/Features/Core/UserSettings/UserTextInputSetting.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.API/Features/Objectives/EscapeObjective.cs b/EXILED/Exiled.API/Features/Objectives/EscapeObjective.cs index 9b141f22f9..2d5b3ebc27 100644 --- a/EXILED/Exiled.API/Features/Objectives/EscapeObjective.cs +++ b/EXILED/Exiled.API/Features/Objectives/EscapeObjective.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.API/Features/Objectives/GeneratorActivatedObjective.cs b/EXILED/Exiled.API/Features/Objectives/GeneratorActivatedObjective.cs index 77e95fa5e8..137047c2c8 100644 --- a/EXILED/Exiled.API/Features/Objectives/GeneratorActivatedObjective.cs +++ b/EXILED/Exiled.API/Features/Objectives/GeneratorActivatedObjective.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.API/Features/Objectives/HumanDamageObjective.cs b/EXILED/Exiled.API/Features/Objectives/HumanDamageObjective.cs index 5a9f136ba9..b1cf4f9712 100644 --- a/EXILED/Exiled.API/Features/Objectives/HumanDamageObjective.cs +++ b/EXILED/Exiled.API/Features/Objectives/HumanDamageObjective.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.API/Features/Objectives/HumanKillObjective.cs b/EXILED/Exiled.API/Features/Objectives/HumanKillObjective.cs index 7856d1845b..2f7105a275 100644 --- a/EXILED/Exiled.API/Features/Objectives/HumanKillObjective.cs +++ b/EXILED/Exiled.API/Features/Objectives/HumanKillObjective.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.API/Features/Objectives/HumanObjective.cs b/EXILED/Exiled.API/Features/Objectives/HumanObjective.cs index 77dd37f5c7..4ebe64a27a 100644 --- a/EXILED/Exiled.API/Features/Objectives/HumanObjective.cs +++ b/EXILED/Exiled.API/Features/Objectives/HumanObjective.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.API/Features/Objectives/Objective.cs b/EXILED/Exiled.API/Features/Objectives/Objective.cs index 7497737b0f..3dbebc4083 100644 --- a/EXILED/Exiled.API/Features/Objectives/Objective.cs +++ b/EXILED/Exiled.API/Features/Objectives/Objective.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.API/Features/Objectives/ScpItemPickupObjective.cs b/EXILED/Exiled.API/Features/Objectives/ScpItemPickupObjective.cs index a50a36057f..e61b2a2583 100644 --- a/EXILED/Exiled.API/Features/Objectives/ScpItemPickupObjective.cs +++ b/EXILED/Exiled.API/Features/Objectives/ScpItemPickupObjective.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.CustomRoles/API/Features/CustomRole.cs b/EXILED/Exiled.CustomRoles/API/Features/CustomRole.cs index ba6ecc95f8..1026aeb329 100644 --- a/EXILED/Exiled.CustomRoles/API/Features/CustomRole.cs +++ b/EXILED/Exiled.CustomRoles/API/Features/CustomRole.cs @@ -37,13 +37,16 @@ namespace Exiled.CustomRoles.API.Features /// public abstract class CustomRole { - private const float AddRoleDelay = 0.25f; + /// + /// The delay after which ammo and items are added to the player. + /// + public const float AddRoleItemAndAmmoDelay = 0.25f; - private static Dictionary typeLookupTable = new(); + private static readonly Dictionary TypeLookupTable = new(); - private static Dictionary stringLookupTable = new(); + private static readonly Dictionary StringLookupTable = new(); - private static Dictionary idLookupTable = new(); + private static readonly Dictionary IdLookupTable = new(); /// /// Gets a list of all registered custom roles. @@ -144,7 +147,7 @@ public abstract class CustomRole /// /// Gets or sets a value indicating broadcast that will be shown to the player. /// - public virtual Broadcast Broadcast { get; set; } = new Broadcast(); + public virtual Broadcast? Broadcast { get; set; } = new Broadcast(); /// /// Gets or sets a value indicating whether players will receive a message for getting a custom item, when gaining it through the inventory config for this role. @@ -183,9 +186,9 @@ public abstract class CustomRole /// The role, or if it doesn't exist. public static CustomRole? Get(uint id) { - if (!idLookupTable.ContainsKey(id)) - idLookupTable.Add(id, Registered?.FirstOrDefault(r => r.Id == id)); - return idLookupTable[id]; + if (!IdLookupTable.ContainsKey(id)) + IdLookupTable.Add(id, Registered?.FirstOrDefault(r => r.Id == id)); + return IdLookupTable[id]; } /// @@ -195,9 +198,9 @@ public abstract class CustomRole /// The role, or if it doesn't exist. public static CustomRole? Get(Type t) { - if (!typeLookupTable.ContainsKey(t)) - typeLookupTable.Add(t, Registered?.FirstOrDefault(r => r.GetType() == t)); - return typeLookupTable[t]; + if (!TypeLookupTable.ContainsKey(t)) + TypeLookupTable.Add(t, Registered?.FirstOrDefault(r => r.GetType() == t)); + return TypeLookupTable[t]; } /// @@ -207,9 +210,9 @@ public abstract class CustomRole /// The role, or if it doesn't exist. public static CustomRole? Get(string name) { - if (!stringLookupTable.ContainsKey(name)) - stringLookupTable.Add(name, Registered?.FirstOrDefault(r => r.Name == name)); - return stringLookupTable[name]; + if (!StringLookupTable.ContainsKey(name)) + StringLookupTable.Add(name, Registered?.FirstOrDefault(r => r.Name == name)); + return StringLookupTable[name]; } /// @@ -481,9 +484,9 @@ public static void ForceSyncSetPlayerFriendlyFire(CustomRole roleToSync, Player /// public virtual void Init() { - idLookupTable.Add(Id, this); - typeLookupTable.Add(GetType(), this); - stringLookupTable.Add(Name, this); + IdLookupTable.Add(Id, this); + TypeLookupTable.Add(GetType(), this); + StringLookupTable.Add(Name, this); SubscribeEvents(); } @@ -492,9 +495,9 @@ public virtual void Init() /// public virtual void Destroy() { - idLookupTable.Remove(Id); - typeLookupTable.Remove(GetType()); - stringLookupTable.Remove(Name); + IdLookupTable.Remove(Id); + TypeLookupTable.Remove(GetType()); + StringLookupTable.Remove(Name); UnsubscribeEvents(); } @@ -502,58 +505,65 @@ public virtual void Destroy() /// Handles setup of the role, including spawn location, inventory and registering event handlers and add FF rules. /// /// The to add the role to. - public virtual void AddRole(Player player) + public virtual void AddRole(Player player) => AddRole(player, SpawnReason.ForceClass, false, RoleSpawnFlags.All); + + /// + /// Handles setup of the role, including spawn location, inventory and registering event handlers and add FF rules. + /// + /// The to add the role to. + /// The . + /// Whether it should use or not. + /// The to apply if is . + public virtual void AddRole(Player player, SpawnReason spawnReason = SpawnReason.ForceClass, bool overrideFlags = false, RoleSpawnFlags overrideSpawnFlags = RoleSpawnFlags.All) { Log.Debug($"{Name}: Adding role to {player.Nickname}."); player.UniqueRole = Name; - if (Role != RoleTypeId.None) + RoleSpawnFlags keptSpawnFlags = overrideSpawnFlags; + + if (Role == RoleTypeId.None) { - if (KeepPositionOnSpawn) - { - if (KeepInventoryOnSpawn) - player.Role.Set(Role, SpawnReason.ForceClass, RoleSpawnFlags.None); - else - player.Role.Set(Role, SpawnReason.ForceClass, RoleSpawnFlags.AssignInventory); - } - else + keptSpawnFlags = RoleSpawnFlags.None; + } + else + { + if (!overrideFlags) { - if (KeepInventoryOnSpawn && player.IsAlive) - player.Role.Set(Role, SpawnReason.ForceClass, RoleSpawnFlags.UseSpawnpoint); + if (KeepPositionOnSpawn) + keptSpawnFlags = KeepInventoryOnSpawn ? RoleSpawnFlags.None : RoleSpawnFlags.AssignInventory; else - player.Role.Set(Role, SpawnReason.ForceClass, RoleSpawnFlags.All); + keptSpawnFlags = KeepInventoryOnSpawn && player.IsAlive ? RoleSpawnFlags.UseSpawnpoint : RoleSpawnFlags.All; } + + player.Role.Set(Role, spawnReason, keptSpawnFlags); } player.UniqueRole = Name; TrackedPlayers.Add(player); - Timing.CallDelayed( - AddRoleDelay, - () => - { - if (!KeepInventoryOnSpawn) + if (keptSpawnFlags.HasFlag(RoleSpawnFlags.AssignInventory)) + { + Timing.CallDelayed( + AddRoleItemAndAmmoDelay, + () => { Log.Debug($"{Name}: Clearing {player.Nickname}'s inventory."); player.ClearInventory(); - } - foreach (string itemName in Inventory) - { - Log.Debug($"{Name}: Adding {itemName} to inventory."); - TryAddItem(player, itemName); - } + foreach (string itemName in Inventory) + { + Log.Debug($"{Name}: Adding {itemName} to inventory."); + TryAddItem(player, itemName); + } - if (Ammo.Count > 0) - { Log.Debug($"{Name}: Adding Ammo to {player.Nickname} inventory."); foreach (AmmoType type in EnumUtils.Values) { if (type != AmmoType.None) player.SetAmmo(type, Ammo.ContainsKey(type) ? Ammo[type] == ushort.MaxValue ? InventoryLimits.GetAmmoLimit(type.GetItemType(), player.ReferenceHub) : Ammo[type] : (ushort)0); } - } - }); + }); + } Log.Debug($"{Name}: Setting health values."); player.Health = MaxHealth; @@ -563,9 +573,7 @@ public virtual void AddRole(Player player) fpcRole.Gravity = Gravity.Value; Vector3 position = GetSpawnPosition(); if (position != Vector3.zero) - { player.Position = position; - } Log.Debug($"{Name}: Setting player info"); @@ -580,7 +588,7 @@ public virtual void AddRole(Player player) ShowMessage(player); ShowBroadcast(player); - RoleAdded(player); + RoleAdded(player, spawnReason, keptSpawnFlags); player.TryAddCustomRoleFriendlyFire(Name, CustomRoleFFMultiplier); if (!string.IsNullOrEmpty(ConsoleMessage)) @@ -611,29 +619,35 @@ public virtual void AddRole(Player player) /// Removes the role from a specific player and FF rules. /// /// The to remove the role from. - public virtual void RemoveRole(Player player) + public virtual void RemoveRole(Player player) => RemoveRole(player, SpawnReason.ForceClass, RoleSpawnFlags.All); + + /// + /// Removes the role from a specific player and FF rules. + /// + /// The to remove the role from. + /// The . + /// The to apply. + public virtual void RemoveRole(Player player, SpawnReason spawnReason = SpawnReason.ForceClass, RoleSpawnFlags roleSpawnFlags = RoleSpawnFlags.All) { - if (!TrackedPlayers.Contains(player)) + if (!TrackedPlayers.Remove(player)) return; + Log.Debug($"{Name}: Removing role from {player.Nickname}"); - TrackedPlayers.Remove(player); player.CustomInfo = string.Empty; player.InfoArea |= PlayerInfoArea.Role | PlayerInfoArea.Nickname; player.Scale = Vector3.one; if (CustomAbilities is not null) { foreach (CustomAbility ability in CustomAbilities) - { ability.RemoveAbility(player); - } } - RoleRemoved(player); + RoleRemoved(player, spawnReason, roleSpawnFlags); player.UniqueRole = string.Empty; player.TryRemoveCustomeRoleFriendlyFire(Name); if (RemovalKillsPlayer) - player.Role.Set(RoleTypeId.Spectator); + player.Role.Set(RoleTypeId.Spectator, spawnReason, roleSpawnFlags); } /// @@ -641,26 +655,13 @@ public virtual void RemoveRole(Player player) /// /// Role to add. /// Friendly fire multiplier. - public void SetFriendlyFire(RoleTypeId roleToAdd, float ffMult) - { - if (CustomRoleFFMultiplier.ContainsKey(roleToAdd)) - { - CustomRoleFFMultiplier[roleToAdd] = ffMult; - } - else - { - CustomRoleFFMultiplier.Add(roleToAdd, ffMult); - } - } + public void SetFriendlyFire(RoleTypeId roleToAdd, float ffMult) => CustomRoleFFMultiplier[roleToAdd] = ffMult; /// /// Wrapper to call . /// /// Role with FF to add even if it exists. - public void SetFriendlyFire(KeyValuePair roleFF) - { - SetFriendlyFire(roleFF.Key, roleFF.Value); - } + public void SetFriendlyFire(KeyValuePair roleFF) => SetFriendlyFire(roleFF.Key, roleFF.Value); /// /// Tries to add to CustomRole FriendlyFire rules. @@ -671,9 +672,7 @@ public void SetFriendlyFire(KeyValuePair roleFF) public bool TryAddFriendlyFire(RoleTypeId roleToAdd, float ffMult) { if (CustomRoleFFMultiplier.ContainsKey(roleToAdd)) - { return false; - } CustomRoleFFMultiplier.Add(roleToAdd, ffMult); return true; @@ -719,9 +718,7 @@ public bool TryAddFriendlyFire(Dictionary ffRules, bool overw if (!overwrite) { foreach (KeyValuePair roleFF in temporaryFriendlyFireRules) - { TryAddFriendlyFire(roleFF); - } } DictionaryPool.Pool.Return(temporaryFriendlyFireRules); @@ -898,12 +895,30 @@ protected virtual void UnsubscribeEvents() /// Shows the spawn broadcast to the player. /// /// The to show the message to. - protected virtual void ShowBroadcast(Player player) => player.Broadcast(Broadcast); + protected virtual void ShowBroadcast(Player player) + { + if (Broadcast != null && Broadcast.Duration > 0 && !string.IsNullOrEmpty(Broadcast.Content)) + player.Broadcast(Broadcast); + } + + /// + /// Called after the role has been added to the player. + /// + /// The the role was added to. + /// The . + /// The to apply. + protected virtual void RoleAdded(Player player, SpawnReason spawnReason, RoleSpawnFlags roleSpawnFlags) + { +#pragma warning disable CS0618 + RoleAdded(player); +#pragma warning restore CS0618 + } /// /// Called after the role has been added to the player. /// /// The the role was added to. + [Obsolete("Use RoleAdded(Player, SpawnReason, RoleSpawnFlags) instead.")] protected virtual void RoleAdded(Player player) { } @@ -912,6 +927,20 @@ protected virtual void RoleAdded(Player player) /// Called 1 frame before the role is removed from the player. /// /// The the role was removed from. + /// The . + /// The to apply. + protected virtual void RoleRemoved(Player player, SpawnReason spawnReason, RoleSpawnFlags roleSpawnFlags) + { +#pragma warning disable CS0618 + RoleRemoved(player); +#pragma warning restore CS0618 + } + + /// + /// Called 1 frame before the role is removed from the player. + /// + /// The the role was removed from. + [Obsolete("Use RoleRemoved(Player, SpawnReason, RoleSpawnFlags) instead.")] protected virtual void RoleRemoved(Player player) { } @@ -925,13 +954,13 @@ private void OnInternalChangingNickname(ChangingNicknameEventArgs ev) private void OnInternalSpawned(SpawnedEventArgs ev) { if (!IgnoreSpawnSystem && SpawnChance > 0 && !Check(ev.Player) && ev.Player.Role.Type == Role && Loader.Random.NextDouble() * 100 <= SpawnChance) - AddRole(ev.Player); + AddRole(ev.Player, ev.Reason, false); } private void OnInternalChangingRole(ChangingRoleEventArgs ev) { if (ev.IsAllowed && ev.Reason != SpawnReason.Destroyed && Check(ev.Player) && ((ev.NewRole == RoleTypeId.Spectator && !KeepRoleOnDeath) || (ev.NewRole != RoleTypeId.Spectator && !KeepRoleOnChangingRole))) - RemoveRole(ev.Player); + RemoveRole(ev.Player, ev.Reason, ev.SpawnFlags); } private void OnSpawningRagdoll(SpawningRagdollEventArgs ev) @@ -942,4 +971,4 @@ private void OnSpawningRagdoll(SpawningRagdollEventArgs ev) private void OnDestroying(DestroyingEventArgs ev) => RemoveRole(ev.Player); } -} +} \ No newline at end of file diff --git a/EXILED/Exiled.Events/EventArgs/Map/AnnouncingChaosEntranceEventArgs.cs b/EXILED/Exiled.Events/EventArgs/Map/AnnouncingChaosEntranceEventArgs.cs index e0e7fb8931..7ed64e8477 100644 --- a/EXILED/Exiled.Events/EventArgs/Map/AnnouncingChaosEntranceEventArgs.cs +++ b/EXILED/Exiled.Events/EventArgs/Map/AnnouncingChaosEntranceEventArgs.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.Events/EventArgs/Map/ElevatorSequencesUpdatedEventArgs.cs b/EXILED/Exiled.Events/EventArgs/Map/ElevatorSequencesUpdatedEventArgs.cs index c2a8fbe9aa..a663a2983d 100644 --- a/EXILED/Exiled.Events/EventArgs/Map/ElevatorSequencesUpdatedEventArgs.cs +++ b/EXILED/Exiled.Events/EventArgs/Map/ElevatorSequencesUpdatedEventArgs.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.Events/EventArgs/Player/HitEventArgs.cs b/EXILED/Exiled.Events/EventArgs/Player/HitEventArgs.cs index d9d18adc0e..91f9f14657 100644 --- a/EXILED/Exiled.Events/EventArgs/Player/HitEventArgs.cs +++ b/EXILED/Exiled.Events/EventArgs/Player/HitEventArgs.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.Events/EventArgs/Scp939/ValidatingVisibilityEventArgs.cs b/EXILED/Exiled.Events/EventArgs/Scp939/ValidatingVisibilityEventArgs.cs index fa3a93f300..4833f5089a 100644 --- a/EXILED/Exiled.Events/EventArgs/Scp939/ValidatingVisibilityEventArgs.cs +++ b/EXILED/Exiled.Events/EventArgs/Scp939/ValidatingVisibilityEventArgs.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.Events/EventArgs/Server/CompletingObjectiveEventArgs.cs b/EXILED/Exiled.Events/EventArgs/Server/CompletingObjectiveEventArgs.cs index def486974b..c7ebe1e841 100644 --- a/EXILED/Exiled.Events/EventArgs/Server/CompletingObjectiveEventArgs.cs +++ b/EXILED/Exiled.Events/EventArgs/Server/CompletingObjectiveEventArgs.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.Events/Patches/Events/Map/AnnouncingChaosEntrance.cs b/EXILED/Exiled.Events/Patches/Events/Map/AnnouncingChaosEntrance.cs index 0d53ebeefb..2e8eb1a19c 100644 --- a/EXILED/Exiled.Events/Patches/Events/Map/AnnouncingChaosEntrance.cs +++ b/EXILED/Exiled.Events/Patches/Events/Map/AnnouncingChaosEntrance.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.Events/Patches/Events/Map/ElevatorSequencesUpdated.cs b/EXILED/Exiled.Events/Patches/Events/Map/ElevatorSequencesUpdated.cs index 098a5852ae..a1ca3bbda9 100644 --- a/EXILED/Exiled.Events/Patches/Events/Map/ElevatorSequencesUpdated.cs +++ b/EXILED/Exiled.Events/Patches/Events/Map/ElevatorSequencesUpdated.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.Events/Patches/Events/Player/ChangingDisruptorMode.cs b/EXILED/Exiled.Events/Patches/Events/Player/ChangingDisruptorMode.cs index 37aa6376bb..b89145496c 100644 --- a/EXILED/Exiled.Events/Patches/Events/Player/ChangingDisruptorMode.cs +++ b/EXILED/Exiled.Events/Patches/Events/Player/ChangingDisruptorMode.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.Events/Patches/Events/Player/Hit.cs b/EXILED/Exiled.Events/Patches/Events/Player/Hit.cs index 2002397b50..c0b8e7fd84 100644 --- a/EXILED/Exiled.Events/Patches/Events/Player/Hit.cs +++ b/EXILED/Exiled.Events/Patches/Events/Player/Hit.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.Events/Patches/Events/Scp939/ValidatingVisibility.cs b/EXILED/Exiled.Events/Patches/Events/Scp939/ValidatingVisibility.cs index d12e690c62..5704dc9e80 100644 --- a/EXILED/Exiled.Events/Patches/Events/Scp939/ValidatingVisibility.cs +++ b/EXILED/Exiled.Events/Patches/Events/Scp939/ValidatingVisibility.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.Events/Patches/Events/Server/CompletingObjective.cs b/EXILED/Exiled.Events/Patches/Events/Server/CompletingObjective.cs index cf9f9aacbe..5e981cc720 100644 --- a/EXILED/Exiled.Events/Patches/Events/Server/CompletingObjective.cs +++ b/EXILED/Exiled.Events/Patches/Events/Server/CompletingObjective.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license. diff --git a/EXILED/Exiled.Events/Patches/Events/Server/WaitingForPlayers.cs b/EXILED/Exiled.Events/Patches/Events/Server/WaitingForPlayers.cs index a75bbf7eb8..7b1a1ff405 100644 --- a/EXILED/Exiled.Events/Patches/Events/Server/WaitingForPlayers.cs +++ b/EXILED/Exiled.Events/Patches/Events/Server/WaitingForPlayers.cs @@ -1,4 +1,4 @@ -// ----------------------------------------------------------------------- +// ----------------------------------------------------------------------- // // Copyright (c) ExMod Team. All rights reserved. // Licensed under the CC BY-SA 3.0 license.