コード例 #1
0
 public void OnFemurEnter(EnteringFemurBreakerEventArgs ev)
 {
     if (shPlayers.Contains(ev.Player.Id) && !SerpentsHand.instance.Config.FriendlyFire)
     {
         ev.IsAllowed = false;
     }
 }
コード例 #2
0
 public void OnEnteringFemurBreaker(EnteringFemurBreakerEventArgs ev)
 {
     if (API.IsSerpent(ev.Player) && !config.SerpentsHandModifiers.FriendlyFire)
     {
         ev.IsAllowed = false;
     }
 }
コード例 #3
0
        private static bool Prefix(CharacterClassManager __instance)
        {
            if (!NetworkServer.active || !NonFacilityCompatibility.currentSceneSettings.enableStandardGamplayItems)
            {
                return(false);
            }

            foreach (GameObject player in PlayerManager.players)
            {
                if (Vector3.Distance(player.transform.position, __instance._lureSpj.transform.position) < 1.97000002861023)
                {
                    CharacterClassManager component1 = player.GetComponent <CharacterClassManager>();
                    PlayerStats           component2 = player.GetComponent <PlayerStats>();

                    if (component1.Classes.SafeGet(component1.CurClass).team != Team.SCP && component1.CurClass != RoleType.Spectator && !component1.GodMode)
                    {
                        var ev = new EnteringFemurBreakerEventArgs(API.Features.Player.Get(component2.gameObject));

                        Player.OnEnteringFemurBreaker(ev);

                        if (ev.IsAllowed)
                        {
                            component2.HurtPlayer(new PlayerStats.HitInfo(10000f, "WORLD", DamageTypes.Lure, 0), player);
                            __instance._lureSpj.SetState(true);
                        }
                    }
                }
            }

            return(false);
        }
コード例 #4
0
 public void OnEnteringFemurBreaker(EnteringFemurBreakerEventArgs ev)
 {
     if (Tracking.PlayersWithSubclasses.ContainsKey(ev.Player) &&
         Tracking.PlayersWithSubclasses[ev.Player].Abilities.Contains(AbilityType.CantBeSacraficed))
     {
         ev.IsAllowed = false;
     }
 }
コード例 #5
0
        internal void EnteringFemurBreaker(EnteringFemurBreakerEventArgs ev)
        {
            if (Plugin.Instance.Config.EnteringFemurBreaker == "")
            {
                return;
            }
            string message = Plugin.Instance.Config.EnteringFemurBreaker.Replace("%player%", ev.Player.ToString());


            if (Plugin.Instance.Config.debug_to_console)
            {
                Log.Debug(message: "[ " + Plugin.Instance.Config.player_name + "] " + message);
            }
            Plugin.sendWebHook(Plugin.Instance.Config.player_url, message, Plugin.Instance.Config.player_name);
        }
コード例 #6
0
 // Token: 0x0600000F RID: 15 RVA: 0x000026E8 File Offset: 0x000008E8
 private static void HandleFemurEnter(EnteringFemurBreakerEventArgs ev)
 {
     if (SameThings.Scp106LureAmount == -1)
     {
         return;
     }
     if (!SameThings.Scp106LureTeam.Contains((int)ev.Player.Team))
     {
         ev.IsAllowed = false;
         return;
     }
     if (++State.LuresCount < SameThings.Scp106LureAmount)
     {
         State.RunCoroutine(EventHandlers.RunLureReload());
     }
 }
コード例 #7
0
        private static void HandleFemurEnter(EnteringFemurBreakerEventArgs ev)
        {
            // That means the femur breaker is always open
            if (Plugin.Config.Scp106LureAmount < 1)
            {
                return;
            }

            // Allowed team check
            if (!Plugin.Config.Scp106LureTeam.Contains(ev.Player.Team))
            {
                ev.IsAllowed = false;
                return;
            }

            if (++State.LuresCount < Plugin.Config.Scp106LureAmount)
            {
                State.RunCoroutine(HandlerHelper.RunLureReload());
            }
        }
コード例 #8
0
        public void RunWhenPlayerEntersFemurBreaker(EnteringFemurBreakerEventArgs ev)
        {
            if (!Instance.Config.EnableScp106AdvancedGod)
            {
                return;
            }

            foreach (Player ply in Player.List)
            {
                if (ply.Role != RoleType.Scp106 || !ply.IsGodModeEnabled)
                {
                    continue;
                }

                ev.IsAllowed = false;
                if (!Instance.Config.PreventCtBroadcasts)
                {
                    ev.Player.Broadcast(2, "SCP-106 has advanced godmode, you cannot contain him",
                                        Broadcast.BroadcastFlags.Normal);
                }
                return;
            }
        }
コード例 #9
0
ファイル: Player.cs プロジェクト: gamehunt/EXILED
 /// <summary>
 /// Invoked before entering the femur breaker.
 /// </summary>
 /// <param name="ev">The <see cref="EnteringFemurBreakerEventArgs"/> instance.</param>
 public static void OnEnteringFemurBreaker(EnteringFemurBreakerEventArgs ev) => EnteringFemurBreaker.InvokeSafely(ev);
コード例 #10
0
 public void OnEnteringFemurBreaker(EnteringFemurBreakerEventArgs ev)
 {
     CheckForEvent("OnEnteringFemurBreaker", true, false, ev.Player);
 }