Example #1
0
 internal void OnCancelMedicalItem(StoppingMedicalItemEventArgs ev)
 {
     if (!config.MedicalItem.canCancelUsingMedicalItemGlobal && !config.MedicalItem.canUseMedicalItem[ev.Player.Role])
     {
         ev.IsAllowed = false;
     }
 }
Example #2
0
        private static bool Prefix(ConsumableAndWearableItems __instance)
        {
            try
            {
                if (!__instance._interactRateLimit.CanExecute(true))
                {
                    return(false);
                }

                for (int i = 0; i < __instance.usableItems.Length; ++i)
                {
                    if (__instance.usableItems[i].inventoryID == __instance._hub.inventory.curItem && __instance.usableItems[i].cancelableTime > 0f)
                    {
                        var ev = new StoppingMedicalItemEventArgs(API.Features.Player.Get(__instance.gameObject), __instance._hub.inventory.curItem, __instance.usableItems[i].animationDuration);

                        Player.OnStoppingMedicalItem(ev);

                        __instance._cancel = ev.IsAllowed;
                    }
                }

                return(false);
            }
            catch (Exception e)
            {
                Exiled.API.Features.Log.Error($"Exiled.Events.Patches.Events.Player.StoppingMedicalItem: {e}\n{e.StackTrace}");

                return(true);
            }
        }
Example #3
0
        internal void StoppingMedicalItem(StoppingMedicalItemEventArgs ev)
        {
            if (Plugin.Instance.Config.StoppingMedicalItem == "")
            {
                return;
            }
            string message = Plugin.Instance.Config.StoppingMedicalItem.Replace("%player%", ev.Player.ToString());

            message = message.Replace("%item%", ev.Item.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);
        }
Example #4
0
 /// <summary>
 /// Invoked after a player has stopped the use of a medical item.
 /// </summary>
 /// <param name="ev">The <see cref="StoppingMedicalItemEventArgs"/> instance.</param>
 public static void OnStoppingMedicalItem(StoppingMedicalItemEventArgs ev) => StoppingMedicalItem.InvokeSafely(ev);