diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/others/Servitors/Servitors.java b/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/others/Servitors/Servitors.java index 08bdb1629a..250c1d9f77 100644 --- a/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/others/Servitors/Servitors.java +++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/others/Servitors/Servitors.java @@ -30,7 +30,7 @@ import org.l2jmobius.gameserver.model.events.ListenerRegisterType; import org.l2jmobius.gameserver.model.events.annotations.Id; import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent; import org.l2jmobius.gameserver.model.events.annotations.RegisterType; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKill; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.util.Util; @@ -85,7 +85,7 @@ public class Servitors extends AbstractNpcAI { } - @RegisterEvent(EventType.ON_CREATURE_KILL) + @RegisterEvent(EventType.ON_CREATURE_DEATH) @RegisterType(ListenerRegisterType.NPC) // @formatter:off @Id({ @@ -103,7 +103,7 @@ public class Servitors extends AbstractNpcAI 14527, 14528, 14529, 14530 }) // @formatter:on - public void onCreatureKill(OnCreatureKill event) + public void onCreatureKill(OnCreatureDeath event) { if (event.getAttacker().isNpc() && event.getTarget().isServitor() // && Util.checkIfInRange(1500, event.getAttacker(), event.getTarget(), true)) diff --git a/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/others/Servitors/SinEater.java b/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/others/Servitors/SinEater.java index dd2f7518ef..48f0999dd6 100644 --- a/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/others/Servitors/SinEater.java +++ b/L2J_Mobius_CT_0_Interlude/dist/game/data/scripts/ai/others/Servitors/SinEater.java @@ -26,7 +26,7 @@ import org.l2jmobius.gameserver.model.events.annotations.Id; import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent; import org.l2jmobius.gameserver.model.events.annotations.RegisterType; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKill; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -82,10 +82,10 @@ public class SinEater extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - @RegisterEvent(EventType.ON_CREATURE_KILL) + @RegisterEvent(EventType.ON_CREATURE_DEATH) @RegisterType(ListenerRegisterType.NPC) @Id(SIN_EATER) - public void onCreatureKill(OnCreatureKill event) + public void onCreatureKill(OnCreatureDeath event) { final int random = getRandom(100); final Summon summon = (Summon) event.getTarget(); diff --git a/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/actor/Creature.java index afeb32e103..c92fbf6279 100644 --- a/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -94,7 +94,8 @@ import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttackAvoid import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDamageDealt; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDamageReceived; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKill; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKilled; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSkillUse; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureTeleported; @@ -2281,12 +2282,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe */ public boolean doDie(Creature killer) { - final TerminateReturn returnBack = EventDispatcher.getInstance().notifyEvent(new OnCreatureKill(killer, this), this, TerminateReturn.class); - if ((returnBack != null) && returnBack.terminate()) - { - return false; - } - // killing is only possible one time synchronized (this) { @@ -2300,6 +2295,13 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe setDead(true); } + EventDispatcher.getInstance().notifyEvent(new OnCreatureDeath(killer, this), this); + final TerminateReturn returnBack = EventDispatcher.getInstance().notifyEvent(new OnCreatureKilled(killer, this), this, TerminateReturn.class); + if ((returnBack != null) && returnBack.terminate()) + { + return false; + } + // Calculate rewards for main damage dealer. final Creature mainDamageDealer = isMonster() ? ((Monster) this).getMainDamageDealer() : null; calculateRewards(mainDamageDealer != null ? mainDamageDealer : killer); diff --git a/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/actor/Playable.java index 9fcee7502b..dcfbb9b9d4 100644 --- a/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -27,7 +27,7 @@ import org.l2jmobius.gameserver.model.actor.templates.CreatureTemplate; import org.l2jmobius.gameserver.model.effects.EffectFlag; import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.events.EventDispatcher; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKill; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -93,7 +93,7 @@ public abstract class Playable extends Creature @Override public boolean doDie(Creature killer) { - final TerminateReturn returnBack = EventDispatcher.getInstance().notifyEvent(new OnCreatureKill(killer, this), this, TerminateReturn.class); + final TerminateReturn returnBack = EventDispatcher.getInstance().notifyEvent(new OnCreatureDeath(killer, this), this, TerminateReturn.class); if ((returnBack != null) && returnBack.terminate()) { return false; diff --git a/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/events/AbstractScript.java b/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/events/AbstractScript.java index 81c0607710..c97ce7c5a1 100644 --- a/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/events/AbstractScript.java +++ b/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/events/AbstractScript.java @@ -59,7 +59,7 @@ import org.l2jmobius.gameserver.model.events.annotations.Ranges; import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent; import org.l2jmobius.gameserver.model.events.annotations.RegisterType; import org.l2jmobius.gameserver.model.events.impl.IBaseEvent; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKill; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureZoneEnter; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureZoneExit; @@ -339,9 +339,9 @@ public abstract class AbstractScript extends ManagedScript * @param npcIds * @return */ - protected final List addCreatureKillId(Function callback, int... npcIds) + protected final List addCreatureKillId(Function callback, int... npcIds) { - return registerFunction(callback, EventType.ON_CREATURE_KILL, ListenerRegisterType.NPC, npcIds); + return registerFunction(callback, EventType.ON_CREATURE_DEATH, ListenerRegisterType.NPC, npcIds); } /** @@ -350,9 +350,9 @@ public abstract class AbstractScript extends ManagedScript * @param npcIds * @return */ - protected final List setCreatureKillId(Consumer callback, int... npcIds) + protected final List setCreatureKillId(Consumer callback, int... npcIds) { - return registerConsumer(callback, EventType.ON_CREATURE_KILL, ListenerRegisterType.NPC, npcIds); + return registerConsumer(callback, EventType.ON_CREATURE_DEATH, ListenerRegisterType.NPC, npcIds); } /** @@ -361,9 +361,9 @@ public abstract class AbstractScript extends ManagedScript * @param npcIds * @return */ - protected final List setCreatureKillId(Consumer callback, Collection npcIds) + protected final List setCreatureKillId(Consumer callback, Collection npcIds) { - return registerConsumer(callback, EventType.ON_CREATURE_KILL, ListenerRegisterType.NPC, npcIds); + return registerConsumer(callback, EventType.ON_CREATURE_DEATH, ListenerRegisterType.NPC, npcIds); } // --------------------------------------------------------------------------------------------------------------------------- diff --git a/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/events/EventType.java b/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/events/EventType.java index 34f3282611..5ce4118390 100644 --- a/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/events/EventType.java +++ b/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/events/EventType.java @@ -25,7 +25,8 @@ import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttackAvoid import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDamageDealt; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDamageReceived; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKill; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKilled; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSkillUse; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureTeleported; @@ -126,7 +127,8 @@ public enum EventType ON_CREATURE_ATTACKED(OnCreatureAttacked.class, void.class, TerminateReturn.class), ON_CREATURE_DAMAGE_RECEIVED(OnCreatureDamageReceived.class, void.class), ON_CREATURE_DAMAGE_DEALT(OnCreatureDamageDealt.class, void.class), - ON_CREATURE_KILL(OnCreatureKill.class, void.class, TerminateReturn.class), + ON_CREATURE_DEATH(OnCreatureDeath.class, void.class), + ON_CREATURE_KILLED(OnCreatureKilled.class, void.class, TerminateReturn.class), ON_CREATURE_SEE(OnCreatureSee.class, void.class), ON_CREATURE_SKILL_USE(OnCreatureSkillUse.class, void.class, TerminateReturn.class), ON_CREATURE_TELEPORTED(OnCreatureTeleported.class, void.class), diff --git a/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureKill.java b/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureDeath.java similarity index 86% rename from L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureKill.java rename to L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureDeath.java index 951b6c10c9..b7bd808eae 100644 --- a/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureKill.java +++ b/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureDeath.java @@ -24,12 +24,12 @@ import org.l2jmobius.gameserver.model.events.impl.IBaseEvent; * An instantly executed event when Creature is killed by Creature. * @author UnAfraid */ -public class OnCreatureKill implements IBaseEvent +public class OnCreatureDeath implements IBaseEvent { private final Creature _attacker; private final Creature _target; - public OnCreatureKill(Creature attacker, Creature target) + public OnCreatureDeath(Creature attacker, Creature target) { _attacker = attacker; _target = target; @@ -48,6 +48,6 @@ public class OnCreatureKill implements IBaseEvent @Override public EventType getType() { - return EventType.ON_CREATURE_KILL; + return EventType.ON_CREATURE_DEATH; } } \ No newline at end of file diff --git a/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureKilled.java b/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureKilled.java new file mode 100644 index 0000000000..de19bc9094 --- /dev/null +++ b/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureKilled.java @@ -0,0 +1,53 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package org.l2jmobius.gameserver.model.events.impl.creature; + +import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.events.EventType; +import org.l2jmobius.gameserver.model.events.impl.IBaseEvent; + +/** + * An instantly executed event when Creature kills Creature. + * @author UnAfraid + */ +public class OnCreatureKilled implements IBaseEvent +{ + private final Creature _attacker; + private final Creature _target; + + public OnCreatureKilled(Creature attacker, Creature target) + { + _attacker = attacker; + _target = target; + } + + public Creature getAttacker() + { + return _attacker; + } + + public Creature getTarget() + { + return _target; + } + + @Override + public EventType getType() + { + return EventType.ON_CREATURE_KILLED; + } +} \ No newline at end of file diff --git a/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/RequestRestartPoint.java b/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/RequestRestartPoint.java index 88a15f3704..9c096e5c7f 100644 --- a/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/RequestRestartPoint.java +++ b/L2J_Mobius_CT_0_Interlude/java/org/l2jmobius/gameserver/network/clientpackets/RequestRestartPoint.java @@ -93,7 +93,7 @@ public class RequestRestartPoint implements IClientIncomingPacket // Custom event resurrection management. if (player.isOnEvent()) { - for (AbstractEventListener listener : player.getListeners(EventType.ON_CREATURE_KILL)) + for (AbstractEventListener listener : player.getListeners(EventType.ON_CREATURE_DEATH)) { if (listener.getOwner() instanceof Event) { diff --git a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/others/Servitors/Servitors.java b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/others/Servitors/Servitors.java index 08bdb1629a..250c1d9f77 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/others/Servitors/Servitors.java +++ b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/others/Servitors/Servitors.java @@ -30,7 +30,7 @@ import org.l2jmobius.gameserver.model.events.ListenerRegisterType; import org.l2jmobius.gameserver.model.events.annotations.Id; import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent; import org.l2jmobius.gameserver.model.events.annotations.RegisterType; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKill; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.util.Util; @@ -85,7 +85,7 @@ public class Servitors extends AbstractNpcAI { } - @RegisterEvent(EventType.ON_CREATURE_KILL) + @RegisterEvent(EventType.ON_CREATURE_DEATH) @RegisterType(ListenerRegisterType.NPC) // @formatter:off @Id({ @@ -103,7 +103,7 @@ public class Servitors extends AbstractNpcAI 14527, 14528, 14529, 14530 }) // @formatter:on - public void onCreatureKill(OnCreatureKill event) + public void onCreatureKill(OnCreatureDeath event) { if (event.getAttacker().isNpc() && event.getTarget().isServitor() // && Util.checkIfInRange(1500, event.getAttacker(), event.getTarget(), true)) diff --git a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/others/Servitors/SinEater.java b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/others/Servitors/SinEater.java index dd2f7518ef..48f0999dd6 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/others/Servitors/SinEater.java +++ b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/others/Servitors/SinEater.java @@ -26,7 +26,7 @@ import org.l2jmobius.gameserver.model.events.annotations.Id; import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent; import org.l2jmobius.gameserver.model.events.annotations.RegisterType; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKill; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -82,10 +82,10 @@ public class SinEater extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - @RegisterEvent(EventType.ON_CREATURE_KILL) + @RegisterEvent(EventType.ON_CREATURE_DEATH) @RegisterType(ListenerRegisterType.NPC) @Id(SIN_EATER) - public void onCreatureKill(OnCreatureKill event) + public void onCreatureKill(OnCreatureDeath event) { final int random = getRandom(100); final Summon summon = (Summon) event.getTarget(); diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/Creature.java index 1ec79015b6..ec7c30b82c 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -99,7 +99,8 @@ import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttackAvoid import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDamageDealt; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDamageReceived; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKill; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKilled; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSkillUse; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureTeleported; @@ -2435,12 +2436,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe */ public boolean doDie(Creature killer) { - final TerminateReturn returnBack = EventDispatcher.getInstance().notifyEvent(new OnCreatureKill(killer, this), this, TerminateReturn.class); - if ((returnBack != null) && returnBack.terminate()) - { - return false; - } - // killing is only possible one time synchronized (this) { @@ -2454,6 +2449,13 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe setDead(true); } + EventDispatcher.getInstance().notifyEvent(new OnCreatureDeath(killer, this), this); + final TerminateReturn returnBack = EventDispatcher.getInstance().notifyEvent(new OnCreatureKilled(killer, this), this, TerminateReturn.class); + if ((returnBack != null) && returnBack.terminate()) + { + return false; + } + // Calculate rewards for main damage dealer. final Creature mainDamageDealer = isMonster() ? ((Monster) this).getMainDamageDealer() : null; calculateRewards(mainDamageDealer != null ? mainDamageDealer : killer); diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/Playable.java index 9fcee7502b..dcfbb9b9d4 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -27,7 +27,7 @@ import org.l2jmobius.gameserver.model.actor.templates.CreatureTemplate; import org.l2jmobius.gameserver.model.effects.EffectFlag; import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.events.EventDispatcher; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKill; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -93,7 +93,7 @@ public abstract class Playable extends Creature @Override public boolean doDie(Creature killer) { - final TerminateReturn returnBack = EventDispatcher.getInstance().notifyEvent(new OnCreatureKill(killer, this), this, TerminateReturn.class); + final TerminateReturn returnBack = EventDispatcher.getInstance().notifyEvent(new OnCreatureDeath(killer, this), this, TerminateReturn.class); if ((returnBack != null) && returnBack.terminate()) { return false; diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/events/AbstractScript.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/events/AbstractScript.java index 94048bdac7..55773ae0ad 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/events/AbstractScript.java +++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/events/AbstractScript.java @@ -63,7 +63,7 @@ import org.l2jmobius.gameserver.model.events.annotations.Ranges; import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent; import org.l2jmobius.gameserver.model.events.annotations.RegisterType; import org.l2jmobius.gameserver.model.events.impl.IBaseEvent; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKill; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureZoneEnter; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureZoneExit; @@ -347,9 +347,9 @@ public abstract class AbstractScript extends ManagedScript * @param npcIds * @return */ - protected final List addCreatureKillId(Function callback, int... npcIds) + protected final List addCreatureKillId(Function callback, int... npcIds) { - return registerFunction(callback, EventType.ON_CREATURE_KILL, ListenerRegisterType.NPC, npcIds); + return registerFunction(callback, EventType.ON_CREATURE_DEATH, ListenerRegisterType.NPC, npcIds); } /** @@ -358,9 +358,9 @@ public abstract class AbstractScript extends ManagedScript * @param npcIds * @return */ - protected final List setCreatureKillId(Consumer callback, int... npcIds) + protected final List setCreatureKillId(Consumer callback, int... npcIds) { - return registerConsumer(callback, EventType.ON_CREATURE_KILL, ListenerRegisterType.NPC, npcIds); + return registerConsumer(callback, EventType.ON_CREATURE_DEATH, ListenerRegisterType.NPC, npcIds); } /** @@ -369,9 +369,9 @@ public abstract class AbstractScript extends ManagedScript * @param npcIds * @return */ - protected final List setCreatureKillId(Consumer callback, Collection npcIds) + protected final List setCreatureKillId(Consumer callback, Collection npcIds) { - return registerConsumer(callback, EventType.ON_CREATURE_KILL, ListenerRegisterType.NPC, npcIds); + return registerConsumer(callback, EventType.ON_CREATURE_DEATH, ListenerRegisterType.NPC, npcIds); } // --------------------------------------------------------------------------------------------------------------------------- diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/events/EventType.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/events/EventType.java index 90a3c25a69..a5fe3f4602 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/events/EventType.java +++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/events/EventType.java @@ -25,7 +25,8 @@ import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttackAvoid import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDamageDealt; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDamageReceived; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKill; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKilled; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSkillUse; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureTeleported; @@ -128,7 +129,8 @@ public enum EventType ON_CREATURE_ATTACKED(OnCreatureAttacked.class, void.class, TerminateReturn.class), ON_CREATURE_DAMAGE_RECEIVED(OnCreatureDamageReceived.class, void.class), ON_CREATURE_DAMAGE_DEALT(OnCreatureDamageDealt.class, void.class), - ON_CREATURE_KILL(OnCreatureKill.class, void.class, TerminateReturn.class), + ON_CREATURE_DEATH(OnCreatureDeath.class, void.class), + ON_CREATURE_KILLED(OnCreatureKilled.class, void.class, TerminateReturn.class), ON_CREATURE_SEE(OnCreatureSee.class, void.class), ON_CREATURE_SKILL_USE(OnCreatureSkillUse.class, void.class, TerminateReturn.class), ON_CREATURE_TELEPORTED(OnCreatureTeleported.class, void.class), diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureKill.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureDeath.java similarity index 86% rename from L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureKill.java rename to L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureDeath.java index 951b6c10c9..b7bd808eae 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureKill.java +++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureDeath.java @@ -24,12 +24,12 @@ import org.l2jmobius.gameserver.model.events.impl.IBaseEvent; * An instantly executed event when Creature is killed by Creature. * @author UnAfraid */ -public class OnCreatureKill implements IBaseEvent +public class OnCreatureDeath implements IBaseEvent { private final Creature _attacker; private final Creature _target; - public OnCreatureKill(Creature attacker, Creature target) + public OnCreatureDeath(Creature attacker, Creature target) { _attacker = attacker; _target = target; @@ -48,6 +48,6 @@ public class OnCreatureKill implements IBaseEvent @Override public EventType getType() { - return EventType.ON_CREATURE_KILL; + return EventType.ON_CREATURE_DEATH; } } \ No newline at end of file diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureKilled.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureKilled.java new file mode 100644 index 0000000000..de19bc9094 --- /dev/null +++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureKilled.java @@ -0,0 +1,53 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package org.l2jmobius.gameserver.model.events.impl.creature; + +import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.events.EventType; +import org.l2jmobius.gameserver.model.events.impl.IBaseEvent; + +/** + * An instantly executed event when Creature kills Creature. + * @author UnAfraid + */ +public class OnCreatureKilled implements IBaseEvent +{ + private final Creature _attacker; + private final Creature _target; + + public OnCreatureKilled(Creature attacker, Creature target) + { + _attacker = attacker; + _target = target; + } + + public Creature getAttacker() + { + return _attacker; + } + + public Creature getTarget() + { + return _target; + } + + @Override + public EventType getType() + { + return EventType.ON_CREATURE_KILLED; + } +} \ No newline at end of file diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/network/clientpackets/RequestRestartPoint.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/network/clientpackets/RequestRestartPoint.java index afed5c0bf1..850bb90d3c 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/network/clientpackets/RequestRestartPoint.java +++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/network/clientpackets/RequestRestartPoint.java @@ -97,7 +97,7 @@ public class RequestRestartPoint implements IClientIncomingPacket // Custom event resurrection management. if (player.isOnEvent()) { - for (AbstractEventListener listener : player.getListeners(EventType.ON_CREATURE_KILL)) + for (AbstractEventListener listener : player.getListeners(EventType.ON_CREATURE_DEATH)) { if (listener.getOwner() instanceof Event) { diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/Servitors/Servitors.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/Servitors/Servitors.java index 08bdb1629a..250c1d9f77 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/Servitors/Servitors.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/Servitors/Servitors.java @@ -30,7 +30,7 @@ import org.l2jmobius.gameserver.model.events.ListenerRegisterType; import org.l2jmobius.gameserver.model.events.annotations.Id; import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent; import org.l2jmobius.gameserver.model.events.annotations.RegisterType; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKill; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.util.Util; @@ -85,7 +85,7 @@ public class Servitors extends AbstractNpcAI { } - @RegisterEvent(EventType.ON_CREATURE_KILL) + @RegisterEvent(EventType.ON_CREATURE_DEATH) @RegisterType(ListenerRegisterType.NPC) // @formatter:off @Id({ @@ -103,7 +103,7 @@ public class Servitors extends AbstractNpcAI 14527, 14528, 14529, 14530 }) // @formatter:on - public void onCreatureKill(OnCreatureKill event) + public void onCreatureKill(OnCreatureDeath event) { if (event.getAttacker().isNpc() && event.getTarget().isServitor() // && Util.checkIfInRange(1500, event.getAttacker(), event.getTarget(), true)) diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/Servitors/SinEater.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/Servitors/SinEater.java index dd2f7518ef..48f0999dd6 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/Servitors/SinEater.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/Servitors/SinEater.java @@ -26,7 +26,7 @@ import org.l2jmobius.gameserver.model.events.annotations.Id; import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent; import org.l2jmobius.gameserver.model.events.annotations.RegisterType; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKill; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -82,10 +82,10 @@ public class SinEater extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - @RegisterEvent(EventType.ON_CREATURE_KILL) + @RegisterEvent(EventType.ON_CREATURE_DEATH) @RegisterType(ListenerRegisterType.NPC) @Id(SIN_EATER) - public void onCreatureKill(OnCreatureKill event) + public void onCreatureKill(OnCreatureDeath event) { final int random = getRandom(100); final Summon summon = (Summon) event.getTarget(); diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/Creature.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/Creature.java index 73bc66b5db..0b5ccfd2f8 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/Creature.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/Creature.java @@ -99,7 +99,8 @@ import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttackAvoid import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDamageDealt; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDamageReceived; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKill; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKilled; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSkillUse; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureTeleported; @@ -2437,12 +2438,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe */ public boolean doDie(Creature killer) { - final TerminateReturn returnBack = EventDispatcher.getInstance().notifyEvent(new OnCreatureKill(killer, this), this, TerminateReturn.class); - if ((returnBack != null) && returnBack.terminate()) - { - return false; - } - // killing is only possible one time synchronized (this) { @@ -2456,6 +2451,13 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe setDead(true); } + EventDispatcher.getInstance().notifyEvent(new OnCreatureDeath(killer, this), this); + final TerminateReturn returnBack = EventDispatcher.getInstance().notifyEvent(new OnCreatureKilled(killer, this), this, TerminateReturn.class); + if ((returnBack != null) && returnBack.terminate()) + { + return false; + } + // Calculate rewards for main damage dealer. final Creature mainDamageDealer = isMonster() ? ((Monster) this).getMainDamageDealer() : null; calculateRewards(mainDamageDealer != null ? mainDamageDealer : killer); diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/Playable.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/Playable.java index 9fcee7502b..dcfbb9b9d4 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/Playable.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/actor/Playable.java @@ -27,7 +27,7 @@ import org.l2jmobius.gameserver.model.actor.templates.CreatureTemplate; import org.l2jmobius.gameserver.model.effects.EffectFlag; import org.l2jmobius.gameserver.model.effects.EffectType; import org.l2jmobius.gameserver.model.events.EventDispatcher; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKill; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -93,7 +93,7 @@ public abstract class Playable extends Creature @Override public boolean doDie(Creature killer) { - final TerminateReturn returnBack = EventDispatcher.getInstance().notifyEvent(new OnCreatureKill(killer, this), this, TerminateReturn.class); + final TerminateReturn returnBack = EventDispatcher.getInstance().notifyEvent(new OnCreatureDeath(killer, this), this, TerminateReturn.class); if ((returnBack != null) && returnBack.terminate()) { return false; diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/events/AbstractScript.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/events/AbstractScript.java index 94048bdac7..55773ae0ad 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/events/AbstractScript.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/events/AbstractScript.java @@ -63,7 +63,7 @@ import org.l2jmobius.gameserver.model.events.annotations.Ranges; import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent; import org.l2jmobius.gameserver.model.events.annotations.RegisterType; import org.l2jmobius.gameserver.model.events.impl.IBaseEvent; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKill; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureZoneEnter; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureZoneExit; @@ -347,9 +347,9 @@ public abstract class AbstractScript extends ManagedScript * @param npcIds * @return */ - protected final List addCreatureKillId(Function callback, int... npcIds) + protected final List addCreatureKillId(Function callback, int... npcIds) { - return registerFunction(callback, EventType.ON_CREATURE_KILL, ListenerRegisterType.NPC, npcIds); + return registerFunction(callback, EventType.ON_CREATURE_DEATH, ListenerRegisterType.NPC, npcIds); } /** @@ -358,9 +358,9 @@ public abstract class AbstractScript extends ManagedScript * @param npcIds * @return */ - protected final List setCreatureKillId(Consumer callback, int... npcIds) + protected final List setCreatureKillId(Consumer callback, int... npcIds) { - return registerConsumer(callback, EventType.ON_CREATURE_KILL, ListenerRegisterType.NPC, npcIds); + return registerConsumer(callback, EventType.ON_CREATURE_DEATH, ListenerRegisterType.NPC, npcIds); } /** @@ -369,9 +369,9 @@ public abstract class AbstractScript extends ManagedScript * @param npcIds * @return */ - protected final List setCreatureKillId(Consumer callback, Collection npcIds) + protected final List setCreatureKillId(Consumer callback, Collection npcIds) { - return registerConsumer(callback, EventType.ON_CREATURE_KILL, ListenerRegisterType.NPC, npcIds); + return registerConsumer(callback, EventType.ON_CREATURE_DEATH, ListenerRegisterType.NPC, npcIds); } // --------------------------------------------------------------------------------------------------------------------------- diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/events/EventType.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/events/EventType.java index 90a3c25a69..a5fe3f4602 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/events/EventType.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/events/EventType.java @@ -25,7 +25,8 @@ import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttackAvoid import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDamageDealt; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDamageReceived; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKill; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; +import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureKilled; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSkillUse; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureTeleported; @@ -128,7 +129,8 @@ public enum EventType ON_CREATURE_ATTACKED(OnCreatureAttacked.class, void.class, TerminateReturn.class), ON_CREATURE_DAMAGE_RECEIVED(OnCreatureDamageReceived.class, void.class), ON_CREATURE_DAMAGE_DEALT(OnCreatureDamageDealt.class, void.class), - ON_CREATURE_KILL(OnCreatureKill.class, void.class, TerminateReturn.class), + ON_CREATURE_DEATH(OnCreatureDeath.class, void.class), + ON_CREATURE_KILLED(OnCreatureKilled.class, void.class, TerminateReturn.class), ON_CREATURE_SEE(OnCreatureSee.class, void.class), ON_CREATURE_SKILL_USE(OnCreatureSkillUse.class, void.class, TerminateReturn.class), ON_CREATURE_TELEPORTED(OnCreatureTeleported.class, void.class), diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureKill.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureDeath.java similarity index 86% rename from L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureKill.java rename to L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureDeath.java index 951b6c10c9..b7bd808eae 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureKill.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureDeath.java @@ -24,12 +24,12 @@ import org.l2jmobius.gameserver.model.events.impl.IBaseEvent; * An instantly executed event when Creature is killed by Creature. * @author UnAfraid */ -public class OnCreatureKill implements IBaseEvent +public class OnCreatureDeath implements IBaseEvent { private final Creature _attacker; private final Creature _target; - public OnCreatureKill(Creature attacker, Creature target) + public OnCreatureDeath(Creature attacker, Creature target) { _attacker = attacker; _target = target; @@ -48,6 +48,6 @@ public class OnCreatureKill implements IBaseEvent @Override public EventType getType() { - return EventType.ON_CREATURE_KILL; + return EventType.ON_CREATURE_DEATH; } } \ No newline at end of file diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureKilled.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureKilled.java new file mode 100644 index 0000000000..de19bc9094 --- /dev/null +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/events/impl/creature/OnCreatureKilled.java @@ -0,0 +1,53 @@ +/* + * This file is part of the L2J Mobius project. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package org.l2jmobius.gameserver.model.events.impl.creature; + +import org.l2jmobius.gameserver.model.actor.Creature; +import org.l2jmobius.gameserver.model.events.EventType; +import org.l2jmobius.gameserver.model.events.impl.IBaseEvent; + +/** + * An instantly executed event when Creature kills Creature. + * @author UnAfraid + */ +public class OnCreatureKilled implements IBaseEvent +{ + private final Creature _attacker; + private final Creature _target; + + public OnCreatureKilled(Creature attacker, Creature target) + { + _attacker = attacker; + _target = target; + } + + public Creature getAttacker() + { + return _attacker; + } + + public Creature getTarget() + { + return _target; + } + + @Override + public EventType getType() + { + return EventType.ON_CREATURE_KILLED; + } +} \ No newline at end of file diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/network/clientpackets/RequestRestartPoint.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/network/clientpackets/RequestRestartPoint.java index afed5c0bf1..850bb90d3c 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/network/clientpackets/RequestRestartPoint.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/network/clientpackets/RequestRestartPoint.java @@ -97,7 +97,7 @@ public class RequestRestartPoint implements IClientIncomingPacket // Custom event resurrection management. if (player.isOnEvent()) { - for (AbstractEventListener listener : player.getListeners(EventType.ON_CREATURE_KILL)) + for (AbstractEventListener listener : player.getListeners(EventType.ON_CREATURE_DEATH)) { if (listener.getOwner() instanceof Event) {