private void OnCreatingPortal(CreatingPortalEventArgs ev) { if (Check(ev.Player)) { ev.IsAllowed = false; } }
internal void OnCreatingPortal(CreatingPortalEventArgs ev) { if (IsLobby) { ev.IsAllowed = false; } }
public async void OnCreatingPortal(CreatingPortalEventArgs ev) { if (Instance.Config.EventsToLog.CreatingScp106Portal && (!ev.Player.DoNotTrack || !Instance.Config.ShouldRespectDoNotTrack)) { await Network.SendAsync(new RemoteCommand("log", "gameEvents", string.Format(Language.Scp106CreatedPortal, ev.Player.Nickname, Instance.Config.ShouldLogUserIds ? ev.Player.UserId : Language.Redacted, ev.Player.Role))).ConfigureAwait(false); } }
public void OnCreatingPortal(CreatingPortalEventArgs ev) { if (LockdownController.IsScp106LockedUp) { ev.IsAllowed = false; } }
internal void OnScp106CreatePortal(CreatingPortalEventArgs ev) { if (!config.Scp.canScp106createPortal) { ev.IsAllowed = false; } }
internal void CreatingPortal(CreatingPortalEventArgs ev) { if (Plugin.Instance.Config.CreatingPortal == "") { return; } string message = Plugin.Instance.Config.CreatingPortal.Replace("%player%", ev.Player.ToString()); if (Plugin.Instance.Config.debug_to_console) { Log.Debug(message: "[ " + Plugin.Instance.Config.scp106_name + "] " + message); } Plugin.sendWebHook(Plugin.Instance.Config.scp106_url, message, Plugin.Instance.Config.scp106_name); }
public void OnCreatePortal(CreatingPortalEventArgs ev) { var list = ListPool <Player> .Shared.Rent(Player.List); int playerCount = list.Count; if (plugin.Config.Preferences.MinimumPlayers > playerCount) { ev.Player.Broadcast(8, plugin.Translation.MinPlayers.Replace("$count", plugin.Config.Preferences.MinimumPlayers.ToString())); plugin.Methods.StalkyCooldown = 10f; return; } int aliveCount = 0; int targetCount = 0; for (int i = 0; i < playerCount; i++) { var ply = list[i]; // if it's a target if (ply.IsAlive) { aliveCount++; if (!plugin.Config.Preferences.IgnoreRoles.Contains(ply.Role) && !plugin.Config.Preferences.IgnoreTeams.Contains(ply.Team)) { targetCount++; } } } if (plugin.Config.Preferences.MinimumAlivePlayers > aliveCount) { ev.Player.Broadcast(8, plugin.Translation.MinAlive.Replace("$count", plugin.Config.Preferences.MinimumAlivePlayers.ToString())); plugin.Methods.StalkyCooldown = 10f; return; } if (plugin.Config.Preferences.MinimumAliveTargets > targetCount) { ev.Player.Broadcast(8, plugin.Translation.MinTargetsAlive.Replace("$count", plugin.Config.Preferences.MinimumAliveTargets.ToString())); plugin.Methods.StalkyCooldown = 10f; return; } ListPool <Player> .Shared.Return(list); ev.IsAllowed = plugin.Methods.Stalk(ev.Player); }
/// <summary> /// Prefix of <see cref="Scp106PlayerScript.CallCmdMakePortal"/>. /// </summary> /// <param name="__instance">The <see cref="Scp106PlayerScript"/> instance.</param> /// <returns>Returns a value indicating whether the original method has to be executed or not.</returns> private static bool Prefix(Scp106PlayerScript __instance) { if (!__instance._interactRateLimit.CanExecute(true) || !__instance.GetComponent <FallDamage>().isGrounded) { return(false); } bool rayCastHit = Physics.Raycast(new Ray(__instance.transform.position, -__instance.transform.up), out RaycastHit raycastHit, 10f, __instance.teleportPlacementMask); var ev = new CreatingPortalEventArgs(API.Features.Player.Get(__instance.gameObject), raycastHit.point - Vector3.up); Scp106.OnCreatingPortal(ev); Debug.DrawRay(__instance.transform.position, -__instance.transform.up, Color.red, 10f); if (ev.IsAllowed && __instance.iAm106 && !__instance.goingViaThePortal && rayCastHit) { __instance.SetPortalPosition(ev.Position); } return(false); }
/// <summary> /// Called before SCP-106 creates a portal. /// </summary> /// <param name="ev">The <see cref="CreatingPortalEventArgs"/> instance.</param> public static void OnCreatingPortal(CreatingPortalEventArgs ev) => CreatingPortal.InvokeSafely(ev);
/// <inheritdoc cref="Exiled.Events.Handlers.Scp106.OnCreatingPortal(CreatingPortalEventArgs)"/> public void OnCreatingPortal(CreatingPortalEventArgs ev) { Log.Info($"{ev.Player.Nickname} is creating a portal as SCP-106, in the position: {ev.Position}"); }
internal void OnCreatePortal(CreatingPortalEventArgs ev) => ev.IsAllowed = plugin.Methods.Stalk(ev.Player);