private void OnUsingItem(UsedItemEventArgs ev)
        {
            Log.Debug($"{ev.Player.Nickname} used a medical item: {ev.Item}", CustomItems.Instance.Config.IsDebugEnabled);
            if (!Check(ev.Player.CurrentItem))
            {
                return;
            }

            Timing.CallDelayed(1.5f, () =>
            {
                Log.Debug($"{ev.Player.Nickname} used a {Name}", CustomItems.Instance.Config.IsDebugEnabled);
                foreach (Exiled.API.Features.Player player in Exiled.API.Features.Player.List)
                {
                    if (player.Role == RoleType.Scp096)
                    {
                        Log.Debug($"{ev.Player.Nickname} - {Name} found an 096: {player.Nickname}", CustomItems.Instance.Config.IsDebugEnabled);
                        if (!(player.CurrentScp is Scp096 scp096))
                        {
                            continue;
                        }

                        Log.Debug($"{player.Nickname} 096 component found.", CustomItems.Instance.Config.IsDebugEnabled);
                        if ((!scp096.HasTarget(ev.Player.ReferenceHub) ||
                             scp096.PlayerState != Scp096PlayerState.Enraged) &&
                            scp096.PlayerState != Scp096PlayerState.Enraging &&
                            scp096.PlayerState != Scp096PlayerState.Attacking)
                        {
                            continue;
                        }

                        Log.Debug($"{player.Nickname} 096 checks passed.", CustomItems.Instance.Config.IsDebugEnabled);
                        scp096.EndEnrage();
                        ev.Player.Hurt(new UniversalDamageHandler(-1f, DeathTranslations.Poisoned));
                        return;
                    }
示例#2
0
        private void OnUsedItem(UsedItemEventArgs ev)
        {
            if (!Check(ev.Player.CurrentItem))
            {
                return;
            }

            if (scp1499Players.ContainsKey(ev.Player))
            {
                scp1499Players[ev.Player] = ev.Player.Position;
            }
            else
            {
                scp1499Players.Add(ev.Player, ev.Player.Position);
            }

            ev.Player.Position = scp1499DimensionPos;
            ev.Player.ReferenceHub.playerEffectsController.DisableEffect <Invisible>();

            if (Duration > 0)
            {
                Timing.CallDelayed(Duration, () =>
                {
                    SendPlayerBack(ev.Player);
                });
            }
        }
示例#3
0
 private static void OnItemUsed(UsedItemEventArgs ev)
 {
     if (Plugin.Instance.Config.BurnSettings.HealedBy.Contains(ev.Item.Type) &&
         BurningHandler.Get(ev.Player) is BurningHandler burningHandler)
     {
         burningHandler.BurnTime = 0f;
     }
 }
 public async void OnUsedMedicalItem(UsedItemEventArgs ev)
 {
     if (ev.Player != null && Instance.Config.EventsToLog.PlayerUsedMedicalItem && (!ev.Player.DoNotTrack || !Instance.Config.ShouldRespectDoNotTrack))
     {
         await Network.SendAsync(new RemoteCommand("log", "gameEvents", string.Format(Language.UsedMedicalItem, ev.Player.Nickname, Instance.Config.ShouldLogUserIds ? ev.Player.UserId : Language.Redacted, ev.Player.Role, ev.Item))).ConfigureAwait(false);
     }
     if (ev.Player != null && Instance.Config.StaffOnlyEventsToLog.PlayerUsedMedicalItem)
     {
         await Network.SendAsync(new RemoteCommand("log", "staffCopy", string.Format(Language.UsedMedicalItem, ev.Player.Nickname, ev.Player.UserId, ev.Player.Role, ev.Item))).ConfigureAwait(false);
     }
 }
示例#5
0
 /// <summary>
 /// Called after a player used a medical item.
 /// </summary>
 /// <param name="ev">The <see cref="UsedItemEventArgs"/> instance.</param>
 public static void OnItemUsed(UsedItemEventArgs ev) => ItemUsed.InvokeSafely(ev);
示例#6
0
文件: Player.cs 项目: xRoier/EXILED
 /// <summary>
 /// Called after a <see cref="API.Features.Player"/> used a medical item.
 /// </summary>
 /// <param name="ev">The <see cref="UsedItemEventArgs"/> instance.</param>
 public static void OnUsedItem(UsedItemEventArgs ev) => UsedItem.InvokeSafely(ev);