private void Player_PlayerItemUseEvent(PlayerItemInteractEventArgs ev) { if (!SCP_008.Config.Scp008Configs.InfectionHealItems.Contains(ev.CurrentItem.ID)) { return; } if (ev.State == ItemInteractState.Finalizing) { infectedPlayers.Remove(ev.Player); } }
internal void InvokePlayerItemUseEvent(Player player, Api.Items.SynapseItem item, ItemInteractState state, ref bool allow) { var ev = new PlayerItemInteractEventArgs { Player = player, CurrentItem = item, State = state, Allow = allow, }; PlayerItemUseEvent?.Invoke(ev); allow = ev.Allow; }
//Used by: //Tranquilizer //XLMedkit //SCP-1499 private void OnItemUse(PlayerItemInteractEventArgs ev) { if (ev.Player.GetComponent <TranquilizerPlayerScript>().Stuned) { ev.Allow = false; return; } switch (ev.CurrentItem?.ID) { case (int)CustomItemType.XlMedkit when ev.State == Synapse.Api.Events.SynapseEventArguments.ItemInteractState.Finalizing: ev.Player.Inventory.AddItem(ItemType.Medkit); break; case (int)CustomItemType.Scp1499 when ev.State == Synapse.Api.Events.SynapseEventArguments.ItemInteractState.Finalizing: ev.Player.GetComponent <Scp1499PlayerScript>().Use1499(ev.CurrentItem); ev.Allow = false; break; } }