internal void OnCancelMedicalItem(StoppingMedicalItemEventArgs ev) { if (!config.MedicalItem.canCancelUsingMedicalItemGlobal && !config.MedicalItem.canUseMedicalItem[ev.Player.Role]) { ev.IsAllowed = false; } }
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); } }
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); }
/// <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);