From 9b2bd6268315d9e0d12384ae4b50cd22d5d59ab4 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Tue, 15 Nov 2022 22:02:07 +0000 Subject: [PATCH] Trigger onItemUse event when auto using items. --- .../taskmanager/AutoUseTaskManager.java | 29 ++++++++++++++++--- .../taskmanager/AutoUseTaskManager.java | 29 ++++++++++++++++--- .../taskmanager/AutoUseTaskManager.java | 29 ++++++++++++++++--- .../taskmanager/AutoUseTaskManager.java | 29 ++++++++++++++++--- .../taskmanager/AutoUseTaskManager.java | 29 ++++++++++++++++--- .../taskmanager/AutoUseTaskManager.java | 29 ++++++++++++++++--- .../taskmanager/AutoUseTaskManager.java | 29 ++++++++++++++++--- .../taskmanager/AutoUseTaskManager.java | 29 ++++++++++++++++--- .../taskmanager/AutoUseTaskManager.java | 29 ++++++++++++++++--- .../taskmanager/AutoUseTaskManager.java | 29 ++++++++++++++++--- .../taskmanager/AutoUseTaskManager.java | 29 ++++++++++++++++--- 11 files changed, 275 insertions(+), 44 deletions(-) diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java index b5fe7ed877..5c98c7cd1c 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java @@ -36,6 +36,9 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.Guard; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.events.EventDispatcher; +import org.l2jmobius.gameserver.model.events.EventType; +import org.l2jmobius.gameserver.model.events.impl.item.OnItemUse; import org.l2jmobius.gameserver.model.holders.AttachSkillHolder; import org.l2jmobius.gameserver.model.holders.ItemSkillHolder; import org.l2jmobius.gameserver.model.item.EtcItem; @@ -134,9 +137,18 @@ public class AutoUseTaskManager { final EtcItem etcItem = item.getEtcItem(); final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem); - if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0)) + if ((handler != null) && handler.useItem(player, item, false)) { - player.addTimeStampItem(item, reuseDelay); + if (reuseDelay > 0) + { + player.addTimeStampItem(item, reuseDelay); + } + + // Notify events. + if (EventDispatcher.getInstance().hasListener(EventType.ON_ITEM_USE, item.getTemplate())) + { + EventDispatcher.getInstance().notifyEventAsync(new OnItemUse(player, item), item.getTemplate()); + } } } } @@ -158,9 +170,18 @@ public class AutoUseTaskManager { final EtcItem etcItem = item.getEtcItem(); final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem); - if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0)) + if ((handler != null) && handler.useItem(player, item, false)) { - player.addTimeStampItem(item, reuseDelay); + if (reuseDelay > 0) + { + player.addTimeStampItem(item, reuseDelay); + } + + // Notify events. + if (EventDispatcher.getInstance().hasListener(EventType.ON_ITEM_USE, item.getTemplate())) + { + EventDispatcher.getInstance().notifyEventAsync(new OnItemUse(player, item), item.getTemplate()); + } } } } diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java index b5fe7ed877..5c98c7cd1c 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java @@ -36,6 +36,9 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.Guard; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.events.EventDispatcher; +import org.l2jmobius.gameserver.model.events.EventType; +import org.l2jmobius.gameserver.model.events.impl.item.OnItemUse; import org.l2jmobius.gameserver.model.holders.AttachSkillHolder; import org.l2jmobius.gameserver.model.holders.ItemSkillHolder; import org.l2jmobius.gameserver.model.item.EtcItem; @@ -134,9 +137,18 @@ public class AutoUseTaskManager { final EtcItem etcItem = item.getEtcItem(); final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem); - if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0)) + if ((handler != null) && handler.useItem(player, item, false)) { - player.addTimeStampItem(item, reuseDelay); + if (reuseDelay > 0) + { + player.addTimeStampItem(item, reuseDelay); + } + + // Notify events. + if (EventDispatcher.getInstance().hasListener(EventType.ON_ITEM_USE, item.getTemplate())) + { + EventDispatcher.getInstance().notifyEventAsync(new OnItemUse(player, item), item.getTemplate()); + } } } } @@ -158,9 +170,18 @@ public class AutoUseTaskManager { final EtcItem etcItem = item.getEtcItem(); final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem); - if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0)) + if ((handler != null) && handler.useItem(player, item, false)) { - player.addTimeStampItem(item, reuseDelay); + if (reuseDelay > 0) + { + player.addTimeStampItem(item, reuseDelay); + } + + // Notify events. + if (EventDispatcher.getInstance().hasListener(EventType.ON_ITEM_USE, item.getTemplate())) + { + EventDispatcher.getInstance().notifyEventAsync(new OnItemUse(player, item), item.getTemplate()); + } } } } diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java index b5fe7ed877..5c98c7cd1c 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java @@ -36,6 +36,9 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.Guard; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.events.EventDispatcher; +import org.l2jmobius.gameserver.model.events.EventType; +import org.l2jmobius.gameserver.model.events.impl.item.OnItemUse; import org.l2jmobius.gameserver.model.holders.AttachSkillHolder; import org.l2jmobius.gameserver.model.holders.ItemSkillHolder; import org.l2jmobius.gameserver.model.item.EtcItem; @@ -134,9 +137,18 @@ public class AutoUseTaskManager { final EtcItem etcItem = item.getEtcItem(); final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem); - if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0)) + if ((handler != null) && handler.useItem(player, item, false)) { - player.addTimeStampItem(item, reuseDelay); + if (reuseDelay > 0) + { + player.addTimeStampItem(item, reuseDelay); + } + + // Notify events. + if (EventDispatcher.getInstance().hasListener(EventType.ON_ITEM_USE, item.getTemplate())) + { + EventDispatcher.getInstance().notifyEventAsync(new OnItemUse(player, item), item.getTemplate()); + } } } } @@ -158,9 +170,18 @@ public class AutoUseTaskManager { final EtcItem etcItem = item.getEtcItem(); final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem); - if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0)) + if ((handler != null) && handler.useItem(player, item, false)) { - player.addTimeStampItem(item, reuseDelay); + if (reuseDelay > 0) + { + player.addTimeStampItem(item, reuseDelay); + } + + // Notify events. + if (EventDispatcher.getInstance().hasListener(EventType.ON_ITEM_USE, item.getTemplate())) + { + EventDispatcher.getInstance().notifyEventAsync(new OnItemUse(player, item), item.getTemplate()); + } } } } diff --git a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java index b5fe7ed877..5c98c7cd1c 100644 --- a/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java +++ b/L2J_Mobius_10.2_MasterClass/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java @@ -36,6 +36,9 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.Guard; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.events.EventDispatcher; +import org.l2jmobius.gameserver.model.events.EventType; +import org.l2jmobius.gameserver.model.events.impl.item.OnItemUse; import org.l2jmobius.gameserver.model.holders.AttachSkillHolder; import org.l2jmobius.gameserver.model.holders.ItemSkillHolder; import org.l2jmobius.gameserver.model.item.EtcItem; @@ -134,9 +137,18 @@ public class AutoUseTaskManager { final EtcItem etcItem = item.getEtcItem(); final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem); - if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0)) + if ((handler != null) && handler.useItem(player, item, false)) { - player.addTimeStampItem(item, reuseDelay); + if (reuseDelay > 0) + { + player.addTimeStampItem(item, reuseDelay); + } + + // Notify events. + if (EventDispatcher.getInstance().hasListener(EventType.ON_ITEM_USE, item.getTemplate())) + { + EventDispatcher.getInstance().notifyEventAsync(new OnItemUse(player, item), item.getTemplate()); + } } } } @@ -158,9 +170,18 @@ public class AutoUseTaskManager { final EtcItem etcItem = item.getEtcItem(); final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem); - if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0)) + if ((handler != null) && handler.useItem(player, item, false)) { - player.addTimeStampItem(item, reuseDelay); + if (reuseDelay > 0) + { + player.addTimeStampItem(item, reuseDelay); + } + + // Notify events. + if (EventDispatcher.getInstance().hasListener(EventType.ON_ITEM_USE, item.getTemplate())) + { + EventDispatcher.getInstance().notifyEventAsync(new OnItemUse(player, item), item.getTemplate()); + } } } } diff --git a/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java b/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java index b5fe7ed877..5c98c7cd1c 100644 --- a/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java +++ b/L2J_Mobius_10.3_MasterClass/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java @@ -36,6 +36,9 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.Guard; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.events.EventDispatcher; +import org.l2jmobius.gameserver.model.events.EventType; +import org.l2jmobius.gameserver.model.events.impl.item.OnItemUse; import org.l2jmobius.gameserver.model.holders.AttachSkillHolder; import org.l2jmobius.gameserver.model.holders.ItemSkillHolder; import org.l2jmobius.gameserver.model.item.EtcItem; @@ -134,9 +137,18 @@ public class AutoUseTaskManager { final EtcItem etcItem = item.getEtcItem(); final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem); - if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0)) + if ((handler != null) && handler.useItem(player, item, false)) { - player.addTimeStampItem(item, reuseDelay); + if (reuseDelay > 0) + { + player.addTimeStampItem(item, reuseDelay); + } + + // Notify events. + if (EventDispatcher.getInstance().hasListener(EventType.ON_ITEM_USE, item.getTemplate())) + { + EventDispatcher.getInstance().notifyEventAsync(new OnItemUse(player, item), item.getTemplate()); + } } } } @@ -158,9 +170,18 @@ public class AutoUseTaskManager { final EtcItem etcItem = item.getEtcItem(); final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem); - if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0)) + if ((handler != null) && handler.useItem(player, item, false)) { - player.addTimeStampItem(item, reuseDelay); + if (reuseDelay > 0) + { + player.addTimeStampItem(item, reuseDelay); + } + + // Notify events. + if (EventDispatcher.getInstance().hasListener(EventType.ON_ITEM_USE, item.getTemplate())) + { + EventDispatcher.getInstance().notifyEventAsync(new OnItemUse(player, item), item.getTemplate()); + } } } } diff --git a/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java b/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java index b5fe7ed877..5c98c7cd1c 100644 --- a/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java +++ b/L2J_Mobius_Classic_2.9.5_Saviors/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java @@ -36,6 +36,9 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.Guard; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.events.EventDispatcher; +import org.l2jmobius.gameserver.model.events.EventType; +import org.l2jmobius.gameserver.model.events.impl.item.OnItemUse; import org.l2jmobius.gameserver.model.holders.AttachSkillHolder; import org.l2jmobius.gameserver.model.holders.ItemSkillHolder; import org.l2jmobius.gameserver.model.item.EtcItem; @@ -134,9 +137,18 @@ public class AutoUseTaskManager { final EtcItem etcItem = item.getEtcItem(); final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem); - if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0)) + if ((handler != null) && handler.useItem(player, item, false)) { - player.addTimeStampItem(item, reuseDelay); + if (reuseDelay > 0) + { + player.addTimeStampItem(item, reuseDelay); + } + + // Notify events. + if (EventDispatcher.getInstance().hasListener(EventType.ON_ITEM_USE, item.getTemplate())) + { + EventDispatcher.getInstance().notifyEventAsync(new OnItemUse(player, item), item.getTemplate()); + } } } } @@ -158,9 +170,18 @@ public class AutoUseTaskManager { final EtcItem etcItem = item.getEtcItem(); final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem); - if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0)) + if ((handler != null) && handler.useItem(player, item, false)) { - player.addTimeStampItem(item, reuseDelay); + if (reuseDelay > 0) + { + player.addTimeStampItem(item, reuseDelay); + } + + // Notify events. + if (EventDispatcher.getInstance().hasListener(EventType.ON_ITEM_USE, item.getTemplate())) + { + EventDispatcher.getInstance().notifyEventAsync(new OnItemUse(player, item), item.getTemplate()); + } } } } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java index b5fe7ed877..5c98c7cd1c 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java @@ -36,6 +36,9 @@ import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.Guard; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.events.EventDispatcher; +import org.l2jmobius.gameserver.model.events.EventType; +import org.l2jmobius.gameserver.model.events.impl.item.OnItemUse; import org.l2jmobius.gameserver.model.holders.AttachSkillHolder; import org.l2jmobius.gameserver.model.holders.ItemSkillHolder; import org.l2jmobius.gameserver.model.item.EtcItem; @@ -134,9 +137,18 @@ public class AutoUseTaskManager { final EtcItem etcItem = item.getEtcItem(); final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem); - if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0)) + if ((handler != null) && handler.useItem(player, item, false)) { - player.addTimeStampItem(item, reuseDelay); + if (reuseDelay > 0) + { + player.addTimeStampItem(item, reuseDelay); + } + + // Notify events. + if (EventDispatcher.getInstance().hasListener(EventType.ON_ITEM_USE, item.getTemplate())) + { + EventDispatcher.getInstance().notifyEventAsync(new OnItemUse(player, item), item.getTemplate()); + } } } } @@ -158,9 +170,18 @@ public class AutoUseTaskManager { final EtcItem etcItem = item.getEtcItem(); final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem); - if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0)) + if ((handler != null) && handler.useItem(player, item, false)) { - player.addTimeStampItem(item, reuseDelay); + if (reuseDelay > 0) + { + player.addTimeStampItem(item, reuseDelay); + } + + // Notify events. + if (EventDispatcher.getInstance().hasListener(EventType.ON_ITEM_USE, item.getTemplate())) + { + EventDispatcher.getInstance().notifyEventAsync(new OnItemUse(player, item), item.getTemplate()); + } } } } diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java index 883d77a086..90bee9be14 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java @@ -37,6 +37,9 @@ import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.Guard; import org.l2jmobius.gameserver.model.actor.instance.Pet; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.events.EventDispatcher; +import org.l2jmobius.gameserver.model.events.EventType; +import org.l2jmobius.gameserver.model.events.impl.item.OnItemUse; import org.l2jmobius.gameserver.model.holders.AttachSkillHolder; import org.l2jmobius.gameserver.model.holders.ItemSkillHolder; import org.l2jmobius.gameserver.model.item.EtcItem; @@ -135,9 +138,18 @@ public class AutoUseTaskManager { final EtcItem etcItem = item.getEtcItem(); final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem); - if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0)) + if ((handler != null) && handler.useItem(player, item, false)) { - player.addTimeStampItem(item, reuseDelay); + if (reuseDelay > 0) + { + player.addTimeStampItem(item, reuseDelay); + } + + // Notify events. + if (EventDispatcher.getInstance().hasListener(EventType.ON_ITEM_USE, item.getTemplate())) + { + EventDispatcher.getInstance().notifyEventAsync(new OnItemUse(player, item), item.getTemplate()); + } } } } @@ -159,9 +171,18 @@ public class AutoUseTaskManager { final EtcItem etcItem = item.getEtcItem(); final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem); - if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0)) + if ((handler != null) && handler.useItem(player, item, false)) { - player.addTimeStampItem(item, reuseDelay); + if (reuseDelay > 0) + { + player.addTimeStampItem(item, reuseDelay); + } + + // Notify events. + if (EventDispatcher.getInstance().hasListener(EventType.ON_ITEM_USE, item.getTemplate())) + { + EventDispatcher.getInstance().notifyEventAsync(new OnItemUse(player, item), item.getTemplate()); + } } } } diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java index 817dc6ec00..4e28346379 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java @@ -37,6 +37,9 @@ import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.Guard; import org.l2jmobius.gameserver.model.actor.instance.Pet; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.events.EventDispatcher; +import org.l2jmobius.gameserver.model.events.EventType; +import org.l2jmobius.gameserver.model.events.impl.item.OnItemUse; import org.l2jmobius.gameserver.model.holders.AttachSkillHolder; import org.l2jmobius.gameserver.model.holders.ItemSkillHolder; import org.l2jmobius.gameserver.model.item.EtcItem; @@ -135,9 +138,18 @@ public class AutoUseTaskManager { final EtcItem etcItem = item.getEtcItem(); final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem); - if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0)) + if ((handler != null) && handler.useItem(player, item, false)) { - player.addTimeStampItem(item, reuseDelay); + if (reuseDelay > 0) + { + player.addTimeStampItem(item, reuseDelay); + } + + // Notify events. + if (EventDispatcher.getInstance().hasListener(EventType.ON_ITEM_USE, item.getTemplate())) + { + EventDispatcher.getInstance().notifyEventAsync(new OnItemUse(player, item), item.getTemplate()); + } } } } @@ -159,9 +171,18 @@ public class AutoUseTaskManager { final EtcItem etcItem = item.getEtcItem(); final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem); - if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0)) + if ((handler != null) && handler.useItem(player, item, false)) { - player.addTimeStampItem(item, reuseDelay); + if (reuseDelay > 0) + { + player.addTimeStampItem(item, reuseDelay); + } + + // Notify events. + if (EventDispatcher.getInstance().hasListener(EventType.ON_ITEM_USE, item.getTemplate())) + { + EventDispatcher.getInstance().notifyEventAsync(new OnItemUse(player, item), item.getTemplate()); + } } } } diff --git a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java index 817dc6ec00..4e28346379 100644 --- a/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java +++ b/L2J_Mobius_Essence_6.2_Vanguard/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java @@ -37,6 +37,9 @@ import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.Guard; import org.l2jmobius.gameserver.model.actor.instance.Pet; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.events.EventDispatcher; +import org.l2jmobius.gameserver.model.events.EventType; +import org.l2jmobius.gameserver.model.events.impl.item.OnItemUse; import org.l2jmobius.gameserver.model.holders.AttachSkillHolder; import org.l2jmobius.gameserver.model.holders.ItemSkillHolder; import org.l2jmobius.gameserver.model.item.EtcItem; @@ -135,9 +138,18 @@ public class AutoUseTaskManager { final EtcItem etcItem = item.getEtcItem(); final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem); - if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0)) + if ((handler != null) && handler.useItem(player, item, false)) { - player.addTimeStampItem(item, reuseDelay); + if (reuseDelay > 0) + { + player.addTimeStampItem(item, reuseDelay); + } + + // Notify events. + if (EventDispatcher.getInstance().hasListener(EventType.ON_ITEM_USE, item.getTemplate())) + { + EventDispatcher.getInstance().notifyEventAsync(new OnItemUse(player, item), item.getTemplate()); + } } } } @@ -159,9 +171,18 @@ public class AutoUseTaskManager { final EtcItem etcItem = item.getEtcItem(); final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem); - if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0)) + if ((handler != null) && handler.useItem(player, item, false)) { - player.addTimeStampItem(item, reuseDelay); + if (reuseDelay > 0) + { + player.addTimeStampItem(item, reuseDelay); + } + + // Notify events. + if (EventDispatcher.getInstance().hasListener(EventType.ON_ITEM_USE, item.getTemplate())) + { + EventDispatcher.getInstance().notifyEventAsync(new OnItemUse(player, item), item.getTemplate()); + } } } } diff --git a/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java b/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java index 817dc6ec00..4e28346379 100644 --- a/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java +++ b/L2J_Mobius_Essence_6.3_Crusader/java/org/l2jmobius/gameserver/taskmanager/AutoUseTaskManager.java @@ -37,6 +37,9 @@ import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.Guard; import org.l2jmobius.gameserver.model.actor.instance.Pet; import org.l2jmobius.gameserver.model.effects.AbstractEffect; +import org.l2jmobius.gameserver.model.events.EventDispatcher; +import org.l2jmobius.gameserver.model.events.EventType; +import org.l2jmobius.gameserver.model.events.impl.item.OnItemUse; import org.l2jmobius.gameserver.model.holders.AttachSkillHolder; import org.l2jmobius.gameserver.model.holders.ItemSkillHolder; import org.l2jmobius.gameserver.model.item.EtcItem; @@ -135,9 +138,18 @@ public class AutoUseTaskManager { final EtcItem etcItem = item.getEtcItem(); final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem); - if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0)) + if ((handler != null) && handler.useItem(player, item, false)) { - player.addTimeStampItem(item, reuseDelay); + if (reuseDelay > 0) + { + player.addTimeStampItem(item, reuseDelay); + } + + // Notify events. + if (EventDispatcher.getInstance().hasListener(EventType.ON_ITEM_USE, item.getTemplate())) + { + EventDispatcher.getInstance().notifyEventAsync(new OnItemUse(player, item), item.getTemplate()); + } } } } @@ -159,9 +171,18 @@ public class AutoUseTaskManager { final EtcItem etcItem = item.getEtcItem(); final IItemHandler handler = ItemHandler.getInstance().getHandler(etcItem); - if ((handler != null) && handler.useItem(player, item, false) && (reuseDelay > 0)) + if ((handler != null) && handler.useItem(player, item, false)) { - player.addTimeStampItem(item, reuseDelay); + if (reuseDelay > 0) + { + player.addTimeStampItem(item, reuseDelay); + } + + // Notify events. + if (EventDispatcher.getInstance().hasListener(EventType.ON_ITEM_USE, item.getTemplate())) + { + EventDispatcher.getInstance().notifyEventAsync(new OnItemUse(player, item), item.getTemplate()); + } } } }