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; }
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); }); } }
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); } }
/// <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);
/// <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);