/// <inheritdoc cref="ChangingRoleEventArgs"/> public void OnChangingRole(ChangingRoleEventArgs ev) { if (ev.NewRole == RoleType.Spectator) { foreach (Player player in Player.List) { if (player == ev.Player) { continue; } if (CustomItem.TryGet(player, out CustomItem item)) { if (item.ShouldMessageOnGban) { ev.Player.SendFakeSyncVar(player.ReferenceHub.networkIdentity, typeof(NicknameSync), nameof(NicknameSync.Network_displayName), $"{player.Nickname} (CustomItem: {item.Name})"); } } } } else { foreach (Player player in Player.List) { if (player == ev.Player || player.ReferenceHub.nicknameSync.Network_displayName is null) { continue; } ev.Player.SendFakeSyncVar(player.ReferenceHub.networkIdentity, typeof(NicknameSync), nameof(NicknameSync.Network_displayName), player.DisplayNickname); } } }
public void OnSetRole(ChangingRoleEventArgs ev) { if (Blackout.active && ev.Player.Role == RoleType.Scientist) { SpawnScientist(ev.Player, true, true); } }
public void PlayerRoleChange(ChangingRoleEventArgs ev) { if (roundStarted) { ev.NewRole = RoleType.Spectator; } }
/// <inheritdoc cref="Handlers.Mixed.OnChangingRole(ChangingRoleEventArgs)"/> public void OnChangingRole(ChangingRoleEventArgs ev) { if (ev.Player.ArtificialHealthDecay == 0) { ev.Player.ArtificialHealthDecay = 0.75f; } }
// This check was moved here, because player's rank's are set AFTER OnPlayerJoin() public void OnSetClass(ChangingRoleEventArgs ev) { try { if (ev.Player == null) { return; } AFKComponent afkComponent = ev.Player.GameObject.gameObject.GetComponent <AFKComponent>(); if (afkComponent != null) { if (!plugin.Config.IgnorePermissionsAndIP) { if (ev.Player.CheckPermission("uafk.ignore") || ev.Player.IPAddress == "127.0.0.1") //127.0.0.1 is sometimes used for "Pets" which causes issues { afkComponent.disabled = true; } } if (IsGhost(ev.Player)) { afkComponent.disabled = true; } } } catch (Exception e) { Log.Error($"ERROR In OnSetClass(): {e}"); } }
public void OnSetClass(ChangingRoleEventArgs ev) { if (spies.ContainsKey(ev.Player)) { Timing.CallDelayed(0.1f, () => spies.Remove(ev.Player)); } }
private static void OnChangingRole(ChangingRoleEventArgs ev) { if (BurningHandler.Get(ev.Player) is BurningHandler burningHandler) { burningHandler.BurnTime = 0f; } }
public void onRoleChange(ChangingRoleEventArgs ev) { #region Escaping Broadcasts bool ebenabled = DupecToolbox.Instance.Config.EscapeBroadcasts; if (ebenabled == true) { RoleType ClassD = RoleType.ClassD; RoleType CHI = RoleType.ChaosInsurgency; RoleType SCI = RoleType.Scientist; RoleType NTFSCI = RoleType.NtfScientist; RoleType NTF = RoleType.NtfCadet; string SMessageChaos = DupecToolbox.Instance.Config.Scientist_Broadcast_Escape_Chaos; string SMessageNTF = DupecToolbox.Instance.Config.Scientist_Broadcast_Escape_NTF; string DMessageChaos = DupecToolbox.Instance.Config.ClassD_Broadcast_Escape_Chaos; string DMessageNTF = DupecToolbox.Instance.Config.ClassD_Broadcast_Escape_NTF; ushort duration = DupecToolbox.Instance.Config.EscapeBroadcastsDuration; if (ev.Player.Role == ClassD && ev.NewRole == CHI) { ev.Player.Broadcast(duration, DMessageChaos); } if (ev.Player.Role == ClassD && ev.NewRole == NTF) { ev.Player.Broadcast(duration, DMessageNTF); } if (ev.Player.Role == SCI && ev.NewRole == NTFSCI) { ev.Player.Broadcast(duration, SMessageNTF); } if (ev.Player.Role == SCI && ev.NewRole == CHI) { ev.Player.Broadcast(duration, SMessageChaos); } } #endregion }
public async void OnChangingRole(ChangingRoleEventArgs ev) { if (ev.Player != null && Instance.Config.EventsToLog.ChangingPlayerRole && (!ev.Player.DoNotTrack || !Instance.Config.ShouldRespectDoNotTrack)) { await Network.SendAsync(new RemoteCommand("log", "gameEvents", string.Format(Language.ChangedRole, ev.Player.Nickname, Instance.Config.ShouldLogUserIds ? ev.Player.UserId : Language.Redacted, ev.Player.Role, ev.NewRole))).ConfigureAwait(false); } }
public void OnRoleChanged(ChangingRoleEventArgs ev) { if (ev.Player.HasExtraClass() && ev.Player.GetExtraClass().Initialized) { ev.Player.RemoveExtraClass(); } }
private static void HandleSetClass(ChangingRoleEventArgs ev) { if (Plugin.Config.MaxHealth.TryGetValue(ev.NewRole, out int maxHp)) { HandlerHelper.RunRestoreMaxHp(ev.Player, maxHp); } }
public void OnChangingRole(ChangingRoleEventArgs ev) { if (scp372.Contains(ev.Player.UserId) && ev.NewRole != RoleType.ClassD) { Remove372(ev.Player); } }
internal void ChangeRole(ChangingRoleEventArgs ev) { if (ev.Player.GameObject.TryGetComponent(out PlayerHardcoreComponent comp)) { comp.Bleeding = false; // Stop bleeding if they change role via RA, escape, etc. (includes death) } }
private void OnPlayerChangingRole(ChangingRoleEventArgs ev) { if (Scp999Manager.IsScp999(ev.Player)) { Scp999Manager.UnMakeScp999(ev.Player); } }
private void OnInternalChangingRole(ChangingRoleEventArgs ev) { if (Check(ev.Player) && ((ev.NewRole == RoleType.Spectator && !KeepRoleOnDeath) || (ev.NewRole != RoleType.Spectator && ev.NewRole != Role))) { RemoveRole(ev.Player); } }
internal void OnChangeRole(ChangingRoleEventArgs ev) { if (ev.NewRole == RoleType.ClassD) { ev.Items.Add(ItemType.Coin); } }
public void OnChangingRole(ChangingRoleEventArgs ev) { if (API.IsSerpent(ev.Player) && ev.NewRole != RoleType.Tutorial) { Extensions.DestroySH(ev.Player); } }
internal void OnSetRole(ChangingRoleEventArgs ev) { if (subclassPlayers.Contains(ev.Player)) { KillSubclassPlayer(ev.Player); } }
public void OnChangingRole(ChangingRoleEventArgs ev) { Log.Debug("Player changed role", BloodLust049.Instance.Config.Debug); if (ev.Player.Role == RoleType.Scp049) { BloodLust049.Instance.Scp049InGame = false; BloodLust049.Instance.Scp049 = null; } if (ev.NewRole == RoleType.Scp049 && !BloodLust049.Instance.Scp049InGame) { Log.Debug("New role 049", BloodLust049.Instance.Config.Debug); BloodLust049.Instance.Scp049 = ev.Player; BloodLust049.Instance.Scp049InGame = true; if (!BloodLust049.Instance.mainCoroEnabled) { Log.Debug("Coro enabled", BloodLust049.Instance.Config.Debug); BloodLust049.Instance.mainCoroEnabled = true; BloodLust049.Instance.Coro = Timing.RunCoroutine(BloodLust049.Instance.BloodLust()); BloodLust049.Instance.Coroutines.Add(BloodLust049.Instance.Coro); } } else { Log.Debug($"Role not 049 or there is already an 049, new role: {ev.NewRole} 049 in game: {BloodLust049.Instance.Scp049InGame}", BloodLust049.Instance.Config.Debug); } }
internal static void OnRoleChanged(ChangingRoleEventArgs ev) { if (ev.Player?.UserId == null || ev.Player.IsHost || !ev.Player.IsVerified || ev.Player.IPAddress == "127.0.0.WAN" || ev.Player.IPAddress == "127.0.0.1") { return; } if (ev.NewRole != RoleType.None && ev.NewRole != RoleType.Spectator) { Timing.CallDelayed(.5f, () => ev.Player.SpawnCurrentHat()); } if (PauseRound || Round.ElapsedTime.Seconds < 5 || !RoundSummary.RoundInProgress() || !Helper.IsPlayerValid(ev.Player, true, false)) { return; } if (ev.IsEscaped) { StatHandler.SendRequest(RequestType.Escape, "{\"playerid\": \"" + Helper.HandleId(ev.Player) + "\", \"role\": \"" + ((int)ev.Player.Role).ToString() + "\"}"); } if (ev.NewRole == RoleType.None || ev.NewRole == RoleType.Spectator) { return; } StatHandler.SendRequest(RequestType.Spawn, "{\"playerid\": \"" + Helper.HandleId(ev.Player) + "\", \"spawnrole\": \"" + ((int)ev.NewRole).ToString() + "\"}"); }
/// <inheritdoc cref="Player.OnChangingRole(ChangingRoleEventArgs)"/> public void OnChangingRole(ChangingRoleEventArgs ev) { if (ev.Player?.IsHost != false || string.IsNullOrEmpty(ev.Player.UserId)) return; if (ev.NewRole == RoleType.Spectator && Events.Instance.Config.ShouldDropInventory) ev.Player.Inventory.ServerDropAll(); }
public void OnSetClass(ChangingRoleEventArgs ev) { if (!(ev.Player.Id == playerReferenceHub.playerId)) { return; } Destroy(); }
public void OnChangingRole(ChangingRoleEventArgs ev) { if (ev.Player.SessionVariables.ContainsKey("STP")) { ev.Items.Clear(); ev.Items.AddRange((List <ItemType>)ev.Player.SessionVariables["STP"]); ev.Player.SessionVariables.Remove("STP"); } }
public void RunWhenPlayerSwitchesClasses(ChangingRoleEventArgs RoleChanged) { if (RoleChanged.Player != Hub) { return; } Counter = 0; }
public void RunWhenPlayerSwitchesClasses(ChangingRoleEventArgs ev) { if (ev.Player != _ply) { return; } counter = 0; }
public void WhenRoleChange(ChangingRoleEventArgs ev) { if (ev.Player != ply) { return; } switch (ev.Player.Team) { case Team.SCP: switch (ev.NewRole) { case RoleType.Scp0492: Timing.RunCoroutine(RetainAHP()); Log.Debug($"Started coroutine for {ply.Nickname}: RetainAHP.", SCP008X.Instance.Config.DebugMode); break; case RoleType.Scp096: Timing.KillCoroutines(ahp); Log.Debug($"Killed coroutine for {ply.Nickname}: RetainAHP.", SCP008X.Instance.Config.DebugMode); ply.ArtificialHealth = 500; break; } break; case Team.TUT: break; case Team.RIP: break; case Team.MTF: Timing.RunCoroutine(Infection()); Timing.KillCoroutines(ahp); Log.Debug($"Traded coroutines for {ply.Nickname}: RetainAHP -> Infection.", SCP008X.Instance.Config.DebugMode); break; case Team.CDP: Timing.RunCoroutine(Infection()); Timing.KillCoroutines(ahp); Log.Debug($"Traded coroutines for {ply.Nickname}: RetainAHP -> Infection.", SCP008X.Instance.Config.DebugMode); break; case Team.CHI: Timing.RunCoroutine(Infection()); Timing.KillCoroutines(ahp); Log.Debug($"Traded coroutines for {ply.Nickname}: RetainAHP -> Infection.", SCP008X.Instance.Config.DebugMode); break; case Team.RSC: Timing.RunCoroutine(Infection()); Timing.KillCoroutines(ahp); Log.Debug($"Traded coroutines for {ply.Nickname}: RetainAHP -> Infection.", SCP008X.Instance.Config.DebugMode); break; } }
public void OnSetRole(ChangingRoleEventArgs ev) { if (shPlayers.Contains(ev.Player.Id)) { if (GetTeam(ev.NewRole) != Team.TUT) { shPlayers.Remove(ev.Player.Id); } } }
public void OnRoleChanging(ChangingRoleEventArgs ev) { if (!ev.Player.IsNormalAdvancedTeam()) { ev.Player.CustomInfo = string.Empty; ev.Player.InfoArea |= PlayerInfoArea.Role; } ev.Player.SetAdvancedTeam(ev.NewRole.GetTeam().GetNormalAdvancedTeam()); }
/// <inheritdoc cref="Exiled.Events.Handlers.Player.OnChangingRole(ChangingRoleEventArgs)"/> public void OnChangingRole(ChangingRoleEventArgs ev) { Log.Info($"{ev.Player.Nickname} ({ev.Player.Role}) is changing his role! The new role will be {ev.NewRole}!"); if (ev.NewRole == RoleType.Tutorial) { ev.Items.Clear(); ev.Items.Add(ItemType.Flashlight); ev.Items.Add(ItemType.Medkit); Timing.CallDelayed(0.5f, () => ev.Player.AddItem(ItemType.Radio)); } }
public void ChangingRole(ChangingRoleEventArgs ev) { if (ev.NewRole == RoleType.Scp173 && DateTime.Now.Month == 11) { if (ev.Reason == SpawnReason.ForceClass && NoNutNovember.Singleton.Config.AllowForce173) { return; } ev.NewRole = GetAvailableScp(); } }