diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java index de6a1dbf59..4853919e38 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class MercenaryCaptain extends AbstractNpcAI private MercenaryCaptain() { - setCreatureSeeId(this::onCreatureSee, MERCENARY_CAPTAIN); + addCreatureSeeId(MERCENARY_CAPTAIN); } @Override @@ -50,14 +49,14 @@ public class MercenaryCaptain extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/DragonValley/Namo.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/DragonValley/Namo.java index ba5afc9fca..6eabcccae7 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/DragonValley/Namo.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/DragonValley/Namo.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class Namo extends AbstractNpcAI private Namo() { - setCreatureSeeId(this::onCreatureSee, NAMO); + addCreatureSeeId(NAMO); } @Override @@ -50,14 +49,14 @@ public class Namo extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java index 9e1a9eed0c..2be4ef7954 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class Rakun extends AbstractNpcAI private Rakun() { - setCreatureSeeId(this::onCreatureSee, RAKUN); + addCreatureSeeId(RAKUN); } @Override @@ -50,14 +49,14 @@ public class Rakun extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java index 8b976bfedb..409b886c34 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java @@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import ai.AbstractNpcAI; @@ -46,7 +45,7 @@ public class Wisp extends AbstractNpcAI private Wisp() { addSpawnId(WISP); - setCreatureSeeId(this::onCreatureSee, WISP, LARGE_WISP); + addCreatureSeeId(WISP, LARGE_WISP); } @Override @@ -70,26 +69,24 @@ public class Wisp extends AbstractNpcAI { final Spawn spawn = npc.getSpawn(); spawn.stopRespawn(); - if ((npc.getId() == WISP) && (getRandom(100) < 10)) { addSpawn(LARGE_WISP, npc); npc.deleteMe(); } - return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); if (creature.isPlayer() || creature.isFakePlayer()) { npc.setTarget(creature); npc.doCast(npc.getId() == WISP ? WISP_HEAL.getSkill() : LARGE_WISP_HEAL.getSkill()); getTimers().addTimer("DELETE_NPC", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java index fb6ab8e213..bdcd4312f0 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import ai.AbstractNpcAI; @@ -80,7 +79,7 @@ public class Rooney extends AbstractNpcAI private Rooney() { - setCreatureSeeId(this::onCreatureSee, ROONEY); + addCreatureSeeId(ROONEY); addSpawn(ROONEY, getRandomEntry(LOCATIONS), false, 0); } @@ -125,19 +124,16 @@ public class Rooney extends AbstractNpcAI return null; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); - startQuestTimer("teleport", 60000, npc, null); - npc.setScriptValue(1); - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); + startQuestTimer("teleport", 60000, npc, null); + npc.setScriptValue(1); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java index aad5e6f05b..5becdce40e 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import ai.AbstractNpcAI; @@ -45,7 +44,7 @@ public class GardenWatchman extends AbstractNpcAI public GardenWatchman() { addSpawnId(GARDEN_WATCHMAN); - setCreatureSeeId(this::onCreatureSee, GENESIS_TRAP_1, GENESIS_TRAP_2); + addCreatureSeeId(GENESIS_TRAP_1, GENESIS_TRAP_2); } @Override @@ -90,14 +89,14 @@ public class GardenWatchman extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer()) { startQuestTimer("DEBUFF", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java index 3968ed6d26..68ea79dbbe 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.network.serverpackets.OnEventTrigger; @@ -57,7 +56,7 @@ public class EntrancePortalToCrystalCaverns extends AbstractNpcAI addTalkId(CAVERNS_ENTRACE); addFirstTalkId(CAVERNS_ENTRACE); addSpawnId(CAVERNS_ENTRACE); - setCreatureSeeId(this::onCreatureSee, CAVERNS_ENTRACE); + addCreatureSeeId(CAVERNS_ENTRACE); } @Override @@ -117,15 +116,16 @@ public class EntrancePortalToCrystalCaverns extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { creature.getActingPlayer().sendPacket(new OnEventTrigger(PRISON_ENTRACE_TRIGGER_1, true)); creature.getActingPlayer().sendPacket(new OnEventTrigger(PRISON_ENTRACE_TRIGGER_2, true)); updateTriggersForPlayer(creature.getActingPlayer(), getCurrentInstanceTemplateId()); } + return super.onCreatureSee(npc, creature); } public void updateTriggersForPlayer(PlayerInstance player, int currentTemplateId) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java index 15077051f3..f91feb7358 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -116,8 +115,8 @@ public class PrimevalIsle extends AbstractNpcAI addAttackId(TREX); addAttackId(MONSTERS); addKillId(EGG, SAILREN, DEINO, ORNIT); - setCreatureSeeId(this::onCreatureSee, TREX); - setCreatureSeeId(this::onCreatureSee, MONSTERS); + addCreatureSeeId(TREX); + addCreatureSeeId(MONSTERS); } @Override @@ -243,10 +242,9 @@ public class PrimevalIsle extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (CommonUtil.contains(MONSTERS, npc.getId())) { if (creature.isPlayer()) @@ -300,6 +298,7 @@ public class PrimevalIsle extends AbstractNpcAI npc.setRunning(); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java index a98bccb9c9..03ee3fca70 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -45,7 +44,7 @@ public class AltarOfSacrifice extends AbstractNpcAI private AltarOfSacrifice() { addSpawnId(IMMERIAL, JENNAS_GUARD, GIGGLE); - setCreatureSeeId(this::onCreatureSee, JENNAS_GUARD); + addCreatureSeeId(JENNAS_GUARD); } @Override @@ -72,15 +71,15 @@ public class AltarOfSacrifice extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if ((creature != null) && creature.isPlayer() && _jenas_guard.isScriptValue(0)) { startQuestTimer("msg_text", 3000, npc, null); _jenas_guard.setScriptValue(1); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java index 4aea462d7d..75c136685c 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java @@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.network.NpcStringId; @@ -66,8 +65,8 @@ public class SilentValley extends AbstractNpcAI addEventReceivedId(GUARD1, GUARD2); addKillId(MOBS); addSpawnId(CHEST, GUARD2); - setCreatureSeeId(this::onCreatureSee, MOBS); - setCreatureSeeId(this::onCreatureSee, GUARD1, GUARD2); + addCreatureSeeId(MOBS); + addCreatureSeeId(GUARD1, GUARD2); } @Override @@ -154,10 +153,9 @@ public class SilentValley extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayable()) { final PlayerInstance player = (creature.isSummon()) ? ((Summon) creature).getOwner() : creature.getActingPlayer(); @@ -172,6 +170,7 @@ public class SilentValley extends AbstractNpcAI addAttackPlayerDesire(npc, player); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java index d1f759948c..506f8fd7a2 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java @@ -32,7 +32,6 @@ 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.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import ai.AbstractNpcAI; @@ -80,7 +79,7 @@ public class Wastelands extends AbstractNpcAI { addKillId(REGENERATED_POSLOF, SAKUM); addSpawnId(COMMANDER, GUARD, DECO_GUARD, REGENERATED_KANILOV, REGENERATED_POSLOF, SAKUM); - setCreatureSeeId(this::onCreatureSee, JOEL, SCHUAZEN, COMMANDO, COMMANDO_CAPTAIN); + addCreatureSeeId(JOEL, SCHUAZEN, COMMANDO, COMMANDO_CAPTAIN); } @Override @@ -188,14 +187,14 @@ public class Wastelands extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ATTACK)) { startQuestTimer("START_ATTACK", 250, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Baium/Baium.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Baium/Baium.java index d96187f718..0a7c815157 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Baium/Baium.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Baium/Baium.java @@ -34,7 +34,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -112,7 +111,7 @@ public class Baium extends AbstractNpcAI addAttackId(BAIUM, ARCHANGEL); addKillId(BAIUM); addSpellFinishedId(BAIUM); - setCreatureSeeId(this::onCreatureSee, BAIUM); + addCreatureSeeId(BAIUM); final StatSet info = GrandBossManager.getInstance().getStatSet(BAIUM); @@ -561,12 +560,12 @@ public class Baium extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (!zone.isInsideZone(creature) || (creature.isNpc() && (creature.getId() == BAIUM_STONE))) { - return; + return super.onCreatureSee(npc, creature); } if (creature.isPlayer() && !creature.isDead() && (_standbyPlayer == null)) @@ -574,7 +573,6 @@ public class Baium extends AbstractNpcAI _standbyPlayer = (PlayerInstance) creature; } - final Npc npc = (Npc) event.getCreature(); if (creature.isInCategory(CategoryType.CLERIC_GROUP)) { if (npc.getCurrentHp() < (npc.getMaxHp() * 0.25)) @@ -599,6 +597,8 @@ public class Baium extends AbstractNpcAI refreshAiParams(creature, npc, 10000, 1000); } manageSkills(npc); + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java index fa14563861..4937e76f83 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.BuffInfo; @@ -103,7 +102,7 @@ public class BalokWarzone extends AbstractInstance addSkillSeeId(BALOK); addKillId(BALOK, MINION); addSpellFinishedId(BALOK); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_1); + addCreatureSeeId(INVISIBLE_NPC_1); } @Override @@ -293,16 +292,16 @@ public class BalokWarzone extends AbstractInstance return super.onKill(npc, player, isPet); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); getTimers().addTimer("stage_1_start", 60000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java index 5b4e3fb6c8..bdfd45f12a 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.DoorInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -62,7 +61,7 @@ public class BaylorWarzone extends AbstractInstance addInstanceCreatedId(TEMPLATE_ID); addSpawnId(INVISIBLE_NPC_1); addSpellFinishedId(INVISIBLE_NPC_1); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_1); + addCreatureSeeId(INVISIBLE_NPC_1); setCreatureKillId(this::onBossKill, BAYLOR); } @@ -304,16 +303,16 @@ public class BaylorWarzone extends AbstractInstance } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); getTimers().addTimer("START_SCENE_01", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } /** diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java index 340dd5e151..10e422ce25 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -62,7 +61,7 @@ public class IceQueensCastle extends AbstractInstance addTalkId(JINIA); addSpawnId(FREYA); addSpellFinishedId(FREYA); - setCreatureSeeId(this::onCreatureSee, BATTALION_LEADER, LEGIONNAIRE, MERCENARY_ARCHER); + addCreatureSeeId(BATTALION_LEADER, LEGIONNAIRE, MERCENARY_ARCHER); } @Override @@ -140,10 +139,9 @@ public class IceQueensCastle extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); @@ -159,6 +157,7 @@ public class IceQueensCastle extends AbstractInstance }); startQuestTimer("ATTACK_KNIGHT", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java index 1692f91226..58f65e79c2 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.NpcStringId; @@ -78,7 +77,7 @@ public class KimerianCommon extends AbstractInstance addSpawnId(FAIRY_REBEL, NEOMI_KASHERON); addAttackId(KIMERIAN); addKillId(KIMERIAN_GHOST, KIMERIAN); - setCreatureSeeId(this::onCreatureSee, FAIRY_REBEL, NEOMI_KASHERON, INVISIBLE_NPC, KIMERIAN); + addCreatureSeeId(FAIRY_REBEL, NEOMI_KASHERON, INVISIBLE_NPC, KIMERIAN); setCreatureKillId(this::onCreatureKill, FAIRY_REBEL, NEOMI_KASHERON); } @@ -334,14 +333,12 @@ public class KimerianCommon extends AbstractInstance return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final StatSet npcParams = npc.getParameters(); final StatSet npcVars = npc.getVariables(); final Instance instance = npc.getInstanceWorld(); - if (isInInstance(instance)) { switch (npc.getId()) @@ -412,6 +409,7 @@ public class KimerianCommon extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } private void spawnHollow(Npc npc, PlayerInstance player, boolean isHollow) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java index caab21e1d3..f0200d1563 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java @@ -46,7 +46,6 @@ 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.OnCreatureDamageReceived; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -208,7 +207,7 @@ public class Lindvior extends AbstractNpcAI addSkillSeeId(NPC_GENERATOR); addFirstTalkId(NPC_GENERATOR); addSpawnId(NPC_ATTACKER_GENERATORS, NPC_ATTACKER_GENERATORS_1, LYN_DRACO_ATTACKER_GENERATORS, GENERATOR_GUARD, NPC_GENERATOR); - setCreatureSeeId(this::onCreatureSee, INVISIBLE); + addCreatureSeeId(INVISIBLE); _zoneLair = ZoneManager.getInstance().getZoneById(ZONE_ID, NoSummonFriendZone.class); // Unlock final StatSet info = GrandBossManager.getInstance().getStatSet(LINDVIOR_RAID); @@ -509,12 +508,13 @@ public class Lindvior extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); setLindviorSpawnTask(); npc.getSpawn().stopRespawn(); npc.deleteMe(); + return super.onCreatureSee(npc, creature); } private void nextStage(int taskId) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java index 4b49959ccb..610906bb55 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java @@ -22,9 +22,9 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.World; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.serverpackets.FlyToLocation; import org.l2jmobius.gameserver.network.serverpackets.ValidateLocation; @@ -44,7 +44,7 @@ public class Vortex extends AbstractNpcAI { super(); addSpawnId(SMALL_VORTEX, BIG_VORTEX); - setCreatureSeeId(this::onCreatureSee, SMALL_VORTEX, BIG_VORTEX); + addCreatureSeeId(SMALL_VORTEX, BIG_VORTEX); } @Override @@ -112,9 +112,9 @@ public class Vortex extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); switch (npc.getId()) { case SMALL_VORTEX: @@ -128,6 +128,7 @@ public class Vortex extends AbstractNpcAI break; } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java index 0f7f84f52e..d0cf7094cf 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -118,7 +117,7 @@ public class OctavisWarzone extends AbstractInstance addMoveFinishedId(GLADIATORS); addSpellFinishedId(OCTAVIS_STAGE_2); addEnterZoneId(TELEPORT_ZONE.getId()); - setCreatureSeeId(this::onCreatureSee, DOOR_MANAGER); + addCreatureSeeId(DOOR_MANAGER); addInstanceCreatedId(TEMPLATE_ID, EXTREME_TEMPLATE_ID); } @@ -562,10 +561,9 @@ public class OctavisWarzone extends AbstractInstance return super.onSpellFinished(npc, player, skill); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { @@ -574,6 +572,7 @@ public class OctavisWarzone extends AbstractInstance getTimers().addTimer("SECOND_DOOR_OPEN", 3000, npc, null); getTimers().addTimer("CLOSE_DOORS", 60000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java index 32ff487818..f876b87a40 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -101,7 +100,7 @@ public class TeredorWarzone extends AbstractInstance addEventReceivedId(EGG_2); addAttackId(TEREDOR); addKillId(EGG_2, TEREDOR); - setCreatureSeeId(this::onCreatureSee, BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR); + addCreatureSeeId(BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR); } @Override @@ -272,10 +271,9 @@ public class TeredorWarzone extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance)) { @@ -361,6 +359,7 @@ public class TeredorWarzone extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java index 5915de7581..b5ea301ac1 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java @@ -37,7 +37,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.BuffInfo; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -318,7 +317,7 @@ public class Trasken extends AbstractNpcAI addExitZoneId(ZONE_ID); addEnterZoneId(ZONE_ID_HEART); addExitZoneId(ZONE_ID_HEART); - setCreatureSeeId(this::onCreatureSee, LAVRA_1, LAVRA_2, LAVRA_3, TRADJAN, TIE, BIG_TIE); + addCreatureSeeId(LAVRA_1, LAVRA_2, LAVRA_3, TRADJAN, TIE, BIG_TIE); init(); if (DoorData.getInstance().getDoor(DOOR) != null) { @@ -539,12 +538,12 @@ public class Trasken extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); if (npc.isDead()) { - return; + return super.onCreatureSee(npc, creature); } if ((npc.getId() == LAVRA_1) || (npc.getId() == LAVRA_2) || (npc.getId() == LAVRA_3) || (npc.getId() == TRADJAN)) @@ -553,7 +552,6 @@ public class Trasken extends AbstractNpcAI } else if ((npc.getId() == TIE) || (npc.getId() == BIG_TIE)) { - final Creature creature = event.getSeen(); if (getRandom(100) < 60) { npc.setTarget(creature); @@ -567,6 +565,8 @@ public class Trasken extends AbstractNpcAI addAttackPlayerDesire(npc, (Playable) creature); } } + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java index f658ee30ac..04b0f85a5e 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MerchantInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.clan.ClanPrivilege; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.residences.ClanHall; import org.l2jmobius.gameserver.model.residences.ResidenceFunction; @@ -104,7 +103,7 @@ public class ClanHallManager extends AbstractNpcAI addStartNpc(CLANHALL_MANAGERS); addTalkId(CLANHALL_MANAGERS); addFirstTalkId(CLANHALL_MANAGERS); - setCreatureSeeId(this::onCreatureSee, CLANHALL_MANAGERS); + addCreatureSeeId(CLANHALL_MANAGERS); } @Override @@ -486,18 +485,18 @@ public class ClanHallManager extends AbstractNpcAI return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final ClanHall clanHall = npc.getClanHall(); if (clanHall != null) { creature.getActingPlayer().sendPacket(new AgitDecoInfo(clanHall)); } } + return super.onCreatureSee(npc, creature); } private void updateVisualEffects(ClanHall clanHall, Npc npc) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/others/Gordon.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/others/Gordon.java index a2d9276bf5..6d7312128b 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/others/Gordon.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/ai/others/Gordon.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import ai.AbstractNpcAI; @@ -35,17 +34,17 @@ public class Gordon extends AbstractNpcAI private Gordon() { addSpawnId(GORDON); - setCreatureSeeId(this::onCreatureSee, GORDON); + addCreatureSeeId(GORDON); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer() && ((PlayerInstance) creature).isCursedWeaponEquipped()) { - final Npc npc = (Npc) event.getCreature(); addAttackPlayerDesire(npc, (PlayerInstance) creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java index c69ca36aae..fa6dadd15b 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; @@ -67,7 +66,7 @@ public class ChamberOfProphecies extends AbstractInstance addStartNpc(KAIN_VAN_HALTER); addFirstTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD); addTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD); - setCreatureSeeId(this::onCreatureSee, FERIN, VAN_HALTER); + addCreatureSeeId(FERIN, VAN_HALTER); } @Override @@ -501,13 +500,12 @@ public class ChamberOfProphecies extends AbstractInstance return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (world != null) { - final Creature creature = event.getSeen(); switch (npc.getId()) { case FERIN: @@ -528,6 +526,7 @@ public class ChamberOfProphecies extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java index ac9290a099..2451279b0c 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -76,7 +75,7 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance addSpellFinishedId(WATER_CANNON_SKILL); addInstanceEnterId(TEMPLATE_ID); addInstanceLeaveId(TEMPLATE_ID); - setCreatureSeeId(this::onCreatureSee, WATER_CANNON); + addCreatureSeeId(WATER_CANNON); } @Override @@ -380,10 +379,9 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if ((world != null) && creature.isPlayer() && npc.isScriptValue(0)) { @@ -391,6 +389,7 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance npc.setDisplayEffect(1); getTimers().addRepeatingTimer("CANNON_LOOP_ATTACK", 1000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java index 1cd4834736..6882879232 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -79,7 +78,7 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance addInstanceCreatedId(TEMPLATE_ID); addInstanceEnterId(TEMPLATE_ID); addInstanceLeaveId(TEMPLATE_ID); - setCreatureSeeId(this::onCreatureSee, PLAYER_DETECTOR); + addCreatureSeeId(PLAYER_DETECTOR); } @Override @@ -361,10 +360,9 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance return super.onKill(npc, killer, isSummon); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance) && creature.isPlayer()) { @@ -381,6 +379,7 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance npc.deleteMe(); } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java index e6e27df357..eb1f18e412 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -98,7 +97,7 @@ public class HarnakUndergroundRuins extends AbstractInstance { super(TEMPLATE_ID); registerMobs(KRAKIA_BATHUS, KRAKIA_CARCASS, KRAKIA_LOTUS, RAKZAN, WEISS_KHAN, BAMONTI, SEKNUS, WEISS_ELE, HARNAKS_WRAITH); - setCreatureSeeId(this::onCreatureSee, POWER_SOURCES); + addCreatureSeeId(POWER_SOURCES); addEnterZoneId(ZONE_ROOM_2, ZONE_ROOM_3); addFirstTalkId(SEAL_CONTROL_DEVICE); addTalkId(HADEL); @@ -674,18 +673,18 @@ public class HarnakUndergroundRuins extends AbstractInstance return super.onAttack(npc, player, damage, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("cast_release_power", 2000, npc, creature.getActingPlayer()); if (npc.getId() == POWER_SOURCE) { startQuestTimer("whisper_to_player", 2000, npc, creature.getActingPlayer()); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java index c0b58def5b..2a98135f75 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java @@ -31,7 +31,6 @@ import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -91,9 +90,9 @@ public class KartiaHelperAdolph extends AbstractNpcAI private KartiaHelperAdolph() { addSpellFinishedId(KARTIA_ADOLPH); + addCreatureSeeId(KARTIA_ADOLPH); setCreatureKillId(this::onCreatureKill, KARTIA_ADOLPH); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_ADOLPH); - setCreatureSeeId(this::onCreatureSee, KARTIA_ADOLPH); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -288,14 +287,14 @@ public class KartiaHelperAdolph extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java index 5d6a180033..479bde56c6 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -86,9 +85,9 @@ public class KartiaHelperBarton extends AbstractNpcAI private KartiaHelperBarton() { + addCreatureSeeId(KARTIA_BARTON); setCreatureKillId(this::onCreatureKill, KARTIA_BARTON); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_BARTON); - setCreatureSeeId(this::onCreatureSee, KARTIA_BARTON); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -146,17 +145,18 @@ public class KartiaHelperBarton extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java index 6212649204..000919660b 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java @@ -33,7 +33,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -110,8 +109,8 @@ public class KartiaHelperElise extends AbstractNpcAI private KartiaHelperElise() { + addCreatureSeeId(KARTIA_ELISE); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); - setCreatureSeeId(this::onCreatureSee, KARTIA_ELISE); setCreatureKillId(this::onCreatureKill, KARTIA_ELISE); } @@ -243,12 +242,11 @@ public class KartiaHelperElise extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer() || (creature instanceof FriendlyNpcInstance)) { - final Npc npc = (Npc) event.getCreature(); final StatSet npcVars = npc.getVariables(); if (creature.isPlayer()) { @@ -271,6 +269,7 @@ public class KartiaHelperElise extends AbstractNpcAI npcVars.set("HAYUK_OBJECT", creature); } } + return super.onCreatureSee(npc, creature); } public void onCreatureKill(OnCreatureDeath event) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java index 3b59fd7514..404b7722b2 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -81,9 +80,9 @@ public class KartiaHelperEliyah extends AbstractNpcAI private KartiaHelperEliyah() { + addCreatureSeeId(KARTIA_ELIYAH); setCreatureKillId(this::onCreatureKill, KARTIA_ELIYAH); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_ELIYAH); - setCreatureSeeId(this::onCreatureSee, KARTIA_ELIYAH); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -137,17 +136,18 @@ public class KartiaHelperEliyah extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void onCreatureAttacked(OnCreatureAttacked event) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java index 865762b4d4..230656b816 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java @@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -90,9 +89,9 @@ public class KartiaHelperGuardian extends AbstractNpcAI private KartiaHelperGuardian() { + addCreatureSeeId(KARTIA_GUARDIANS); setCreatureKillId(this::onCreatureKill, KARTIA_GUARDIANS); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_GUARDIANS); - setCreatureSeeId(this::onCreatureSee, KARTIA_GUARDIANS); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -155,21 +154,22 @@ public class KartiaHelperGuardian extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } else if (CommonUtil.contains(KARTIA_ELIYAH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ELIYAH_OBJECT", creature); + npc.getVariables().set("ELIYAH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java index 2892d96e3e..ba13eb1888 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -87,9 +86,9 @@ public class KartiaHelperHayuk extends AbstractNpcAI private KartiaHelperHayuk() { + addCreatureSeeId(KARTIA_HAYUK); setCreatureKillId(this::onCreatureKill, KARTIA_HAYUK); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_HAYUK); - setCreatureSeeId(this::onCreatureSee, KARTIA_HAYUK); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -152,17 +151,18 @@ public class KartiaHelperHayuk extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java index 33ba6a3bbb..0cf9e476d3 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java @@ -31,7 +31,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -186,13 +185,13 @@ public class KartiasLabyrinth extends AbstractInstance addMoveFinishedId(MINI_BOSSES); addMoveFinishedId(PRISONERS); addRouteFinishedId(MONSTERS); - setCreatureKillId(this::onCreatureKill, MONSTERS); - setCreatureKillId(this::onBossKill, BOSSES); - setCreatureSeeId(this::onCreatureSee, MONSTERS); + addCreatureSeeId(MONSTERS); addEnterZoneId(KARTIA_85_DETECT_1, KARTIA_85_DETECT_2); addEnterZoneId(KARTIA_90_DETECT_1, KARTIA_90_DETECT_2); addEnterZoneId(KARTIA_95_DETECT_1, KARTIA_95_DETECT_2); addInstanceCreatedId(TEMPLATE_ID_SOLO_85, TEMPLATE_ID_SOLO_90, TEMPLATE_ID_SOLO_95, TEMPLATE_ID_GROUP_85, TEMPLATE_ID_GROUP_90, TEMPLATE_ID_GROUP_95); + setCreatureKillId(this::onCreatureKill, MONSTERS); + setCreatureKillId(this::onBossKill, BOSSES); } @Override @@ -873,10 +872,9 @@ public class KartiasLabyrinth extends AbstractInstance } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if ((world != null) && (creature.isPlayer() || creature.getInstanceType().isType(InstanceType.FriendlyNpcInstance)) && npc.isScriptValue(1)) { @@ -892,6 +890,7 @@ public class KartiasLabyrinth extends AbstractInstance addAttackDesire(npc, creature); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java index 52fde99b20..014e294ffe 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java @@ -40,7 +40,6 @@ 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.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerCallToChangeClass; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLogin; @@ -201,10 +200,10 @@ public class MemoryOfDisaster extends AbstractInstance addMoveFinishedId(ROGIN, SOLDIER, WIRPHY, SILVERA); addMoveFinishedId(DWARVES); addSpellFinishedId(SIEGE_GOLEM, INVISIBLE_NPC, TEREDOR_TRANSPARENT, EARTH_WYRM_TRASKEN, SWOOP_CANNON); + addCreatureSeeId(TENTACLE, SOLDIER, SOLDIER2, TEREDOR, INVISIBLE_NPC, CONTROL_DARKELF_AWAKE); + addEventReceivedId(SACRIFICED_DARK_ELF); setCreatureKillId(this::onCreatureKill, BRONK, SILVERA); setCreatureAttackedId(this::onCreatureAttacked, BRONK, TENTACLE, SOLDIER, SOLDIER2, TEREDOR, SIEGE_GOLEM, WIRPHY, SILVERA); - setCreatureSeeId(this::onCreatureSee, TENTACLE, SOLDIER, SOLDIER2, TEREDOR, INVISIBLE_NPC, CONTROL_DARKELF_AWAKE); - addEventReceivedId(SACRIFICED_DARK_ELF); } @Override @@ -343,10 +342,9 @@ public class MemoryOfDisaster extends AbstractInstance return super.onSpawn(npc); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world)) { @@ -423,6 +421,7 @@ public class MemoryOfDisaster extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java index 9cb99c665f..855babef3b 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -90,7 +89,7 @@ public class NornilsGarden extends AbstractInstance addKillId(ATTACABLE_MONSTERS); addKillId(SPICULA_ZERO); addKillId(BOZ_STAGE1, BOZ_STAGE2, BOZ_STAGE3, BOZ_STAGE4); - setCreatureSeeId(this::onCreatureSee, BOZ_STAGE1); + addCreatureSeeId(BOZ_STAGE1); } @Override @@ -283,12 +282,11 @@ public class NornilsGarden extends AbstractInstance return "33781.html"; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayable()) { - final Npc npc = (Npc) event.getCreature(); if (npc.isScriptValue(0)) { startQuestTimer("stage1", 3000, npc, null); @@ -296,6 +294,7 @@ public class NornilsGarden extends AbstractInstance npc.setScriptValue(1); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java index 78e794dd45..2161022d2f 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java @@ -29,7 +29,6 @@ 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.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.npc.OnAttackableFactionCall; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -133,8 +132,8 @@ public class PailakaInjuredDragon extends AbstractInstance addAttackId(LATANA); addSpawnId(TELEPORT_TRAP, DRAGON_TARGET, LATANA_SKILL_USE, DRAGON_CAMERA_2); addSpawnId(WIZARDS); - setCreatureSeeId(this::onCreatureSee, WIZARDS); - setCreatureSeeId(this::onCreatureSee, LATANA); + addCreatureSeeId(WIZARDS); + addCreatureSeeId(LATANA); addKillId(ANIMALS); addKillId(LATANA); } @@ -475,10 +474,9 @@ public class PailakaInjuredDragon extends AbstractInstance return super.onSpawn(npc); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world)) { @@ -510,6 +508,7 @@ public class PailakaInjuredDragon extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java index d6edf4ddef..012e3f391e 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; import org.l2jmobius.gameserver.network.NpcStringId; @@ -60,7 +59,7 @@ public class PailakaSongOfIceAndFire extends AbstractInstance addExitZoneId(ZONE); addSpawnId(BLOOM); addKillId(BLOOM); - setCreatureSeeId(this::onCreatureSee, GARGOS); + addCreatureSeeId(GARGOS); } @Override @@ -169,18 +168,15 @@ public class PailakaSongOfIceAndFire extends AbstractInstance return super.onExitZone(creature, zone); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - npc.setScriptValue(1); - startQuestTimer("GARGOS_LAUGH", 1000, npc, creature.getActingPlayer()); - } + npc.setScriptValue(1); + startQuestTimer("GARGOS_LAUGH", 1000, npc, creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java index 1f2f3fb59a..03f45281cd 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -116,7 +115,7 @@ public class PrisonOfDarkness extends AbstractInstance addTalkId(SPEZION_HEADSTONE, WARP_POINT, TIME_BOMB_1, STARLIGHT_LATTICE, JOSEPHINA); addSpawnId(WARP_POINT, ESCORT_WARRIOR); addSpellFinishedId(MONSTERS); - setCreatureSeeId(this::onCreatureSee, EXIT_PORTAL); + addCreatureSeeId(EXIT_PORTAL); addKillId(SPEZIONS_PAWN); addFirstTalkId(JOSEPHINA); } @@ -343,31 +342,36 @@ public class PrisonOfDarkness extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance) && (npc.getId() == EXIT_PORTAL)) { final StatSet npcVars = npc.getVariables(); - switch (npcVars.getInt("PORTAL_STATE", 0)) { case 0: + { takeItems(creature.getActingPlayer(), GIANT_CANNONBALL, -1); creature.teleToLocation(getRandomEntry(PLAYERS_RANDOM_LOCS)); showOnScreenMsg(creature.getActingPlayer(), NpcStringId.YOU_NEED_TO_FIND_ESCAPE_DEVICE_RE_ENTRY_IS_NOT_ALLOWED_ONCE_YOU_VE_LEFT_THE_INSTANT_ZONE, ExShowScreenMessage.TOP_CENTER, 4000); instance.getParameters().increaseInt("PLAYERS_COUNT", 0, 1); break; + } case 1: + { creature.teleToLocation(ORBIS_LOCATION); break; + } case 2: + { creature.teleToLocation(SPEZION_LAIR); break; + } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java index 28208a3ce2..66a7865113 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -57,7 +56,7 @@ public class TalkingIslandPast extends AbstractInstance addTalkId(DARIN, ROXXY, MYSTERIOUS_DARK_KNIGHT); addFirstTalkId(DARIN, ROXXY, MYSTERIOUS_DARK_KNIGHT); addExitZoneId(TALKING_ISLAND_ZONE); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_TI_NPC); + addCreatureSeeId(INVISIBLE_TI_NPC); } @Override @@ -104,10 +103,9 @@ public class TalkingIslandPast extends AbstractInstance return super.onExitZone(creature, zone); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); if (creature.isPlayer()) { final Instance instance = creature.getInstanceWorld(); @@ -124,6 +122,7 @@ public class TalkingIslandPast extends AbstractInstance getTimers().addTimer("MSG", null, 5000, npc, player, n -> showOnScreenMsg(n.getPlayer(), NpcStringId.TALK_TO_THE_MYSTERIOUS_DARK_KNIGHT, ExShowScreenMessage.TOP_CENTER, 5000)); } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java index b501d07227..f6784b0d1a 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.itemcontainer.Inventory; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -60,7 +59,7 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest addStartNpc(YUMI); addTalkId(YUMI, WENDY, BOX, STONES, NEWYEAR); addKillId(GUARDIAN); - setCreatureSeeId(this::onCreatureSee, STONES); + addCreatureSeeId(STONES); registerQuestItems(STARSTONE, STARSTONE2, DETCTOR, DETCTOR2, LETTER); } @@ -405,9 +404,9 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest return super.onKill(npc, player, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final QuestState qs = getQuestState(creature.getActingPlayer(), false); @@ -419,6 +418,7 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest showOnScreenMsg(creature.getActingPlayer(), NpcStringId.THE_RADIO_SIGNAL_DETECTOR_IS_RESPONDING_A_SUSPICIOUS_PILE_OF_STONES_CATCHES_YOUR_EYE, 2, 4500); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java index 0f9ff6f98c..5ae6b98102 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java @@ -31,7 +31,6 @@ 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.OnCreatureSee; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -59,7 +58,7 @@ public class Q00454_CompletelyLost extends Quest addStartNpc(INJURED_SOLDIER); addTalkId(INJURED_SOLDIER, ERMIAN); addMoveFinishedId(INJURED_SOLDIER); - setCreatureSeeId(this::onCreatureSee, INJURED_SOLDIER); + addCreatureSeeId(INJURED_SOLDIER); addEventReceivedId(INJURED_SOLDIER); } @@ -398,17 +397,14 @@ public class Q00454_CompletelyLost extends Quest } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - addAttackPlayerDesire(npc, creature.getActingPlayer(), 10); - } + addAttackPlayerDesire(npc, creature.getActingPlayer(), 10); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java index 8c7fa89dce..a8df36d591 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -118,8 +117,8 @@ public class Q10369_NoblesseSoulTesting extends Quest addFirstTalkId(FLAME_FLOWER, HELPING_TREE_SUMMON_DEVICE, HELPING_TREE); addCondMinLevel(MIN_LEVEL, "31281-13.htm"); addCondIsSubClassActive(""); + addCreatureSeeId(INVISIBLE_NPC_NOBLE); registerQuestItems(SUMMONING_STONE, NOVELLA_PROPHECY, EMPTY_HOT_SPRINGS_WATER_BOTTLE, HOT_SPRINGS_WATER_BOTTLE, DURABLE_LEATHER, TROWEL, FIRE_ENERGY, HARD_FOSSIL_CONTAINING_WATER_ENERGY, HELPING_SEED, ASHES_OF_REMNANTS, SOE_HOT_SPRINGS, SOE_ADEN_CASTLE, SOE_RUNE_CASTLE, SOE_ISLE_OF_PRAYER, SOE_FORGE_OF_GODS, SOE_SECRET_ROOM); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_NOBLE); } @Override @@ -498,9 +497,9 @@ public class Q10369_NoblesseSoulTesting extends Quest return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -527,6 +526,7 @@ public class Q10369_NoblesseSoulTesting extends Quest } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java index 57f6df389b..cc45b0216b 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.events.EventType; import org.l2jmobius.gameserver.model.events.ListenerRegisterType; import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent; import org.l2jmobius.gameserver.model.events.annotations.RegisterType; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerSocialAction; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -116,7 +115,7 @@ public class Q10385_RedThreadOfFate extends Quest addKillId(SHILEN_MESSENGER); addCondMinLevel(MIN_LEVEL, "33491-08.html"); addCondNotRace(Race.ERTHEIA, "33491-09.html"); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_ANGHEL_WATERFALL_NPC); + addCreatureSeeId(INVISIBLE_ANGHEL_WATERFALL_NPC); registerQuestItems(MYSTERIOUS_LETTER, HEINE_FROM_THE_GARDEN_OF_EVA, CLEAREST_WATER, BRIGHTEST_LIGHT, PUREST_SOUL, FIERCEST_FLAME, FONDEST_HEART, VULCUN_TRUE_GOLD, VULCUN_PURE_SILVER, VULCUN_BLOOD_FIRE, SCROLL_OF_ESCAPE_VALLEY_OF_SAINTS, SCROLL_OF_ESCAPE_FORGE_OF_THE_GODS, SCROLL_OF_ESCAPE_IVORY_TOWER, SCROLL_OF_ESCAPE_DWARVEN_VILLAGE); } @@ -690,12 +689,11 @@ public class Q10385_RedThreadOfFate extends Quest return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final PlayerInstance player = creature.getActingPlayer(); final QuestState qs = getQuestState(player, false); if ((npc.getId() == INVISIBLE_ANGHEL_WATERFALL_NPC) && (qs != null) && qs.isCond(7)) @@ -703,6 +701,7 @@ public class Q10385_RedThreadOfFate extends Quest showOnScreenMsg(player, NpcStringId.YOU_HAVE_REACHED_ANGHEL_WATERFALL_GO_INSIDE_THE_CAVE, ExShowScreenMessage.TOP_CENTER, 5000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java index 2f7cff7350..34d7b9bd67 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java @@ -19,7 +19,6 @@ package quests.Q10390_KekropusLetter; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -63,9 +62,9 @@ public class Q10390_KekropusLetter extends Quest super(10390); addStartNpc(RAYMOND, RAINS, TOBIAS, DRIKUS, MENDIO, GERSHWIN, ESRANDELL, ELLENIA); addTalkId(RAYMOND, RAINS, TOBIAS, DRIKUS, MENDIO, GERSHWIN, ESRANDELL, ELLENIA, BATHIS, GOSTA, ELI); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); - registerQuestItems(KEKROPUS_LETTER, HAINE_SOE, ALLIGATOR_ISLAND_SOE); + addCreatureSeeId(INVISIBLE_NPC); addCondCompletedQuest(Q10360_CertificationOfFate.class.getSimpleName(), ""); + registerQuestItems(KEKROPUS_LETTER, HAINE_SOE, ALLIGATOR_ISLAND_SOE); } @Override @@ -297,9 +296,9 @@ public class Q10390_KekropusLetter extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -309,6 +308,7 @@ public class Q10390_KekropusLetter extends Quest showOnScreenMsg(player, NpcStringId.ALLIGATOR_ISLAND_IS_A_GOOD_HUNTING_ZONE_FOR_LV_40_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } private boolean isRightMaster(Npc npc, PlayerInstance player) diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java index 272ccab7e2..a3c8825ff4 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,7 +50,7 @@ public class Q10393_KekropusLetterAClueCompleted extends LetterQuest { super(10393); addTalkId(FLUTER, KELIOS); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_2"); @@ -127,9 +126,9 @@ public class Q10393_KekropusLetterAClueCompleted extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -139,5 +138,6 @@ public class Q10393_KekropusLetterAClueCompleted extends LetterQuest showOnScreenMsg(player, NpcStringId.OUTLAW_FOREST_IS_A_GOOD_HUNTING_ZONE_FOR_LV_46_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10397_KekropusLetterASuspiciousBadge/Q10397_KekropusLetterASuspiciousBadge.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10397_KekropusLetterASuspiciousBadge/Q10397_KekropusLetterASuspiciousBadge.java index 053cfc3ad8..b790a62798 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10397_KekropusLetterASuspiciousBadge/Q10397_KekropusLetterASuspiciousBadge.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10397_KekropusLetterASuspiciousBadge/Q10397_KekropusLetterASuspiciousBadge.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10397_KekropusLetterASuspiciousBadge extends LetterQuest { super(10397); addTalkId(MOUEN, ANDY); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_3"); setStartLocation(SOE_TOWN_OF_OREN, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_OREN, SOE_SEA_OF_SPORES); } @@ -130,9 +129,9 @@ public class Q10397_KekropusLetterASuspiciousBadge extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -142,5 +141,6 @@ public class Q10397_KekropusLetterASuspiciousBadge extends LetterQuest showOnScreenMsg(player, NpcStringId.SEA_OF_SPORES_IS_A_GOOD_HUNTING_ZONE_FOR_LV_52_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java index 59abb443bc..d5023651ec 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10401_KekropusLetterDecodingTheBadge extends LetterQuest { super(10401); addTalkId(PATERSON, EBLUNE); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_4"); setStartLocation(SOE_TOWN_OF_ADEN, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_ADEN, SOE_FORSAKEN_PLAINS); } @@ -130,9 +129,9 @@ public class Q10401_KekropusLetterDecodingTheBadge extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -142,5 +141,6 @@ public class Q10401_KekropusLetterDecodingTheBadge extends LetterQuest showOnScreenMsg(player, NpcStringId.FORSAKEN_PLAINS_IA_A_GOOD_HUNTING_ZONE_FOR_LV_58_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java index 5f219edeb6..15cb21e47d 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10404_KekropusLetterAHiddenMeaning extends LetterQuest { super(10404); addTalkId(PATERSON, SHUVANN); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartLocation(SOE_TOWN_OF_ADEN, TELEPORT_LOC); setStartQuestSound("Npcdialog1.kekrops_quest_5"); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_ADEN, SOE_FIELDS_OF_MASSACRE); } @@ -130,9 +129,9 @@ public class Q10404_KekropusLetterAHiddenMeaning extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -142,5 +141,6 @@ public class Q10404_KekropusLetterAHiddenMeaning extends LetterQuest showOnScreenMsg(player, NpcStringId.FIELDS_OF_MASSACRE_IS_A_GOOD_HUNTING_ZONE_FOR_LV_61_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java index 064f50a659..a333231958 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10408_KekropusLetterTheSwampOfScreams extends LetterQuest { super(10408); addTalkId(MATHIAS, DOKARA); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_6"); setStartLocation(SOE_TOWN_OF_RUNE, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_RUNE, SOE_SWAMP_OF_SCREAMS); } @@ -131,9 +130,9 @@ public class Q10408_KekropusLetterTheSwampOfScreams extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -143,6 +142,7 @@ public class Q10408_KekropusLetterTheSwampOfScreams extends LetterQuest showOnScreenMsg(player, NpcStringId.SWAMP_OF_SCREAMS_IA_A_GOOD_HUNTING_ZONE_FOR_LV_65_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java index a3f1414b19..b1fdf55ce0 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10411_KekropusLetterTheForestOfTheDead extends LetterQuest { super(10411); addTalkId(MATHIAS, HATUBA); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_7"); setStartLocation(SOE_TOWN_OF_RUNE, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_RUNE, SOE_FOREST_OF_THE_DEAD); } @@ -131,9 +130,9 @@ public class Q10411_KekropusLetterTheForestOfTheDead extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -143,6 +142,7 @@ public class Q10411_KekropusLetterTheForestOfTheDead extends LetterQuest showOnScreenMsg(player, NpcStringId.FOREST_OF_THE_DEAD_IS_A_GOOD_HUNTING_ZONE_FOR_LV_65_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java index 3316b01286..36611da116 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10414_KekropusLetterWithCourage extends LetterQuest { super(10414); addTalkId(ANDREI, JANITT); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_8"); setStartLocation(SOE_TOWN_OF_GODDARD, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GODDARD, SOE_WALL_OF_ARGOS); } @@ -131,9 +130,9 @@ public class Q10414_KekropusLetterWithCourage extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -143,6 +142,7 @@ public class Q10414_KekropusLetterWithCourage extends LetterQuest showOnScreenMsg(player, NpcStringId.WALL_OF_ARGOS_IS_A_GOOD_HUNTING_ZONE_FOR_LV_70_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java index 583e5edec2..b3f4cf26a3 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -52,7 +51,7 @@ public class Q10415_KekropusLetterWithWisdom extends LetterQuest { super(10415); addTalkId(ANDREI, JANITT); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_8"); @@ -127,9 +126,9 @@ public class Q10415_KekropusLetterWithWisdom extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -139,6 +138,7 @@ public class Q10415_KekropusLetterWithWisdom extends LetterQuest showOnScreenMsg(player, NpcStringId.WALL_OF_ARGOS_IS_A_GOOD_HUNTING_ZONE_FOR_LV_70_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java index c019218f90..0505d281c9 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10419_KekropusLetterKampfsWhereabouts extends LetterQuest { super(10419); addTalkId(ANDREI, HANSEN); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_9"); setStartLocation(SOE_TOWN_OF_GODDARD, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GODDARD, SOE_VARKA_SILENOS_BARRACKS); } @@ -131,9 +130,9 @@ public class Q10419_KekropusLetterKampfsWhereabouts extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -143,6 +142,7 @@ public class Q10419_KekropusLetterKampfsWhereabouts extends LetterQuest showOnScreenMsg(player, NpcStringId.VARKA_SILENOS_BARRACKS_IS_A_GOOD_HUNTING_ZONE_FOR_LV_76_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java index dd439331a5..6ded520e5f 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10424_KekropusLetterBelosWhereabouts extends LetterQuest { super(10424); addTalkId(ANDREI, LUGONNES); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_10"); setStartLocation(SOE_TOWN_OF_GODDARD, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GODDARD, SOE_KETRA_ORC_OUTPOST); } @@ -131,9 +130,9 @@ public class Q10424_KekropusLetterBelosWhereabouts extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -143,6 +142,7 @@ public class Q10424_KekropusLetterBelosWhereabouts extends LetterQuest showOnScreenMsg(player, NpcStringId.KETRA_ORC_OUTPOST_IS_A_GOOD_HUNTING_ZONE_FOR_LV_76_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10430_KekropusLetterTrackingTheEvil/Q10430_KekropusLetterTrackingTheEvil.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10430_KekropusLetterTrackingTheEvil/Q10430_KekropusLetterTrackingTheEvil.java index 017d300375..3434cf647d 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10430_KekropusLetterTrackingTheEvil/Q10430_KekropusLetterTrackingTheEvil.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10430_KekropusLetterTrackingTheEvil/Q10430_KekropusLetterTrackingTheEvil.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -53,13 +52,13 @@ public class Q10430_KekropusLetterTrackingTheEvil extends LetterQuest { super(10430); addTalkId(VISHOTSKY, JOKEL); + addCreatureSeeId(INVISIBLE_NPC); + addCondInCategory(CategoryType.MAGE_GROUP, "nocond.html"); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_9"); setStartLocation(SOE_TOWN_OF_SCHUTTGART, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_SCHUTTGART, SOE_DEN_OF_EVIL); - addCondInCategory(CategoryType.MAGE_GROUP, "nocond.html"); } @Override @@ -134,9 +133,9 @@ public class Q10430_KekropusLetterTrackingTheEvil extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -146,6 +145,7 @@ public class Q10430_KekropusLetterTrackingTheEvil extends LetterQuest showOnScreenMsg(player, NpcStringId.DEN_OF_EVIL_IS_A_GOOD_HUNTING_ZONE_FOR_LV_81_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10433_KekropusLetterRegardingASeal/Q10433_KekropusLetterRegardingASeal.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10433_KekropusLetterRegardingASeal/Q10433_KekropusLetterRegardingASeal.java index c8d00faa77..77ce23ed7f 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10433_KekropusLetterRegardingASeal/Q10433_KekropusLetterRegardingASeal.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10433_KekropusLetterRegardingASeal/Q10433_KekropusLetterRegardingASeal.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -52,13 +51,13 @@ public class Q10433_KekropusLetterRegardingASeal extends LetterQuest { super(10433); addTalkId(MOUEN, RUA); + addCreatureSeeId(INVISIBLE_NPC); + addCondInCategory(CategoryType.WEAPON_MASTER, "nocond.html"); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_9"); setStartLocation(SOE_TOWN_OF_OREN, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_OREN); - addCondInCategory(CategoryType.WEAPON_MASTER, "nocond.html"); } @Override @@ -132,9 +131,9 @@ public class Q10433_KekropusLetterRegardingASeal extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -144,6 +143,7 @@ public class Q10433_KekropusLetterRegardingASeal extends LetterQuest showOnScreenMsg(player, NpcStringId.SEL_MAHUM_TRAINING_GROUNDS_IS_A_GOOD_HUNTING_ZONE_FOR_LV_81_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10436_KekropusLetterTheSealOfPunishment/Q10436_KekropusLetterTheSealOfPunishment.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10436_KekropusLetterTheSealOfPunishment/Q10436_KekropusLetterTheSealOfPunishment.java index 379941c308..5087b54bb0 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10436_KekropusLetterTheSealOfPunishment/Q10436_KekropusLetterTheSealOfPunishment.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10436_KekropusLetterTheSealOfPunishment/Q10436_KekropusLetterTheSealOfPunishment.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -52,13 +51,13 @@ public class Q10436_KekropusLetterTheSealOfPunishment extends LetterQuest { super(10436); addTalkId(MOUEN, LAKI); + addCreatureSeeId(INVISIBLE_NPC); + addCondInCategory(CategoryType.BOW_MASTER, "nocond.html"); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_9"); setStartLocation(SOE_TOWN_OF_OREN, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_OREN); - addCondInCategory(CategoryType.BOW_MASTER, "nocond.html"); } @Override @@ -132,9 +131,9 @@ public class Q10436_KekropusLetterTheSealOfPunishment extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -144,6 +143,7 @@ public class Q10436_KekropusLetterTheSealOfPunishment extends LetterQuest showOnScreenMsg(player, NpcStringId.PLAINS_OF_THE_LIZARDMEN_IS_A_GOOD_HUNTING_ZONE_FOR_LV_81_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10439_KekropusLetterTheOriginsOfARumor/Q10439_KekropusLetterTheOriginsOfARumor.java b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10439_KekropusLetterTheOriginsOfARumor/Q10439_KekropusLetterTheOriginsOfARumor.java index 02644fd351..6f160ed18d 100644 --- a/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10439_KekropusLetterTheOriginsOfARumor/Q10439_KekropusLetterTheOriginsOfARumor.java +++ b/L2J_Mobius_1.0_Ertheia/dist/game/data/scripts/quests/Q10439_KekropusLetterTheOriginsOfARumor/Q10439_KekropusLetterTheOriginsOfARumor.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -55,13 +54,13 @@ public class Q10439_KekropusLetterTheOriginsOfARumor extends LetterQuest { super(10439); addTalkId(GOSTA, HELVETICA, ATHENIA); + addCreatureSeeId(INVISIBLE_NPC); + addCondInCategory(CategoryType.MAGE_CLOACK, "nocond.html"); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_9"); setStartLocation(SOE_HEINE, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_HEINE, SOE_FIELD_OF_SILENCE, SOE_FIELD_OF_WISPERS); - addCondInCategory(CategoryType.MAGE_CLOACK, "nocond.html"); } @Override @@ -167,9 +166,9 @@ public class Q10439_KekropusLetterTheOriginsOfARumor extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -186,6 +185,7 @@ public class Q10439_KekropusLetterTheOriginsOfARumor extends LetterQuest } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/quest/Quest.java b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/quest/Quest.java index c6660595dc..6722cecc98 100644 --- a/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/quest/Quest.java +++ b/L2J_Mobius_1.0_Ertheia/java/org/l2jmobius/gameserver/model/quest/Quest.java @@ -815,6 +815,36 @@ public class Quest extends AbstractScript implements IIdentifiable showResult(player, res); } + /** + * @param npc the NPC that sees the creature + * @param creature the creature seen by the NPC + */ + public void notifyCreatureSee(Npc npc, Creature creature) + { + PlayerInstance player = null; + if (creature.isPlayer()) + { + player = creature.getActingPlayer(); + } + String res = null; + try + { + res = onCreatureSee(npc, creature); + } + catch (Exception e) + { + if (player != null) + { + showError(player, e); + } + return; + } + if (player != null) + { + showResult(player, res); + } + } + /** * @param eventName - name of event * @param sender - NPC, who sent event @@ -1279,6 +1309,17 @@ public class Quest extends AbstractScript implements IIdentifiable return null; } + /** + * This function is called whenever an NPC "sees" a creature. + * @param npc the NPC who sees the creature + * @param creature the creature seen by the NPC + * @return + */ + public String onCreatureSee(Npc npc, Creature creature) + { + return null; + } + /** * This function is called whenever a player enters the game. * @param player this parameter contains a reference to the exact instance of the player who is entering to the world. @@ -2056,6 +2097,22 @@ public class Quest extends AbstractScript implements IIdentifiable setAttackableAggroRangeEnterId(event -> notifyAggroRangeEnter(event.getNpc(), event.getActiveChar(), event.isSummon()), npcIds); } + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(int... npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(Collection npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + /** * Register onEnterZone trigger for zone * @param zoneId the ID of the zone to register diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java index de6a1dbf59..4853919e38 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class MercenaryCaptain extends AbstractNpcAI private MercenaryCaptain() { - setCreatureSeeId(this::onCreatureSee, MERCENARY_CAPTAIN); + addCreatureSeeId(MERCENARY_CAPTAIN); } @Override @@ -50,14 +49,14 @@ public class MercenaryCaptain extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/DragonValley/Namo.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/DragonValley/Namo.java index ba5afc9fca..6eabcccae7 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/DragonValley/Namo.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/DragonValley/Namo.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class Namo extends AbstractNpcAI private Namo() { - setCreatureSeeId(this::onCreatureSee, NAMO); + addCreatureSeeId(NAMO); } @Override @@ -50,14 +49,14 @@ public class Namo extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java index 9e1a9eed0c..2be4ef7954 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class Rakun extends AbstractNpcAI private Rakun() { - setCreatureSeeId(this::onCreatureSee, RAKUN); + addCreatureSeeId(RAKUN); } @Override @@ -50,14 +49,14 @@ public class Rakun extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java index 8b976bfedb..409b886c34 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java @@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import ai.AbstractNpcAI; @@ -46,7 +45,7 @@ public class Wisp extends AbstractNpcAI private Wisp() { addSpawnId(WISP); - setCreatureSeeId(this::onCreatureSee, WISP, LARGE_WISP); + addCreatureSeeId(WISP, LARGE_WISP); } @Override @@ -70,26 +69,24 @@ public class Wisp extends AbstractNpcAI { final Spawn spawn = npc.getSpawn(); spawn.stopRespawn(); - if ((npc.getId() == WISP) && (getRandom(100) < 10)) { addSpawn(LARGE_WISP, npc); npc.deleteMe(); } - return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); if (creature.isPlayer() || creature.isFakePlayer()) { npc.setTarget(creature); npc.doCast(npc.getId() == WISP ? WISP_HEAL.getSkill() : LARGE_WISP_HEAL.getSkill()); getTimers().addTimer("DELETE_NPC", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java index fb6ab8e213..bdcd4312f0 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import ai.AbstractNpcAI; @@ -80,7 +79,7 @@ public class Rooney extends AbstractNpcAI private Rooney() { - setCreatureSeeId(this::onCreatureSee, ROONEY); + addCreatureSeeId(ROONEY); addSpawn(ROONEY, getRandomEntry(LOCATIONS), false, 0); } @@ -125,19 +124,16 @@ public class Rooney extends AbstractNpcAI return null; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); - startQuestTimer("teleport", 60000, npc, null); - npc.setScriptValue(1); - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); + startQuestTimer("teleport", 60000, npc, null); + npc.setScriptValue(1); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java index aad5e6f05b..5becdce40e 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import ai.AbstractNpcAI; @@ -45,7 +44,7 @@ public class GardenWatchman extends AbstractNpcAI public GardenWatchman() { addSpawnId(GARDEN_WATCHMAN); - setCreatureSeeId(this::onCreatureSee, GENESIS_TRAP_1, GENESIS_TRAP_2); + addCreatureSeeId(GENESIS_TRAP_1, GENESIS_TRAP_2); } @Override @@ -90,14 +89,14 @@ public class GardenWatchman extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer()) { startQuestTimer("DEBUFF", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java index 3968ed6d26..68ea79dbbe 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.network.serverpackets.OnEventTrigger; @@ -57,7 +56,7 @@ public class EntrancePortalToCrystalCaverns extends AbstractNpcAI addTalkId(CAVERNS_ENTRACE); addFirstTalkId(CAVERNS_ENTRACE); addSpawnId(CAVERNS_ENTRACE); - setCreatureSeeId(this::onCreatureSee, CAVERNS_ENTRACE); + addCreatureSeeId(CAVERNS_ENTRACE); } @Override @@ -117,15 +116,16 @@ public class EntrancePortalToCrystalCaverns extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { creature.getActingPlayer().sendPacket(new OnEventTrigger(PRISON_ENTRACE_TRIGGER_1, true)); creature.getActingPlayer().sendPacket(new OnEventTrigger(PRISON_ENTRACE_TRIGGER_2, true)); updateTriggersForPlayer(creature.getActingPlayer(), getCurrentInstanceTemplateId()); } + return super.onCreatureSee(npc, creature); } public void updateTriggersForPlayer(PlayerInstance player, int currentTemplateId) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java index 15077051f3..f91feb7358 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -116,8 +115,8 @@ public class PrimevalIsle extends AbstractNpcAI addAttackId(TREX); addAttackId(MONSTERS); addKillId(EGG, SAILREN, DEINO, ORNIT); - setCreatureSeeId(this::onCreatureSee, TREX); - setCreatureSeeId(this::onCreatureSee, MONSTERS); + addCreatureSeeId(TREX); + addCreatureSeeId(MONSTERS); } @Override @@ -243,10 +242,9 @@ public class PrimevalIsle extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (CommonUtil.contains(MONSTERS, npc.getId())) { if (creature.isPlayer()) @@ -300,6 +298,7 @@ public class PrimevalIsle extends AbstractNpcAI npc.setRunning(); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java index a98bccb9c9..03ee3fca70 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -45,7 +44,7 @@ public class AltarOfSacrifice extends AbstractNpcAI private AltarOfSacrifice() { addSpawnId(IMMERIAL, JENNAS_GUARD, GIGGLE); - setCreatureSeeId(this::onCreatureSee, JENNAS_GUARD); + addCreatureSeeId(JENNAS_GUARD); } @Override @@ -72,15 +71,15 @@ public class AltarOfSacrifice extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if ((creature != null) && creature.isPlayer() && _jenas_guard.isScriptValue(0)) { startQuestTimer("msg_text", 3000, npc, null); _jenas_guard.setScriptValue(1); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java index 4aea462d7d..75c136685c 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java @@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.network.NpcStringId; @@ -66,8 +65,8 @@ public class SilentValley extends AbstractNpcAI addEventReceivedId(GUARD1, GUARD2); addKillId(MOBS); addSpawnId(CHEST, GUARD2); - setCreatureSeeId(this::onCreatureSee, MOBS); - setCreatureSeeId(this::onCreatureSee, GUARD1, GUARD2); + addCreatureSeeId(MOBS); + addCreatureSeeId(GUARD1, GUARD2); } @Override @@ -154,10 +153,9 @@ public class SilentValley extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayable()) { final PlayerInstance player = (creature.isSummon()) ? ((Summon) creature).getOwner() : creature.getActingPlayer(); @@ -172,6 +170,7 @@ public class SilentValley extends AbstractNpcAI addAttackPlayerDesire(npc, player); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java index d1f759948c..506f8fd7a2 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java @@ -32,7 +32,6 @@ 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.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import ai.AbstractNpcAI; @@ -80,7 +79,7 @@ public class Wastelands extends AbstractNpcAI { addKillId(REGENERATED_POSLOF, SAKUM); addSpawnId(COMMANDER, GUARD, DECO_GUARD, REGENERATED_KANILOV, REGENERATED_POSLOF, SAKUM); - setCreatureSeeId(this::onCreatureSee, JOEL, SCHUAZEN, COMMANDO, COMMANDO_CAPTAIN); + addCreatureSeeId(JOEL, SCHUAZEN, COMMANDO, COMMANDO_CAPTAIN); } @Override @@ -188,14 +187,14 @@ public class Wastelands extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ATTACK)) { startQuestTimer("START_ATTACK", 250, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Baium/Baium.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Baium/Baium.java index d96187f718..0a7c815157 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Baium/Baium.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Baium/Baium.java @@ -34,7 +34,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -112,7 +111,7 @@ public class Baium extends AbstractNpcAI addAttackId(BAIUM, ARCHANGEL); addKillId(BAIUM); addSpellFinishedId(BAIUM); - setCreatureSeeId(this::onCreatureSee, BAIUM); + addCreatureSeeId(BAIUM); final StatSet info = GrandBossManager.getInstance().getStatSet(BAIUM); @@ -561,12 +560,12 @@ public class Baium extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (!zone.isInsideZone(creature) || (creature.isNpc() && (creature.getId() == BAIUM_STONE))) { - return; + return super.onCreatureSee(npc, creature); } if (creature.isPlayer() && !creature.isDead() && (_standbyPlayer == null)) @@ -574,7 +573,6 @@ public class Baium extends AbstractNpcAI _standbyPlayer = (PlayerInstance) creature; } - final Npc npc = (Npc) event.getCreature(); if (creature.isInCategory(CategoryType.CLERIC_GROUP)) { if (npc.getCurrentHp() < (npc.getMaxHp() * 0.25)) @@ -599,6 +597,8 @@ public class Baium extends AbstractNpcAI refreshAiParams(creature, npc, 10000, 1000); } manageSkills(npc); + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java index fa14563861..4937e76f83 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.BuffInfo; @@ -103,7 +102,7 @@ public class BalokWarzone extends AbstractInstance addSkillSeeId(BALOK); addKillId(BALOK, MINION); addSpellFinishedId(BALOK); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_1); + addCreatureSeeId(INVISIBLE_NPC_1); } @Override @@ -293,16 +292,16 @@ public class BalokWarzone extends AbstractInstance return super.onKill(npc, player, isPet); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); getTimers().addTimer("stage_1_start", 60000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java index 5b4e3fb6c8..bdfd45f12a 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.DoorInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -62,7 +61,7 @@ public class BaylorWarzone extends AbstractInstance addInstanceCreatedId(TEMPLATE_ID); addSpawnId(INVISIBLE_NPC_1); addSpellFinishedId(INVISIBLE_NPC_1); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_1); + addCreatureSeeId(INVISIBLE_NPC_1); setCreatureKillId(this::onBossKill, BAYLOR); } @@ -304,16 +303,16 @@ public class BaylorWarzone extends AbstractInstance } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); getTimers().addTimer("START_SCENE_01", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } /** diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java index 340dd5e151..10e422ce25 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -62,7 +61,7 @@ public class IceQueensCastle extends AbstractInstance addTalkId(JINIA); addSpawnId(FREYA); addSpellFinishedId(FREYA); - setCreatureSeeId(this::onCreatureSee, BATTALION_LEADER, LEGIONNAIRE, MERCENARY_ARCHER); + addCreatureSeeId(BATTALION_LEADER, LEGIONNAIRE, MERCENARY_ARCHER); } @Override @@ -140,10 +139,9 @@ public class IceQueensCastle extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); @@ -159,6 +157,7 @@ public class IceQueensCastle extends AbstractInstance }); startQuestTimer("ATTACK_KNIGHT", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java index 1692f91226..58f65e79c2 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.NpcStringId; @@ -78,7 +77,7 @@ public class KimerianCommon extends AbstractInstance addSpawnId(FAIRY_REBEL, NEOMI_KASHERON); addAttackId(KIMERIAN); addKillId(KIMERIAN_GHOST, KIMERIAN); - setCreatureSeeId(this::onCreatureSee, FAIRY_REBEL, NEOMI_KASHERON, INVISIBLE_NPC, KIMERIAN); + addCreatureSeeId(FAIRY_REBEL, NEOMI_KASHERON, INVISIBLE_NPC, KIMERIAN); setCreatureKillId(this::onCreatureKill, FAIRY_REBEL, NEOMI_KASHERON); } @@ -334,14 +333,12 @@ public class KimerianCommon extends AbstractInstance return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final StatSet npcParams = npc.getParameters(); final StatSet npcVars = npc.getVariables(); final Instance instance = npc.getInstanceWorld(); - if (isInInstance(instance)) { switch (npc.getId()) @@ -412,6 +409,7 @@ public class KimerianCommon extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } private void spawnHollow(Npc npc, PlayerInstance player, boolean isHollow) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java index caab21e1d3..f0200d1563 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java @@ -46,7 +46,6 @@ 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.OnCreatureDamageReceived; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -208,7 +207,7 @@ public class Lindvior extends AbstractNpcAI addSkillSeeId(NPC_GENERATOR); addFirstTalkId(NPC_GENERATOR); addSpawnId(NPC_ATTACKER_GENERATORS, NPC_ATTACKER_GENERATORS_1, LYN_DRACO_ATTACKER_GENERATORS, GENERATOR_GUARD, NPC_GENERATOR); - setCreatureSeeId(this::onCreatureSee, INVISIBLE); + addCreatureSeeId(INVISIBLE); _zoneLair = ZoneManager.getInstance().getZoneById(ZONE_ID, NoSummonFriendZone.class); // Unlock final StatSet info = GrandBossManager.getInstance().getStatSet(LINDVIOR_RAID); @@ -509,12 +508,13 @@ public class Lindvior extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); setLindviorSpawnTask(); npc.getSpawn().stopRespawn(); npc.deleteMe(); + return super.onCreatureSee(npc, creature); } private void nextStage(int taskId) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java index 4b49959ccb..610906bb55 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java @@ -22,9 +22,9 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.World; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.serverpackets.FlyToLocation; import org.l2jmobius.gameserver.network.serverpackets.ValidateLocation; @@ -44,7 +44,7 @@ public class Vortex extends AbstractNpcAI { super(); addSpawnId(SMALL_VORTEX, BIG_VORTEX); - setCreatureSeeId(this::onCreatureSee, SMALL_VORTEX, BIG_VORTEX); + addCreatureSeeId(SMALL_VORTEX, BIG_VORTEX); } @Override @@ -112,9 +112,9 @@ public class Vortex extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); switch (npc.getId()) { case SMALL_VORTEX: @@ -128,6 +128,7 @@ public class Vortex extends AbstractNpcAI break; } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java index 0f7f84f52e..d0cf7094cf 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -118,7 +117,7 @@ public class OctavisWarzone extends AbstractInstance addMoveFinishedId(GLADIATORS); addSpellFinishedId(OCTAVIS_STAGE_2); addEnterZoneId(TELEPORT_ZONE.getId()); - setCreatureSeeId(this::onCreatureSee, DOOR_MANAGER); + addCreatureSeeId(DOOR_MANAGER); addInstanceCreatedId(TEMPLATE_ID, EXTREME_TEMPLATE_ID); } @@ -562,10 +561,9 @@ public class OctavisWarzone extends AbstractInstance return super.onSpellFinished(npc, player, skill); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { @@ -574,6 +572,7 @@ public class OctavisWarzone extends AbstractInstance getTimers().addTimer("SECOND_DOOR_OPEN", 3000, npc, null); getTimers().addTimer("CLOSE_DOORS", 60000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java index 32ff487818..f876b87a40 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -101,7 +100,7 @@ public class TeredorWarzone extends AbstractInstance addEventReceivedId(EGG_2); addAttackId(TEREDOR); addKillId(EGG_2, TEREDOR); - setCreatureSeeId(this::onCreatureSee, BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR); + addCreatureSeeId(BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR); } @Override @@ -272,10 +271,9 @@ public class TeredorWarzone extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance)) { @@ -361,6 +359,7 @@ public class TeredorWarzone extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java index 5915de7581..b5ea301ac1 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java @@ -37,7 +37,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.BuffInfo; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -318,7 +317,7 @@ public class Trasken extends AbstractNpcAI addExitZoneId(ZONE_ID); addEnterZoneId(ZONE_ID_HEART); addExitZoneId(ZONE_ID_HEART); - setCreatureSeeId(this::onCreatureSee, LAVRA_1, LAVRA_2, LAVRA_3, TRADJAN, TIE, BIG_TIE); + addCreatureSeeId(LAVRA_1, LAVRA_2, LAVRA_3, TRADJAN, TIE, BIG_TIE); init(); if (DoorData.getInstance().getDoor(DOOR) != null) { @@ -539,12 +538,12 @@ public class Trasken extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); if (npc.isDead()) { - return; + return super.onCreatureSee(npc, creature); } if ((npc.getId() == LAVRA_1) || (npc.getId() == LAVRA_2) || (npc.getId() == LAVRA_3) || (npc.getId() == TRADJAN)) @@ -553,7 +552,6 @@ public class Trasken extends AbstractNpcAI } else if ((npc.getId() == TIE) || (npc.getId() == BIG_TIE)) { - final Creature creature = event.getSeen(); if (getRandom(100) < 60) { npc.setTarget(creature); @@ -567,6 +565,8 @@ public class Trasken extends AbstractNpcAI addAttackPlayerDesire(npc, (Playable) creature); } } + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java index f658ee30ac..04b0f85a5e 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MerchantInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.clan.ClanPrivilege; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.residences.ClanHall; import org.l2jmobius.gameserver.model.residences.ResidenceFunction; @@ -104,7 +103,7 @@ public class ClanHallManager extends AbstractNpcAI addStartNpc(CLANHALL_MANAGERS); addTalkId(CLANHALL_MANAGERS); addFirstTalkId(CLANHALL_MANAGERS); - setCreatureSeeId(this::onCreatureSee, CLANHALL_MANAGERS); + addCreatureSeeId(CLANHALL_MANAGERS); } @Override @@ -486,18 +485,18 @@ public class ClanHallManager extends AbstractNpcAI return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final ClanHall clanHall = npc.getClanHall(); if (clanHall != null) { creature.getActingPlayer().sendPacket(new AgitDecoInfo(clanHall)); } } + return super.onCreatureSee(npc, creature); } private void updateVisualEffects(ClanHall clanHall, Npc npc) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/Gordon.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/Gordon.java index a2d9276bf5..6d7312128b 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/Gordon.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/ai/others/Gordon.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import ai.AbstractNpcAI; @@ -35,17 +34,17 @@ public class Gordon extends AbstractNpcAI private Gordon() { addSpawnId(GORDON); - setCreatureSeeId(this::onCreatureSee, GORDON); + addCreatureSeeId(GORDON); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer() && ((PlayerInstance) creature).isCursedWeaponEquipped()) { - final Npc npc = (Npc) event.getCreature(); addAttackPlayerDesire(npc, (PlayerInstance) creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java index c69ca36aae..fa6dadd15b 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; @@ -67,7 +66,7 @@ public class ChamberOfProphecies extends AbstractInstance addStartNpc(KAIN_VAN_HALTER); addFirstTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD); addTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD); - setCreatureSeeId(this::onCreatureSee, FERIN, VAN_HALTER); + addCreatureSeeId(FERIN, VAN_HALTER); } @Override @@ -501,13 +500,12 @@ public class ChamberOfProphecies extends AbstractInstance return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (world != null) { - final Creature creature = event.getSeen(); switch (npc.getId()) { case FERIN: @@ -528,6 +526,7 @@ public class ChamberOfProphecies extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java index ac9290a099..2451279b0c 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -76,7 +75,7 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance addSpellFinishedId(WATER_CANNON_SKILL); addInstanceEnterId(TEMPLATE_ID); addInstanceLeaveId(TEMPLATE_ID); - setCreatureSeeId(this::onCreatureSee, WATER_CANNON); + addCreatureSeeId(WATER_CANNON); } @Override @@ -380,10 +379,9 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if ((world != null) && creature.isPlayer() && npc.isScriptValue(0)) { @@ -391,6 +389,7 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance npc.setDisplayEffect(1); getTimers().addRepeatingTimer("CANNON_LOOP_ATTACK", 1000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java index 1cd4834736..6882879232 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -79,7 +78,7 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance addInstanceCreatedId(TEMPLATE_ID); addInstanceEnterId(TEMPLATE_ID); addInstanceLeaveId(TEMPLATE_ID); - setCreatureSeeId(this::onCreatureSee, PLAYER_DETECTOR); + addCreatureSeeId(PLAYER_DETECTOR); } @Override @@ -361,10 +360,9 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance return super.onKill(npc, killer, isSummon); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance) && creature.isPlayer()) { @@ -381,6 +379,7 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance npc.deleteMe(); } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java index e6e27df357..eb1f18e412 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -98,7 +97,7 @@ public class HarnakUndergroundRuins extends AbstractInstance { super(TEMPLATE_ID); registerMobs(KRAKIA_BATHUS, KRAKIA_CARCASS, KRAKIA_LOTUS, RAKZAN, WEISS_KHAN, BAMONTI, SEKNUS, WEISS_ELE, HARNAKS_WRAITH); - setCreatureSeeId(this::onCreatureSee, POWER_SOURCES); + addCreatureSeeId(POWER_SOURCES); addEnterZoneId(ZONE_ROOM_2, ZONE_ROOM_3); addFirstTalkId(SEAL_CONTROL_DEVICE); addTalkId(HADEL); @@ -674,18 +673,18 @@ public class HarnakUndergroundRuins extends AbstractInstance return super.onAttack(npc, player, damage, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("cast_release_power", 2000, npc, creature.getActingPlayer()); if (npc.getId() == POWER_SOURCE) { startQuestTimer("whisper_to_player", 2000, npc, creature.getActingPlayer()); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java index c0b58def5b..2a98135f75 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java @@ -31,7 +31,6 @@ import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -91,9 +90,9 @@ public class KartiaHelperAdolph extends AbstractNpcAI private KartiaHelperAdolph() { addSpellFinishedId(KARTIA_ADOLPH); + addCreatureSeeId(KARTIA_ADOLPH); setCreatureKillId(this::onCreatureKill, KARTIA_ADOLPH); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_ADOLPH); - setCreatureSeeId(this::onCreatureSee, KARTIA_ADOLPH); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -288,14 +287,14 @@ public class KartiaHelperAdolph extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java index 5d6a180033..479bde56c6 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -86,9 +85,9 @@ public class KartiaHelperBarton extends AbstractNpcAI private KartiaHelperBarton() { + addCreatureSeeId(KARTIA_BARTON); setCreatureKillId(this::onCreatureKill, KARTIA_BARTON); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_BARTON); - setCreatureSeeId(this::onCreatureSee, KARTIA_BARTON); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -146,17 +145,18 @@ public class KartiaHelperBarton extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java index 6212649204..000919660b 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java @@ -33,7 +33,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -110,8 +109,8 @@ public class KartiaHelperElise extends AbstractNpcAI private KartiaHelperElise() { + addCreatureSeeId(KARTIA_ELISE); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); - setCreatureSeeId(this::onCreatureSee, KARTIA_ELISE); setCreatureKillId(this::onCreatureKill, KARTIA_ELISE); } @@ -243,12 +242,11 @@ public class KartiaHelperElise extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer() || (creature instanceof FriendlyNpcInstance)) { - final Npc npc = (Npc) event.getCreature(); final StatSet npcVars = npc.getVariables(); if (creature.isPlayer()) { @@ -271,6 +269,7 @@ public class KartiaHelperElise extends AbstractNpcAI npcVars.set("HAYUK_OBJECT", creature); } } + return super.onCreatureSee(npc, creature); } public void onCreatureKill(OnCreatureDeath event) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java index 3b59fd7514..404b7722b2 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -81,9 +80,9 @@ public class KartiaHelperEliyah extends AbstractNpcAI private KartiaHelperEliyah() { + addCreatureSeeId(KARTIA_ELIYAH); setCreatureKillId(this::onCreatureKill, KARTIA_ELIYAH); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_ELIYAH); - setCreatureSeeId(this::onCreatureSee, KARTIA_ELIYAH); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -137,17 +136,18 @@ public class KartiaHelperEliyah extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void onCreatureAttacked(OnCreatureAttacked event) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java index 865762b4d4..230656b816 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java @@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -90,9 +89,9 @@ public class KartiaHelperGuardian extends AbstractNpcAI private KartiaHelperGuardian() { + addCreatureSeeId(KARTIA_GUARDIANS); setCreatureKillId(this::onCreatureKill, KARTIA_GUARDIANS); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_GUARDIANS); - setCreatureSeeId(this::onCreatureSee, KARTIA_GUARDIANS); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -155,21 +154,22 @@ public class KartiaHelperGuardian extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } else if (CommonUtil.contains(KARTIA_ELIYAH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ELIYAH_OBJECT", creature); + npc.getVariables().set("ELIYAH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java index 2892d96e3e..ba13eb1888 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -87,9 +86,9 @@ public class KartiaHelperHayuk extends AbstractNpcAI private KartiaHelperHayuk() { + addCreatureSeeId(KARTIA_HAYUK); setCreatureKillId(this::onCreatureKill, KARTIA_HAYUK); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_HAYUK); - setCreatureSeeId(this::onCreatureSee, KARTIA_HAYUK); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -152,17 +151,18 @@ public class KartiaHelperHayuk extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java index 33ba6a3bbb..0cf9e476d3 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java @@ -31,7 +31,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -186,13 +185,13 @@ public class KartiasLabyrinth extends AbstractInstance addMoveFinishedId(MINI_BOSSES); addMoveFinishedId(PRISONERS); addRouteFinishedId(MONSTERS); - setCreatureKillId(this::onCreatureKill, MONSTERS); - setCreatureKillId(this::onBossKill, BOSSES); - setCreatureSeeId(this::onCreatureSee, MONSTERS); + addCreatureSeeId(MONSTERS); addEnterZoneId(KARTIA_85_DETECT_1, KARTIA_85_DETECT_2); addEnterZoneId(KARTIA_90_DETECT_1, KARTIA_90_DETECT_2); addEnterZoneId(KARTIA_95_DETECT_1, KARTIA_95_DETECT_2); addInstanceCreatedId(TEMPLATE_ID_SOLO_85, TEMPLATE_ID_SOLO_90, TEMPLATE_ID_SOLO_95, TEMPLATE_ID_GROUP_85, TEMPLATE_ID_GROUP_90, TEMPLATE_ID_GROUP_95); + setCreatureKillId(this::onCreatureKill, MONSTERS); + setCreatureKillId(this::onBossKill, BOSSES); } @Override @@ -873,10 +872,9 @@ public class KartiasLabyrinth extends AbstractInstance } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if ((world != null) && (creature.isPlayer() || creature.getInstanceType().isType(InstanceType.FriendlyNpcInstance)) && npc.isScriptValue(1)) { @@ -892,6 +890,7 @@ public class KartiasLabyrinth extends AbstractInstance addAttackDesire(npc, creature); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java index 52fde99b20..014e294ffe 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java @@ -40,7 +40,6 @@ 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.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerCallToChangeClass; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLogin; @@ -201,10 +200,10 @@ public class MemoryOfDisaster extends AbstractInstance addMoveFinishedId(ROGIN, SOLDIER, WIRPHY, SILVERA); addMoveFinishedId(DWARVES); addSpellFinishedId(SIEGE_GOLEM, INVISIBLE_NPC, TEREDOR_TRANSPARENT, EARTH_WYRM_TRASKEN, SWOOP_CANNON); + addCreatureSeeId(TENTACLE, SOLDIER, SOLDIER2, TEREDOR, INVISIBLE_NPC, CONTROL_DARKELF_AWAKE); + addEventReceivedId(SACRIFICED_DARK_ELF); setCreatureKillId(this::onCreatureKill, BRONK, SILVERA); setCreatureAttackedId(this::onCreatureAttacked, BRONK, TENTACLE, SOLDIER, SOLDIER2, TEREDOR, SIEGE_GOLEM, WIRPHY, SILVERA); - setCreatureSeeId(this::onCreatureSee, TENTACLE, SOLDIER, SOLDIER2, TEREDOR, INVISIBLE_NPC, CONTROL_DARKELF_AWAKE); - addEventReceivedId(SACRIFICED_DARK_ELF); } @Override @@ -343,10 +342,9 @@ public class MemoryOfDisaster extends AbstractInstance return super.onSpawn(npc); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world)) { @@ -423,6 +421,7 @@ public class MemoryOfDisaster extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java index 9cb99c665f..855babef3b 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -90,7 +89,7 @@ public class NornilsGarden extends AbstractInstance addKillId(ATTACABLE_MONSTERS); addKillId(SPICULA_ZERO); addKillId(BOZ_STAGE1, BOZ_STAGE2, BOZ_STAGE3, BOZ_STAGE4); - setCreatureSeeId(this::onCreatureSee, BOZ_STAGE1); + addCreatureSeeId(BOZ_STAGE1); } @Override @@ -283,12 +282,11 @@ public class NornilsGarden extends AbstractInstance return "33781.html"; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayable()) { - final Npc npc = (Npc) event.getCreature(); if (npc.isScriptValue(0)) { startQuestTimer("stage1", 3000, npc, null); @@ -296,6 +294,7 @@ public class NornilsGarden extends AbstractInstance npc.setScriptValue(1); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java index 78e794dd45..2161022d2f 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java @@ -29,7 +29,6 @@ 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.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.npc.OnAttackableFactionCall; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -133,8 +132,8 @@ public class PailakaInjuredDragon extends AbstractInstance addAttackId(LATANA); addSpawnId(TELEPORT_TRAP, DRAGON_TARGET, LATANA_SKILL_USE, DRAGON_CAMERA_2); addSpawnId(WIZARDS); - setCreatureSeeId(this::onCreatureSee, WIZARDS); - setCreatureSeeId(this::onCreatureSee, LATANA); + addCreatureSeeId(WIZARDS); + addCreatureSeeId(LATANA); addKillId(ANIMALS); addKillId(LATANA); } @@ -475,10 +474,9 @@ public class PailakaInjuredDragon extends AbstractInstance return super.onSpawn(npc); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world)) { @@ -510,6 +508,7 @@ public class PailakaInjuredDragon extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java index d6edf4ddef..012e3f391e 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; import org.l2jmobius.gameserver.network.NpcStringId; @@ -60,7 +59,7 @@ public class PailakaSongOfIceAndFire extends AbstractInstance addExitZoneId(ZONE); addSpawnId(BLOOM); addKillId(BLOOM); - setCreatureSeeId(this::onCreatureSee, GARGOS); + addCreatureSeeId(GARGOS); } @Override @@ -169,18 +168,15 @@ public class PailakaSongOfIceAndFire extends AbstractInstance return super.onExitZone(creature, zone); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - npc.setScriptValue(1); - startQuestTimer("GARGOS_LAUGH", 1000, npc, creature.getActingPlayer()); - } + npc.setScriptValue(1); + startQuestTimer("GARGOS_LAUGH", 1000, npc, creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java index 1f2f3fb59a..03f45281cd 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -116,7 +115,7 @@ public class PrisonOfDarkness extends AbstractInstance addTalkId(SPEZION_HEADSTONE, WARP_POINT, TIME_BOMB_1, STARLIGHT_LATTICE, JOSEPHINA); addSpawnId(WARP_POINT, ESCORT_WARRIOR); addSpellFinishedId(MONSTERS); - setCreatureSeeId(this::onCreatureSee, EXIT_PORTAL); + addCreatureSeeId(EXIT_PORTAL); addKillId(SPEZIONS_PAWN); addFirstTalkId(JOSEPHINA); } @@ -343,31 +342,36 @@ public class PrisonOfDarkness extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance) && (npc.getId() == EXIT_PORTAL)) { final StatSet npcVars = npc.getVariables(); - switch (npcVars.getInt("PORTAL_STATE", 0)) { case 0: + { takeItems(creature.getActingPlayer(), GIANT_CANNONBALL, -1); creature.teleToLocation(getRandomEntry(PLAYERS_RANDOM_LOCS)); showOnScreenMsg(creature.getActingPlayer(), NpcStringId.YOU_NEED_TO_FIND_ESCAPE_DEVICE_RE_ENTRY_IS_NOT_ALLOWED_ONCE_YOU_VE_LEFT_THE_INSTANT_ZONE, ExShowScreenMessage.TOP_CENTER, 4000); instance.getParameters().increaseInt("PLAYERS_COUNT", 0, 1); break; + } case 1: + { creature.teleToLocation(ORBIS_LOCATION); break; + } case 2: + { creature.teleToLocation(SPEZION_LAIR); break; + } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java index 28208a3ce2..66a7865113 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -57,7 +56,7 @@ public class TalkingIslandPast extends AbstractInstance addTalkId(DARIN, ROXXY, MYSTERIOUS_DARK_KNIGHT); addFirstTalkId(DARIN, ROXXY, MYSTERIOUS_DARK_KNIGHT); addExitZoneId(TALKING_ISLAND_ZONE); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_TI_NPC); + addCreatureSeeId(INVISIBLE_TI_NPC); } @Override @@ -104,10 +103,9 @@ public class TalkingIslandPast extends AbstractInstance return super.onExitZone(creature, zone); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); if (creature.isPlayer()) { final Instance instance = creature.getInstanceWorld(); @@ -124,6 +122,7 @@ public class TalkingIslandPast extends AbstractInstance getTimers().addTimer("MSG", null, 5000, npc, player, n -> showOnScreenMsg(n.getPlayer(), NpcStringId.TALK_TO_THE_MYSTERIOUS_DARK_KNIGHT, ExShowScreenMessage.TOP_CENTER, 5000)); } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java index b501d07227..f6784b0d1a 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.itemcontainer.Inventory; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -60,7 +59,7 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest addStartNpc(YUMI); addTalkId(YUMI, WENDY, BOX, STONES, NEWYEAR); addKillId(GUARDIAN); - setCreatureSeeId(this::onCreatureSee, STONES); + addCreatureSeeId(STONES); registerQuestItems(STARSTONE, STARSTONE2, DETCTOR, DETCTOR2, LETTER); } @@ -405,9 +404,9 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest return super.onKill(npc, player, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final QuestState qs = getQuestState(creature.getActingPlayer(), false); @@ -419,6 +418,7 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest showOnScreenMsg(creature.getActingPlayer(), NpcStringId.THE_RADIO_SIGNAL_DETECTOR_IS_RESPONDING_A_SUSPICIOUS_PILE_OF_STONES_CATCHES_YOUR_EYE, 2, 4500); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java index 0f9ff6f98c..5ae6b98102 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java @@ -31,7 +31,6 @@ 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.OnCreatureSee; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -59,7 +58,7 @@ public class Q00454_CompletelyLost extends Quest addStartNpc(INJURED_SOLDIER); addTalkId(INJURED_SOLDIER, ERMIAN); addMoveFinishedId(INJURED_SOLDIER); - setCreatureSeeId(this::onCreatureSee, INJURED_SOLDIER); + addCreatureSeeId(INJURED_SOLDIER); addEventReceivedId(INJURED_SOLDIER); } @@ -398,17 +397,14 @@ public class Q00454_CompletelyLost extends Quest } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - addAttackPlayerDesire(npc, creature.getActingPlayer(), 10); - } + addAttackPlayerDesire(npc, creature.getActingPlayer(), 10); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java index 53c4e8a863..cba0f398c1 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java @@ -24,9 +24,9 @@ import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.enums.QuestSound; import org.l2jmobius.gameserver.enums.QuestType; import org.l2jmobius.gameserver.model.Party; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.NpcLogListHolder; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -60,8 +60,8 @@ public class Q00833_DevilsTreasureTauti extends Quest addStartNpc(DETON); addTalkId(SETTLEN); addKillId(FLAME_SCORPION, FLAME_GOLEM, FLAME_SCARAB, SEAL_TOMBSTONE); + addCreatureSeeId(DETON); registerQuestItems(FLAME_FLOWER); - setCreatureSeeId(this::onCreatureSee, DETON); } @Override @@ -115,9 +115,10 @@ public class Q00833_DevilsTreasureTauti extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final PlayerInstance player = event.getSeen().getActingPlayer(); + final PlayerInstance player = creature.getActingPlayer(); if (player != null) { final QuestState qs = getQuestState(player, true); @@ -127,6 +128,7 @@ public class Q00833_DevilsTreasureTauti extends Quest qs.startQuest(); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java index bebeea1946..8ae58bb610 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java @@ -19,9 +19,9 @@ package quests.Q00835_PitiableMelisa; import org.l2jmobius.Config; import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.enums.QuestType; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -56,8 +56,8 @@ public class Q00835_PitiableMelisa extends Quest addStartNpc(KANNA); addTalkId(SETTLEN); addKillId(MONSTERS); + addCreatureSeeId(KANNA); registerQuestItems(ICE_CRYSTAL_SHARD); - setCreatureSeeId(this::onCreatureSee, KANNA); } @Override @@ -119,9 +119,10 @@ public class Q00835_PitiableMelisa extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final PlayerInstance player = event.getSeen().getActingPlayer(); + final PlayerInstance player = creature.getActingPlayer(); if (player != null) { final QuestState qs = getQuestState(player, true); @@ -131,6 +132,7 @@ public class Q00835_PitiableMelisa extends Quest qs.startQuest(); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java index c34fcaaf71..b924b2a79e 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -118,8 +117,8 @@ public class Q10369_NoblesseSoulTesting extends Quest addFirstTalkId(FLAME_FLOWER, HELPING_TREE_SUMMON_DEVICE, HELPING_TREE); addCondMinLevel(MIN_LEVEL, "31281-13.htm"); addCondIsSubClassActive(""); + addCreatureSeeId(INVISIBLE_NPC_NOBLE); registerQuestItems(SUMMONING_STONE, NOVELLA_PROPHECY, EMPTY_HOT_SPRINGS_WATER_BOTTLE, HOT_SPRINGS_WATER_BOTTLE, DURABLE_LEATHER, TROWEL, FIRE_ENERGY, HARD_FOSSIL_CONTAINING_WATER_ENERGY, HELPING_SEED, ASHES_OF_REMNANTS, SOE_HOT_SPRINGS, SOE_ADEN_CASTLE, SOE_RUNE_CASTLE, SOE_ISLE_OF_PRAYER, SOE_FORGE_OF_GODS, SOE_SECRET_ROOM); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_NOBLE); } @Override @@ -498,9 +497,9 @@ public class Q10369_NoblesseSoulTesting extends Quest return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -527,6 +526,7 @@ public class Q10369_NoblesseSoulTesting extends Quest } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java index 57f6df389b..cc45b0216b 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.events.EventType; import org.l2jmobius.gameserver.model.events.ListenerRegisterType; import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent; import org.l2jmobius.gameserver.model.events.annotations.RegisterType; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerSocialAction; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -116,7 +115,7 @@ public class Q10385_RedThreadOfFate extends Quest addKillId(SHILEN_MESSENGER); addCondMinLevel(MIN_LEVEL, "33491-08.html"); addCondNotRace(Race.ERTHEIA, "33491-09.html"); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_ANGHEL_WATERFALL_NPC); + addCreatureSeeId(INVISIBLE_ANGHEL_WATERFALL_NPC); registerQuestItems(MYSTERIOUS_LETTER, HEINE_FROM_THE_GARDEN_OF_EVA, CLEAREST_WATER, BRIGHTEST_LIGHT, PUREST_SOUL, FIERCEST_FLAME, FONDEST_HEART, VULCUN_TRUE_GOLD, VULCUN_PURE_SILVER, VULCUN_BLOOD_FIRE, SCROLL_OF_ESCAPE_VALLEY_OF_SAINTS, SCROLL_OF_ESCAPE_FORGE_OF_THE_GODS, SCROLL_OF_ESCAPE_IVORY_TOWER, SCROLL_OF_ESCAPE_DWARVEN_VILLAGE); } @@ -690,12 +689,11 @@ public class Q10385_RedThreadOfFate extends Quest return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final PlayerInstance player = creature.getActingPlayer(); final QuestState qs = getQuestState(player, false); if ((npc.getId() == INVISIBLE_ANGHEL_WATERFALL_NPC) && (qs != null) && qs.isCond(7)) @@ -703,6 +701,7 @@ public class Q10385_RedThreadOfFate extends Quest showOnScreenMsg(player, NpcStringId.YOU_HAVE_REACHED_ANGHEL_WATERFALL_GO_INSIDE_THE_CAVE, ExShowScreenMessage.TOP_CENTER, 5000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java index 2f7cff7350..34d7b9bd67 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java @@ -19,7 +19,6 @@ package quests.Q10390_KekropusLetter; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -63,9 +62,9 @@ public class Q10390_KekropusLetter extends Quest super(10390); addStartNpc(RAYMOND, RAINS, TOBIAS, DRIKUS, MENDIO, GERSHWIN, ESRANDELL, ELLENIA); addTalkId(RAYMOND, RAINS, TOBIAS, DRIKUS, MENDIO, GERSHWIN, ESRANDELL, ELLENIA, BATHIS, GOSTA, ELI); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); - registerQuestItems(KEKROPUS_LETTER, HAINE_SOE, ALLIGATOR_ISLAND_SOE); + addCreatureSeeId(INVISIBLE_NPC); addCondCompletedQuest(Q10360_CertificationOfFate.class.getSimpleName(), ""); + registerQuestItems(KEKROPUS_LETTER, HAINE_SOE, ALLIGATOR_ISLAND_SOE); } @Override @@ -297,9 +296,9 @@ public class Q10390_KekropusLetter extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -309,6 +308,7 @@ public class Q10390_KekropusLetter extends Quest showOnScreenMsg(player, NpcStringId.ALLIGATOR_ISLAND_IS_A_GOOD_HUNTING_ZONE_FOR_LV_40_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } private boolean isRightMaster(Npc npc, PlayerInstance player) diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java index 272ccab7e2..a3c8825ff4 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,7 +50,7 @@ public class Q10393_KekropusLetterAClueCompleted extends LetterQuest { super(10393); addTalkId(FLUTER, KELIOS); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_2"); @@ -127,9 +126,9 @@ public class Q10393_KekropusLetterAClueCompleted extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -139,5 +138,6 @@ public class Q10393_KekropusLetterAClueCompleted extends LetterQuest showOnScreenMsg(player, NpcStringId.OUTLAW_FOREST_IS_A_GOOD_HUNTING_ZONE_FOR_LV_46_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10397_KekropusLetterASuspiciousBadge/Q10397_KekropusLetterASuspiciousBadge.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10397_KekropusLetterASuspiciousBadge/Q10397_KekropusLetterASuspiciousBadge.java index 053cfc3ad8..b790a62798 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10397_KekropusLetterASuspiciousBadge/Q10397_KekropusLetterASuspiciousBadge.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10397_KekropusLetterASuspiciousBadge/Q10397_KekropusLetterASuspiciousBadge.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10397_KekropusLetterASuspiciousBadge extends LetterQuest { super(10397); addTalkId(MOUEN, ANDY); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_3"); setStartLocation(SOE_TOWN_OF_OREN, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_OREN, SOE_SEA_OF_SPORES); } @@ -130,9 +129,9 @@ public class Q10397_KekropusLetterASuspiciousBadge extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -142,5 +141,6 @@ public class Q10397_KekropusLetterASuspiciousBadge extends LetterQuest showOnScreenMsg(player, NpcStringId.SEA_OF_SPORES_IS_A_GOOD_HUNTING_ZONE_FOR_LV_52_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java index 59abb443bc..d5023651ec 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10401_KekropusLetterDecodingTheBadge extends LetterQuest { super(10401); addTalkId(PATERSON, EBLUNE); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_4"); setStartLocation(SOE_TOWN_OF_ADEN, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_ADEN, SOE_FORSAKEN_PLAINS); } @@ -130,9 +129,9 @@ public class Q10401_KekropusLetterDecodingTheBadge extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -142,5 +141,6 @@ public class Q10401_KekropusLetterDecodingTheBadge extends LetterQuest showOnScreenMsg(player, NpcStringId.FORSAKEN_PLAINS_IA_A_GOOD_HUNTING_ZONE_FOR_LV_58_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java index 5f219edeb6..15cb21e47d 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10404_KekropusLetterAHiddenMeaning extends LetterQuest { super(10404); addTalkId(PATERSON, SHUVANN); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartLocation(SOE_TOWN_OF_ADEN, TELEPORT_LOC); setStartQuestSound("Npcdialog1.kekrops_quest_5"); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_ADEN, SOE_FIELDS_OF_MASSACRE); } @@ -130,9 +129,9 @@ public class Q10404_KekropusLetterAHiddenMeaning extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -142,5 +141,6 @@ public class Q10404_KekropusLetterAHiddenMeaning extends LetterQuest showOnScreenMsg(player, NpcStringId.FIELDS_OF_MASSACRE_IS_A_GOOD_HUNTING_ZONE_FOR_LV_61_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java index 064f50a659..a333231958 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10408_KekropusLetterTheSwampOfScreams extends LetterQuest { super(10408); addTalkId(MATHIAS, DOKARA); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_6"); setStartLocation(SOE_TOWN_OF_RUNE, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_RUNE, SOE_SWAMP_OF_SCREAMS); } @@ -131,9 +130,9 @@ public class Q10408_KekropusLetterTheSwampOfScreams extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -143,6 +142,7 @@ public class Q10408_KekropusLetterTheSwampOfScreams extends LetterQuest showOnScreenMsg(player, NpcStringId.SWAMP_OF_SCREAMS_IA_A_GOOD_HUNTING_ZONE_FOR_LV_65_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java index a3f1414b19..b1fdf55ce0 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10411_KekropusLetterTheForestOfTheDead extends LetterQuest { super(10411); addTalkId(MATHIAS, HATUBA); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_7"); setStartLocation(SOE_TOWN_OF_RUNE, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_RUNE, SOE_FOREST_OF_THE_DEAD); } @@ -131,9 +130,9 @@ public class Q10411_KekropusLetterTheForestOfTheDead extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -143,6 +142,7 @@ public class Q10411_KekropusLetterTheForestOfTheDead extends LetterQuest showOnScreenMsg(player, NpcStringId.FOREST_OF_THE_DEAD_IS_A_GOOD_HUNTING_ZONE_FOR_LV_65_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java index 3316b01286..36611da116 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10414_KekropusLetterWithCourage extends LetterQuest { super(10414); addTalkId(ANDREI, JANITT); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_8"); setStartLocation(SOE_TOWN_OF_GODDARD, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GODDARD, SOE_WALL_OF_ARGOS); } @@ -131,9 +130,9 @@ public class Q10414_KekropusLetterWithCourage extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -143,6 +142,7 @@ public class Q10414_KekropusLetterWithCourage extends LetterQuest showOnScreenMsg(player, NpcStringId.WALL_OF_ARGOS_IS_A_GOOD_HUNTING_ZONE_FOR_LV_70_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java index 583e5edec2..b3f4cf26a3 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -52,7 +51,7 @@ public class Q10415_KekropusLetterWithWisdom extends LetterQuest { super(10415); addTalkId(ANDREI, JANITT); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_8"); @@ -127,9 +126,9 @@ public class Q10415_KekropusLetterWithWisdom extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -139,6 +138,7 @@ public class Q10415_KekropusLetterWithWisdom extends LetterQuest showOnScreenMsg(player, NpcStringId.WALL_OF_ARGOS_IS_A_GOOD_HUNTING_ZONE_FOR_LV_70_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java index c019218f90..0505d281c9 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10419_KekropusLetterKampfsWhereabouts extends LetterQuest { super(10419); addTalkId(ANDREI, HANSEN); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_9"); setStartLocation(SOE_TOWN_OF_GODDARD, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GODDARD, SOE_VARKA_SILENOS_BARRACKS); } @@ -131,9 +130,9 @@ public class Q10419_KekropusLetterKampfsWhereabouts extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -143,6 +142,7 @@ public class Q10419_KekropusLetterKampfsWhereabouts extends LetterQuest showOnScreenMsg(player, NpcStringId.VARKA_SILENOS_BARRACKS_IS_A_GOOD_HUNTING_ZONE_FOR_LV_76_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java index dd439331a5..6ded520e5f 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10424_KekropusLetterBelosWhereabouts extends LetterQuest { super(10424); addTalkId(ANDREI, LUGONNES); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_10"); setStartLocation(SOE_TOWN_OF_GODDARD, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GODDARD, SOE_KETRA_ORC_OUTPOST); } @@ -131,9 +130,9 @@ public class Q10424_KekropusLetterBelosWhereabouts extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -143,6 +142,7 @@ public class Q10424_KekropusLetterBelosWhereabouts extends LetterQuest showOnScreenMsg(player, NpcStringId.KETRA_ORC_OUTPOST_IS_A_GOOD_HUNTING_ZONE_FOR_LV_76_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10430_KekropusLetterTrackingTheEvil/Q10430_KekropusLetterTrackingTheEvil.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10430_KekropusLetterTrackingTheEvil/Q10430_KekropusLetterTrackingTheEvil.java index 017d300375..3434cf647d 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10430_KekropusLetterTrackingTheEvil/Q10430_KekropusLetterTrackingTheEvil.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10430_KekropusLetterTrackingTheEvil/Q10430_KekropusLetterTrackingTheEvil.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -53,13 +52,13 @@ public class Q10430_KekropusLetterTrackingTheEvil extends LetterQuest { super(10430); addTalkId(VISHOTSKY, JOKEL); + addCreatureSeeId(INVISIBLE_NPC); + addCondInCategory(CategoryType.MAGE_GROUP, "nocond.html"); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_9"); setStartLocation(SOE_TOWN_OF_SCHUTTGART, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_SCHUTTGART, SOE_DEN_OF_EVIL); - addCondInCategory(CategoryType.MAGE_GROUP, "nocond.html"); } @Override @@ -134,9 +133,9 @@ public class Q10430_KekropusLetterTrackingTheEvil extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -146,6 +145,7 @@ public class Q10430_KekropusLetterTrackingTheEvil extends LetterQuest showOnScreenMsg(player, NpcStringId.DEN_OF_EVIL_IS_A_GOOD_HUNTING_ZONE_FOR_LV_81_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10433_KekropusLetterRegardingASeal/Q10433_KekropusLetterRegardingASeal.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10433_KekropusLetterRegardingASeal/Q10433_KekropusLetterRegardingASeal.java index c8d00faa77..77ce23ed7f 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10433_KekropusLetterRegardingASeal/Q10433_KekropusLetterRegardingASeal.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10433_KekropusLetterRegardingASeal/Q10433_KekropusLetterRegardingASeal.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -52,13 +51,13 @@ public class Q10433_KekropusLetterRegardingASeal extends LetterQuest { super(10433); addTalkId(MOUEN, RUA); + addCreatureSeeId(INVISIBLE_NPC); + addCondInCategory(CategoryType.WEAPON_MASTER, "nocond.html"); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_9"); setStartLocation(SOE_TOWN_OF_OREN, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_OREN); - addCondInCategory(CategoryType.WEAPON_MASTER, "nocond.html"); } @Override @@ -132,9 +131,9 @@ public class Q10433_KekropusLetterRegardingASeal extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -144,6 +143,7 @@ public class Q10433_KekropusLetterRegardingASeal extends LetterQuest showOnScreenMsg(player, NpcStringId.SEL_MAHUM_TRAINING_GROUNDS_IS_A_GOOD_HUNTING_ZONE_FOR_LV_81_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10436_KekropusLetterTheSealOfPunishment/Q10436_KekropusLetterTheSealOfPunishment.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10436_KekropusLetterTheSealOfPunishment/Q10436_KekropusLetterTheSealOfPunishment.java index 379941c308..5087b54bb0 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10436_KekropusLetterTheSealOfPunishment/Q10436_KekropusLetterTheSealOfPunishment.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10436_KekropusLetterTheSealOfPunishment/Q10436_KekropusLetterTheSealOfPunishment.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -52,13 +51,13 @@ public class Q10436_KekropusLetterTheSealOfPunishment extends LetterQuest { super(10436); addTalkId(MOUEN, LAKI); + addCreatureSeeId(INVISIBLE_NPC); + addCondInCategory(CategoryType.BOW_MASTER, "nocond.html"); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_9"); setStartLocation(SOE_TOWN_OF_OREN, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_OREN); - addCondInCategory(CategoryType.BOW_MASTER, "nocond.html"); } @Override @@ -132,9 +131,9 @@ public class Q10436_KekropusLetterTheSealOfPunishment extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -144,6 +143,7 @@ public class Q10436_KekropusLetterTheSealOfPunishment extends LetterQuest showOnScreenMsg(player, NpcStringId.PLAINS_OF_THE_LIZARDMEN_IS_A_GOOD_HUNTING_ZONE_FOR_LV_81_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10439_KekropusLetterTheOriginsOfARumor/Q10439_KekropusLetterTheOriginsOfARumor.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10439_KekropusLetterTheOriginsOfARumor/Q10439_KekropusLetterTheOriginsOfARumor.java index 02644fd351..6f160ed18d 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10439_KekropusLetterTheOriginsOfARumor/Q10439_KekropusLetterTheOriginsOfARumor.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10439_KekropusLetterTheOriginsOfARumor/Q10439_KekropusLetterTheOriginsOfARumor.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -55,13 +54,13 @@ public class Q10439_KekropusLetterTheOriginsOfARumor extends LetterQuest { super(10439); addTalkId(GOSTA, HELVETICA, ATHENIA); + addCreatureSeeId(INVISIBLE_NPC); + addCondInCategory(CategoryType.MAGE_CLOACK, "nocond.html"); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_9"); setStartLocation(SOE_HEINE, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_HEINE, SOE_FIELD_OF_SILENCE, SOE_FIELD_OF_WISPERS); - addCondInCategory(CategoryType.MAGE_CLOACK, "nocond.html"); } @Override @@ -167,9 +166,9 @@ public class Q10439_KekropusLetterTheOriginsOfARumor extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -186,6 +185,7 @@ public class Q10439_KekropusLetterTheOriginsOfARumor extends LetterQuest } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java index 55ecc5ec16..406a6a0b26 100644 --- a/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java +++ b/L2J_Mobius_2.5_Underground/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java @@ -19,7 +19,6 @@ package quests.Q10829_InSearchOfTheCause; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -45,7 +44,7 @@ public class Q10829_InSearchOfTheCause extends Quest super(10829); addStartNpc(SERESIN); addTalkId(SERESIN, BELAS, FERIN, CYPHONIA); - setCreatureSeeId(this::onCreatureSee, BELAS); + addCreatureSeeId(BELAS); addCondMinLevel(MIN_LEVEL, "30657-00.htm"); } @@ -168,9 +167,9 @@ public class Q10829_InSearchOfTheCause extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final QuestState qs = getQuestState((PlayerInstance) creature, true); @@ -179,5 +178,6 @@ public class Q10829_InSearchOfTheCause extends Quest qs.setCond(2, true); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/quest/Quest.java b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/quest/Quest.java index df3a2e0c62..f4bdc319c3 100644 --- a/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/quest/Quest.java +++ b/L2J_Mobius_2.5_Underground/java/org/l2jmobius/gameserver/model/quest/Quest.java @@ -817,6 +817,36 @@ public class Quest extends AbstractScript implements IIdentifiable showResult(player, res); } + /** + * @param npc the NPC that sees the creature + * @param creature the creature seen by the NPC + */ + public void notifyCreatureSee(Npc npc, Creature creature) + { + PlayerInstance player = null; + if (creature.isPlayer()) + { + player = creature.getActingPlayer(); + } + String res = null; + try + { + res = onCreatureSee(npc, creature); + } + catch (Exception e) + { + if (player != null) + { + showError(player, e); + } + return; + } + if (player != null) + { + showResult(player, res); + } + } + /** * @param eventName - name of event * @param sender - NPC, who sent event @@ -1281,6 +1311,17 @@ public class Quest extends AbstractScript implements IIdentifiable return null; } + /** + * This function is called whenever an NPC "sees" a creature. + * @param npc the NPC who sees the creature + * @param creature the creature seen by the NPC + * @return + */ + public String onCreatureSee(Npc npc, Creature creature) + { + return null; + } + /** * This function is called whenever a player enters the game. * @param player this parameter contains a reference to the exact instance of the player who is entering to the world. @@ -2058,6 +2099,22 @@ public class Quest extends AbstractScript implements IIdentifiable setAttackableAggroRangeEnterId(event -> notifyAggroRangeEnter(event.getNpc(), event.getActiveChar(), event.isSummon()), npcIds); } + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(int... npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(Collection npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + /** * Register onEnterZone trigger for zone * @param zoneId the ID of the zone to register diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java index 5da0f89b23..7c28509deb 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class MercenaryCaptain extends AbstractNpcAI private MercenaryCaptain() { - setCreatureSeeId(this::onCreatureSee, MERCENARY_CAPTAIN); + addCreatureSeeId(MERCENARY_CAPTAIN); } @Override @@ -50,14 +49,14 @@ public class MercenaryCaptain extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/DragonValley/Namo.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/DragonValley/Namo.java index ba5afc9fca..6eabcccae7 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/DragonValley/Namo.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/DragonValley/Namo.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class Namo extends AbstractNpcAI private Namo() { - setCreatureSeeId(this::onCreatureSee, NAMO); + addCreatureSeeId(NAMO); } @Override @@ -50,14 +49,14 @@ public class Namo extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java index 9e1a9eed0c..2be4ef7954 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class Rakun extends AbstractNpcAI private Rakun() { - setCreatureSeeId(this::onCreatureSee, RAKUN); + addCreatureSeeId(RAKUN); } @Override @@ -50,14 +49,14 @@ public class Rakun extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java index 8b976bfedb..409b886c34 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java @@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import ai.AbstractNpcAI; @@ -46,7 +45,7 @@ public class Wisp extends AbstractNpcAI private Wisp() { addSpawnId(WISP); - setCreatureSeeId(this::onCreatureSee, WISP, LARGE_WISP); + addCreatureSeeId(WISP, LARGE_WISP); } @Override @@ -70,26 +69,24 @@ public class Wisp extends AbstractNpcAI { final Spawn spawn = npc.getSpawn(); spawn.stopRespawn(); - if ((npc.getId() == WISP) && (getRandom(100) < 10)) { addSpawn(LARGE_WISP, npc); npc.deleteMe(); } - return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); if (creature.isPlayer() || creature.isFakePlayer()) { npc.setTarget(creature); npc.doCast(npc.getId() == WISP ? WISP_HEAL.getSkill() : LARGE_WISP_HEAL.getSkill()); getTimers().addTimer("DELETE_NPC", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java index fb6ab8e213..bdcd4312f0 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import ai.AbstractNpcAI; @@ -80,7 +79,7 @@ public class Rooney extends AbstractNpcAI private Rooney() { - setCreatureSeeId(this::onCreatureSee, ROONEY); + addCreatureSeeId(ROONEY); addSpawn(ROONEY, getRandomEntry(LOCATIONS), false, 0); } @@ -125,19 +124,16 @@ public class Rooney extends AbstractNpcAI return null; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); - startQuestTimer("teleport", 60000, npc, null); - npc.setScriptValue(1); - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); + startQuestTimer("teleport", 60000, npc, null); + npc.setScriptValue(1); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java index aad5e6f05b..5becdce40e 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import ai.AbstractNpcAI; @@ -45,7 +44,7 @@ public class GardenWatchman extends AbstractNpcAI public GardenWatchman() { addSpawnId(GARDEN_WATCHMAN); - setCreatureSeeId(this::onCreatureSee, GENESIS_TRAP_1, GENESIS_TRAP_2); + addCreatureSeeId(GENESIS_TRAP_1, GENESIS_TRAP_2); } @Override @@ -90,14 +89,14 @@ public class GardenWatchman extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer()) { startQuestTimer("DEBUFF", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java index 3968ed6d26..68ea79dbbe 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.network.serverpackets.OnEventTrigger; @@ -57,7 +56,7 @@ public class EntrancePortalToCrystalCaverns extends AbstractNpcAI addTalkId(CAVERNS_ENTRACE); addFirstTalkId(CAVERNS_ENTRACE); addSpawnId(CAVERNS_ENTRACE); - setCreatureSeeId(this::onCreatureSee, CAVERNS_ENTRACE); + addCreatureSeeId(CAVERNS_ENTRACE); } @Override @@ -117,15 +116,16 @@ public class EntrancePortalToCrystalCaverns extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { creature.getActingPlayer().sendPacket(new OnEventTrigger(PRISON_ENTRACE_TRIGGER_1, true)); creature.getActingPlayer().sendPacket(new OnEventTrigger(PRISON_ENTRACE_TRIGGER_2, true)); updateTriggersForPlayer(creature.getActingPlayer(), getCurrentInstanceTemplateId()); } + return super.onCreatureSee(npc, creature); } public void updateTriggersForPlayer(PlayerInstance player, int currentTemplateId) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java index 15077051f3..f91feb7358 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -116,8 +115,8 @@ public class PrimevalIsle extends AbstractNpcAI addAttackId(TREX); addAttackId(MONSTERS); addKillId(EGG, SAILREN, DEINO, ORNIT); - setCreatureSeeId(this::onCreatureSee, TREX); - setCreatureSeeId(this::onCreatureSee, MONSTERS); + addCreatureSeeId(TREX); + addCreatureSeeId(MONSTERS); } @Override @@ -243,10 +242,9 @@ public class PrimevalIsle extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (CommonUtil.contains(MONSTERS, npc.getId())) { if (creature.isPlayer()) @@ -300,6 +298,7 @@ public class PrimevalIsle extends AbstractNpcAI npc.setRunning(); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java index a98bccb9c9..03ee3fca70 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -45,7 +44,7 @@ public class AltarOfSacrifice extends AbstractNpcAI private AltarOfSacrifice() { addSpawnId(IMMERIAL, JENNAS_GUARD, GIGGLE); - setCreatureSeeId(this::onCreatureSee, JENNAS_GUARD); + addCreatureSeeId(JENNAS_GUARD); } @Override @@ -72,15 +71,15 @@ public class AltarOfSacrifice extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if ((creature != null) && creature.isPlayer() && _jenas_guard.isScriptValue(0)) { startQuestTimer("msg_text", 3000, npc, null); _jenas_guard.setScriptValue(1); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java index 4aea462d7d..75c136685c 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java @@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.network.NpcStringId; @@ -66,8 +65,8 @@ public class SilentValley extends AbstractNpcAI addEventReceivedId(GUARD1, GUARD2); addKillId(MOBS); addSpawnId(CHEST, GUARD2); - setCreatureSeeId(this::onCreatureSee, MOBS); - setCreatureSeeId(this::onCreatureSee, GUARD1, GUARD2); + addCreatureSeeId(MOBS); + addCreatureSeeId(GUARD1, GUARD2); } @Override @@ -154,10 +153,9 @@ public class SilentValley extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayable()) { final PlayerInstance player = (creature.isSummon()) ? ((Summon) creature).getOwner() : creature.getActingPlayer(); @@ -172,6 +170,7 @@ public class SilentValley extends AbstractNpcAI addAttackPlayerDesire(npc, player); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java index d1f759948c..506f8fd7a2 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java @@ -32,7 +32,6 @@ 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.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import ai.AbstractNpcAI; @@ -80,7 +79,7 @@ public class Wastelands extends AbstractNpcAI { addKillId(REGENERATED_POSLOF, SAKUM); addSpawnId(COMMANDER, GUARD, DECO_GUARD, REGENERATED_KANILOV, REGENERATED_POSLOF, SAKUM); - setCreatureSeeId(this::onCreatureSee, JOEL, SCHUAZEN, COMMANDO, COMMANDO_CAPTAIN); + addCreatureSeeId(JOEL, SCHUAZEN, COMMANDO, COMMANDO_CAPTAIN); } @Override @@ -188,14 +187,14 @@ public class Wastelands extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ATTACK)) { startQuestTimer("START_ATTACK", 250, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Baium/Baium.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Baium/Baium.java index d96187f718..0a7c815157 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Baium/Baium.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Baium/Baium.java @@ -34,7 +34,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -112,7 +111,7 @@ public class Baium extends AbstractNpcAI addAttackId(BAIUM, ARCHANGEL); addKillId(BAIUM); addSpellFinishedId(BAIUM); - setCreatureSeeId(this::onCreatureSee, BAIUM); + addCreatureSeeId(BAIUM); final StatSet info = GrandBossManager.getInstance().getStatSet(BAIUM); @@ -561,12 +560,12 @@ public class Baium extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (!zone.isInsideZone(creature) || (creature.isNpc() && (creature.getId() == BAIUM_STONE))) { - return; + return super.onCreatureSee(npc, creature); } if (creature.isPlayer() && !creature.isDead() && (_standbyPlayer == null)) @@ -574,7 +573,6 @@ public class Baium extends AbstractNpcAI _standbyPlayer = (PlayerInstance) creature; } - final Npc npc = (Npc) event.getCreature(); if (creature.isInCategory(CategoryType.CLERIC_GROUP)) { if (npc.getCurrentHp() < (npc.getMaxHp() * 0.25)) @@ -599,6 +597,8 @@ public class Baium extends AbstractNpcAI refreshAiParams(creature, npc, 10000, 1000); } manageSkills(npc); + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java index fa14563861..4937e76f83 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.BuffInfo; @@ -103,7 +102,7 @@ public class BalokWarzone extends AbstractInstance addSkillSeeId(BALOK); addKillId(BALOK, MINION); addSpellFinishedId(BALOK); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_1); + addCreatureSeeId(INVISIBLE_NPC_1); } @Override @@ -293,16 +292,16 @@ public class BalokWarzone extends AbstractInstance return super.onKill(npc, player, isPet); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); getTimers().addTimer("stage_1_start", 60000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java index 5b4e3fb6c8..bdfd45f12a 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.DoorInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -62,7 +61,7 @@ public class BaylorWarzone extends AbstractInstance addInstanceCreatedId(TEMPLATE_ID); addSpawnId(INVISIBLE_NPC_1); addSpellFinishedId(INVISIBLE_NPC_1); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_1); + addCreatureSeeId(INVISIBLE_NPC_1); setCreatureKillId(this::onBossKill, BAYLOR); } @@ -304,16 +303,16 @@ public class BaylorWarzone extends AbstractInstance } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); getTimers().addTimer("START_SCENE_01", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } /** diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java index 340dd5e151..10e422ce25 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -62,7 +61,7 @@ public class IceQueensCastle extends AbstractInstance addTalkId(JINIA); addSpawnId(FREYA); addSpellFinishedId(FREYA); - setCreatureSeeId(this::onCreatureSee, BATTALION_LEADER, LEGIONNAIRE, MERCENARY_ARCHER); + addCreatureSeeId(BATTALION_LEADER, LEGIONNAIRE, MERCENARY_ARCHER); } @Override @@ -140,10 +139,9 @@ public class IceQueensCastle extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); @@ -159,6 +157,7 @@ public class IceQueensCastle extends AbstractInstance }); startQuestTimer("ATTACK_KNIGHT", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java index 1692f91226..58f65e79c2 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.NpcStringId; @@ -78,7 +77,7 @@ public class KimerianCommon extends AbstractInstance addSpawnId(FAIRY_REBEL, NEOMI_KASHERON); addAttackId(KIMERIAN); addKillId(KIMERIAN_GHOST, KIMERIAN); - setCreatureSeeId(this::onCreatureSee, FAIRY_REBEL, NEOMI_KASHERON, INVISIBLE_NPC, KIMERIAN); + addCreatureSeeId(FAIRY_REBEL, NEOMI_KASHERON, INVISIBLE_NPC, KIMERIAN); setCreatureKillId(this::onCreatureKill, FAIRY_REBEL, NEOMI_KASHERON); } @@ -334,14 +333,12 @@ public class KimerianCommon extends AbstractInstance return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final StatSet npcParams = npc.getParameters(); final StatSet npcVars = npc.getVariables(); final Instance instance = npc.getInstanceWorld(); - if (isInInstance(instance)) { switch (npc.getId()) @@ -412,6 +409,7 @@ public class KimerianCommon extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } private void spawnHollow(Npc npc, PlayerInstance player, boolean isHollow) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java index caab21e1d3..f0200d1563 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java @@ -46,7 +46,6 @@ 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.OnCreatureDamageReceived; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -208,7 +207,7 @@ public class Lindvior extends AbstractNpcAI addSkillSeeId(NPC_GENERATOR); addFirstTalkId(NPC_GENERATOR); addSpawnId(NPC_ATTACKER_GENERATORS, NPC_ATTACKER_GENERATORS_1, LYN_DRACO_ATTACKER_GENERATORS, GENERATOR_GUARD, NPC_GENERATOR); - setCreatureSeeId(this::onCreatureSee, INVISIBLE); + addCreatureSeeId(INVISIBLE); _zoneLair = ZoneManager.getInstance().getZoneById(ZONE_ID, NoSummonFriendZone.class); // Unlock final StatSet info = GrandBossManager.getInstance().getStatSet(LINDVIOR_RAID); @@ -509,12 +508,13 @@ public class Lindvior extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); setLindviorSpawnTask(); npc.getSpawn().stopRespawn(); npc.deleteMe(); + return super.onCreatureSee(npc, creature); } private void nextStage(int taskId) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java index 4b49959ccb..610906bb55 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java @@ -22,9 +22,9 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.World; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.serverpackets.FlyToLocation; import org.l2jmobius.gameserver.network.serverpackets.ValidateLocation; @@ -44,7 +44,7 @@ public class Vortex extends AbstractNpcAI { super(); addSpawnId(SMALL_VORTEX, BIG_VORTEX); - setCreatureSeeId(this::onCreatureSee, SMALL_VORTEX, BIG_VORTEX); + addCreatureSeeId(SMALL_VORTEX, BIG_VORTEX); } @Override @@ -112,9 +112,9 @@ public class Vortex extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); switch (npc.getId()) { case SMALL_VORTEX: @@ -128,6 +128,7 @@ public class Vortex extends AbstractNpcAI break; } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java index 0f7f84f52e..d0cf7094cf 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -118,7 +117,7 @@ public class OctavisWarzone extends AbstractInstance addMoveFinishedId(GLADIATORS); addSpellFinishedId(OCTAVIS_STAGE_2); addEnterZoneId(TELEPORT_ZONE.getId()); - setCreatureSeeId(this::onCreatureSee, DOOR_MANAGER); + addCreatureSeeId(DOOR_MANAGER); addInstanceCreatedId(TEMPLATE_ID, EXTREME_TEMPLATE_ID); } @@ -562,10 +561,9 @@ public class OctavisWarzone extends AbstractInstance return super.onSpellFinished(npc, player, skill); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { @@ -574,6 +572,7 @@ public class OctavisWarzone extends AbstractInstance getTimers().addTimer("SECOND_DOOR_OPEN", 3000, npc, null); getTimers().addTimer("CLOSE_DOORS", 60000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java index 30762e753e..d00ce30c61 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java @@ -37,7 +37,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.DoorInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestTimer; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -137,7 +136,7 @@ public class Ramona extends AbstractNpcAI addKillId(MP_CONTROL, RAMONA_1, RAMONA_2, RAMONA_3); addAttackId(MP_CONTROL, RAMONA_1, RAMONA_2, RAMONA_3); addSpawnId(RAMONA_1, RAMONA_2, RAMONA_3); - setCreatureSeeId(this::onCreatureSee, MP_CONTROL); + addCreatureSeeId(MP_CONTROL); final long temp = GlobalVariablesManager.getInstance().getLong(RAMONA_RESPAWN_VAR, 0) - Chronos.currentTimeMillis(); if (temp > 0) @@ -551,16 +550,15 @@ public class Ramona extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); npc.setInvul(true); - - final Creature creature = event.getSeen(); if (creature.isPlayer()) { startQuestTimer("SPAWN_MS", 10000, npc, null, true); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java index 32ff487818..f876b87a40 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -101,7 +100,7 @@ public class TeredorWarzone extends AbstractInstance addEventReceivedId(EGG_2); addAttackId(TEREDOR); addKillId(EGG_2, TEREDOR); - setCreatureSeeId(this::onCreatureSee, BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR); + addCreatureSeeId(BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR); } @Override @@ -272,10 +271,9 @@ public class TeredorWarzone extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance)) { @@ -361,6 +359,7 @@ public class TeredorWarzone extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java index 5915de7581..b5ea301ac1 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java @@ -37,7 +37,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.BuffInfo; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -318,7 +317,7 @@ public class Trasken extends AbstractNpcAI addExitZoneId(ZONE_ID); addEnterZoneId(ZONE_ID_HEART); addExitZoneId(ZONE_ID_HEART); - setCreatureSeeId(this::onCreatureSee, LAVRA_1, LAVRA_2, LAVRA_3, TRADJAN, TIE, BIG_TIE); + addCreatureSeeId(LAVRA_1, LAVRA_2, LAVRA_3, TRADJAN, TIE, BIG_TIE); init(); if (DoorData.getInstance().getDoor(DOOR) != null) { @@ -539,12 +538,12 @@ public class Trasken extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); if (npc.isDead()) { - return; + return super.onCreatureSee(npc, creature); } if ((npc.getId() == LAVRA_1) || (npc.getId() == LAVRA_2) || (npc.getId() == LAVRA_3) || (npc.getId() == TRADJAN)) @@ -553,7 +552,6 @@ public class Trasken extends AbstractNpcAI } else if ((npc.getId() == TIE) || (npc.getId() == BIG_TIE)) { - final Creature creature = event.getSeen(); if (getRandom(100) < 60) { npc.setTarget(creature); @@ -567,6 +565,8 @@ public class Trasken extends AbstractNpcAI addAttackPlayerDesire(npc, (Playable) creature); } } + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java index f658ee30ac..04b0f85a5e 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MerchantInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.clan.ClanPrivilege; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.residences.ClanHall; import org.l2jmobius.gameserver.model.residences.ResidenceFunction; @@ -104,7 +103,7 @@ public class ClanHallManager extends AbstractNpcAI addStartNpc(CLANHALL_MANAGERS); addTalkId(CLANHALL_MANAGERS); addFirstTalkId(CLANHALL_MANAGERS); - setCreatureSeeId(this::onCreatureSee, CLANHALL_MANAGERS); + addCreatureSeeId(CLANHALL_MANAGERS); } @Override @@ -486,18 +485,18 @@ public class ClanHallManager extends AbstractNpcAI return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final ClanHall clanHall = npc.getClanHall(); if (clanHall != null) { creature.getActingPlayer().sendPacket(new AgitDecoInfo(clanHall)); } } + return super.onCreatureSee(npc, creature); } private void updateVisualEffects(ClanHall clanHall, Npc npc) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/Gordon.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/Gordon.java index a2d9276bf5..6d7312128b 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/Gordon.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/ai/others/Gordon.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import ai.AbstractNpcAI; @@ -35,17 +34,17 @@ public class Gordon extends AbstractNpcAI private Gordon() { addSpawnId(GORDON); - setCreatureSeeId(this::onCreatureSee, GORDON); + addCreatureSeeId(GORDON); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer() && ((PlayerInstance) creature).isCursedWeaponEquipped()) { - final Npc npc = (Npc) event.getCreature(); addAttackPlayerDesire(npc, (PlayerInstance) creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java index c69ca36aae..fa6dadd15b 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; @@ -67,7 +66,7 @@ public class ChamberOfProphecies extends AbstractInstance addStartNpc(KAIN_VAN_HALTER); addFirstTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD); addTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD); - setCreatureSeeId(this::onCreatureSee, FERIN, VAN_HALTER); + addCreatureSeeId(FERIN, VAN_HALTER); } @Override @@ -501,13 +500,12 @@ public class ChamberOfProphecies extends AbstractInstance return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (world != null) { - final Creature creature = event.getSeen(); switch (npc.getId()) { case FERIN: @@ -528,6 +526,7 @@ public class ChamberOfProphecies extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java index ac9290a099..2451279b0c 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -76,7 +75,7 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance addSpellFinishedId(WATER_CANNON_SKILL); addInstanceEnterId(TEMPLATE_ID); addInstanceLeaveId(TEMPLATE_ID); - setCreatureSeeId(this::onCreatureSee, WATER_CANNON); + addCreatureSeeId(WATER_CANNON); } @Override @@ -380,10 +379,9 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if ((world != null) && creature.isPlayer() && npc.isScriptValue(0)) { @@ -391,6 +389,7 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance npc.setDisplayEffect(1); getTimers().addRepeatingTimer("CANNON_LOOP_ATTACK", 1000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java index 1cd4834736..6882879232 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -79,7 +78,7 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance addInstanceCreatedId(TEMPLATE_ID); addInstanceEnterId(TEMPLATE_ID); addInstanceLeaveId(TEMPLATE_ID); - setCreatureSeeId(this::onCreatureSee, PLAYER_DETECTOR); + addCreatureSeeId(PLAYER_DETECTOR); } @Override @@ -361,10 +360,9 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance return super.onKill(npc, killer, isSummon); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance) && creature.isPlayer()) { @@ -381,6 +379,7 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance npc.deleteMe(); } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java index e6e27df357..eb1f18e412 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -98,7 +97,7 @@ public class HarnakUndergroundRuins extends AbstractInstance { super(TEMPLATE_ID); registerMobs(KRAKIA_BATHUS, KRAKIA_CARCASS, KRAKIA_LOTUS, RAKZAN, WEISS_KHAN, BAMONTI, SEKNUS, WEISS_ELE, HARNAKS_WRAITH); - setCreatureSeeId(this::onCreatureSee, POWER_SOURCES); + addCreatureSeeId(POWER_SOURCES); addEnterZoneId(ZONE_ROOM_2, ZONE_ROOM_3); addFirstTalkId(SEAL_CONTROL_DEVICE); addTalkId(HADEL); @@ -674,18 +673,18 @@ public class HarnakUndergroundRuins extends AbstractInstance return super.onAttack(npc, player, damage, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("cast_release_power", 2000, npc, creature.getActingPlayer()); if (npc.getId() == POWER_SOURCE) { startQuestTimer("whisper_to_player", 2000, npc, creature.getActingPlayer()); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java index c0b58def5b..2a98135f75 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java @@ -31,7 +31,6 @@ import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -91,9 +90,9 @@ public class KartiaHelperAdolph extends AbstractNpcAI private KartiaHelperAdolph() { addSpellFinishedId(KARTIA_ADOLPH); + addCreatureSeeId(KARTIA_ADOLPH); setCreatureKillId(this::onCreatureKill, KARTIA_ADOLPH); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_ADOLPH); - setCreatureSeeId(this::onCreatureSee, KARTIA_ADOLPH); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -288,14 +287,14 @@ public class KartiaHelperAdolph extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java index 5d6a180033..479bde56c6 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -86,9 +85,9 @@ public class KartiaHelperBarton extends AbstractNpcAI private KartiaHelperBarton() { + addCreatureSeeId(KARTIA_BARTON); setCreatureKillId(this::onCreatureKill, KARTIA_BARTON); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_BARTON); - setCreatureSeeId(this::onCreatureSee, KARTIA_BARTON); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -146,17 +145,18 @@ public class KartiaHelperBarton extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java index 6212649204..000919660b 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java @@ -33,7 +33,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -110,8 +109,8 @@ public class KartiaHelperElise extends AbstractNpcAI private KartiaHelperElise() { + addCreatureSeeId(KARTIA_ELISE); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); - setCreatureSeeId(this::onCreatureSee, KARTIA_ELISE); setCreatureKillId(this::onCreatureKill, KARTIA_ELISE); } @@ -243,12 +242,11 @@ public class KartiaHelperElise extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer() || (creature instanceof FriendlyNpcInstance)) { - final Npc npc = (Npc) event.getCreature(); final StatSet npcVars = npc.getVariables(); if (creature.isPlayer()) { @@ -271,6 +269,7 @@ public class KartiaHelperElise extends AbstractNpcAI npcVars.set("HAYUK_OBJECT", creature); } } + return super.onCreatureSee(npc, creature); } public void onCreatureKill(OnCreatureDeath event) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java index 3b59fd7514..404b7722b2 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -81,9 +80,9 @@ public class KartiaHelperEliyah extends AbstractNpcAI private KartiaHelperEliyah() { + addCreatureSeeId(KARTIA_ELIYAH); setCreatureKillId(this::onCreatureKill, KARTIA_ELIYAH); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_ELIYAH); - setCreatureSeeId(this::onCreatureSee, KARTIA_ELIYAH); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -137,17 +136,18 @@ public class KartiaHelperEliyah extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void onCreatureAttacked(OnCreatureAttacked event) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java index 865762b4d4..230656b816 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java @@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -90,9 +89,9 @@ public class KartiaHelperGuardian extends AbstractNpcAI private KartiaHelperGuardian() { + addCreatureSeeId(KARTIA_GUARDIANS); setCreatureKillId(this::onCreatureKill, KARTIA_GUARDIANS); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_GUARDIANS); - setCreatureSeeId(this::onCreatureSee, KARTIA_GUARDIANS); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -155,21 +154,22 @@ public class KartiaHelperGuardian extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } else if (CommonUtil.contains(KARTIA_ELIYAH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ELIYAH_OBJECT", creature); + npc.getVariables().set("ELIYAH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java index 2892d96e3e..ba13eb1888 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -87,9 +86,9 @@ public class KartiaHelperHayuk extends AbstractNpcAI private KartiaHelperHayuk() { + addCreatureSeeId(KARTIA_HAYUK); setCreatureKillId(this::onCreatureKill, KARTIA_HAYUK); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_HAYUK); - setCreatureSeeId(this::onCreatureSee, KARTIA_HAYUK); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -152,17 +151,18 @@ public class KartiaHelperHayuk extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java index 33ba6a3bbb..0cf9e476d3 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java @@ -31,7 +31,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -186,13 +185,13 @@ public class KartiasLabyrinth extends AbstractInstance addMoveFinishedId(MINI_BOSSES); addMoveFinishedId(PRISONERS); addRouteFinishedId(MONSTERS); - setCreatureKillId(this::onCreatureKill, MONSTERS); - setCreatureKillId(this::onBossKill, BOSSES); - setCreatureSeeId(this::onCreatureSee, MONSTERS); + addCreatureSeeId(MONSTERS); addEnterZoneId(KARTIA_85_DETECT_1, KARTIA_85_DETECT_2); addEnterZoneId(KARTIA_90_DETECT_1, KARTIA_90_DETECT_2); addEnterZoneId(KARTIA_95_DETECT_1, KARTIA_95_DETECT_2); addInstanceCreatedId(TEMPLATE_ID_SOLO_85, TEMPLATE_ID_SOLO_90, TEMPLATE_ID_SOLO_95, TEMPLATE_ID_GROUP_85, TEMPLATE_ID_GROUP_90, TEMPLATE_ID_GROUP_95); + setCreatureKillId(this::onCreatureKill, MONSTERS); + setCreatureKillId(this::onBossKill, BOSSES); } @Override @@ -873,10 +872,9 @@ public class KartiasLabyrinth extends AbstractInstance } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if ((world != null) && (creature.isPlayer() || creature.getInstanceType().isType(InstanceType.FriendlyNpcInstance)) && npc.isScriptValue(1)) { @@ -892,6 +890,7 @@ public class KartiasLabyrinth extends AbstractInstance addAttackDesire(npc, creature); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java index 52fde99b20..014e294ffe 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java @@ -40,7 +40,6 @@ 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.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerCallToChangeClass; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLogin; @@ -201,10 +200,10 @@ public class MemoryOfDisaster extends AbstractInstance addMoveFinishedId(ROGIN, SOLDIER, WIRPHY, SILVERA); addMoveFinishedId(DWARVES); addSpellFinishedId(SIEGE_GOLEM, INVISIBLE_NPC, TEREDOR_TRANSPARENT, EARTH_WYRM_TRASKEN, SWOOP_CANNON); + addCreatureSeeId(TENTACLE, SOLDIER, SOLDIER2, TEREDOR, INVISIBLE_NPC, CONTROL_DARKELF_AWAKE); + addEventReceivedId(SACRIFICED_DARK_ELF); setCreatureKillId(this::onCreatureKill, BRONK, SILVERA); setCreatureAttackedId(this::onCreatureAttacked, BRONK, TENTACLE, SOLDIER, SOLDIER2, TEREDOR, SIEGE_GOLEM, WIRPHY, SILVERA); - setCreatureSeeId(this::onCreatureSee, TENTACLE, SOLDIER, SOLDIER2, TEREDOR, INVISIBLE_NPC, CONTROL_DARKELF_AWAKE); - addEventReceivedId(SACRIFICED_DARK_ELF); } @Override @@ -343,10 +342,9 @@ public class MemoryOfDisaster extends AbstractInstance return super.onSpawn(npc); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world)) { @@ -423,6 +421,7 @@ public class MemoryOfDisaster extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java index 9cb99c665f..855babef3b 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -90,7 +89,7 @@ public class NornilsGarden extends AbstractInstance addKillId(ATTACABLE_MONSTERS); addKillId(SPICULA_ZERO); addKillId(BOZ_STAGE1, BOZ_STAGE2, BOZ_STAGE3, BOZ_STAGE4); - setCreatureSeeId(this::onCreatureSee, BOZ_STAGE1); + addCreatureSeeId(BOZ_STAGE1); } @Override @@ -283,12 +282,11 @@ public class NornilsGarden extends AbstractInstance return "33781.html"; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayable()) { - final Npc npc = (Npc) event.getCreature(); if (npc.isScriptValue(0)) { startQuestTimer("stage1", 3000, npc, null); @@ -296,6 +294,7 @@ public class NornilsGarden extends AbstractInstance npc.setScriptValue(1); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java index 78e794dd45..2161022d2f 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java @@ -29,7 +29,6 @@ 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.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.npc.OnAttackableFactionCall; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -133,8 +132,8 @@ public class PailakaInjuredDragon extends AbstractInstance addAttackId(LATANA); addSpawnId(TELEPORT_TRAP, DRAGON_TARGET, LATANA_SKILL_USE, DRAGON_CAMERA_2); addSpawnId(WIZARDS); - setCreatureSeeId(this::onCreatureSee, WIZARDS); - setCreatureSeeId(this::onCreatureSee, LATANA); + addCreatureSeeId(WIZARDS); + addCreatureSeeId(LATANA); addKillId(ANIMALS); addKillId(LATANA); } @@ -475,10 +474,9 @@ public class PailakaInjuredDragon extends AbstractInstance return super.onSpawn(npc); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world)) { @@ -510,6 +508,7 @@ public class PailakaInjuredDragon extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java index d6edf4ddef..012e3f391e 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; import org.l2jmobius.gameserver.network.NpcStringId; @@ -60,7 +59,7 @@ public class PailakaSongOfIceAndFire extends AbstractInstance addExitZoneId(ZONE); addSpawnId(BLOOM); addKillId(BLOOM); - setCreatureSeeId(this::onCreatureSee, GARGOS); + addCreatureSeeId(GARGOS); } @Override @@ -169,18 +168,15 @@ public class PailakaSongOfIceAndFire extends AbstractInstance return super.onExitZone(creature, zone); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - npc.setScriptValue(1); - startQuestTimer("GARGOS_LAUGH", 1000, npc, creature.getActingPlayer()); - } + npc.setScriptValue(1); + startQuestTimer("GARGOS_LAUGH", 1000, npc, creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java index 1f2f3fb59a..03f45281cd 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -116,7 +115,7 @@ public class PrisonOfDarkness extends AbstractInstance addTalkId(SPEZION_HEADSTONE, WARP_POINT, TIME_BOMB_1, STARLIGHT_LATTICE, JOSEPHINA); addSpawnId(WARP_POINT, ESCORT_WARRIOR); addSpellFinishedId(MONSTERS); - setCreatureSeeId(this::onCreatureSee, EXIT_PORTAL); + addCreatureSeeId(EXIT_PORTAL); addKillId(SPEZIONS_PAWN); addFirstTalkId(JOSEPHINA); } @@ -343,31 +342,36 @@ public class PrisonOfDarkness extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance) && (npc.getId() == EXIT_PORTAL)) { final StatSet npcVars = npc.getVariables(); - switch (npcVars.getInt("PORTAL_STATE", 0)) { case 0: + { takeItems(creature.getActingPlayer(), GIANT_CANNONBALL, -1); creature.teleToLocation(getRandomEntry(PLAYERS_RANDOM_LOCS)); showOnScreenMsg(creature.getActingPlayer(), NpcStringId.YOU_NEED_TO_FIND_ESCAPE_DEVICE_RE_ENTRY_IS_NOT_ALLOWED_ONCE_YOU_VE_LEFT_THE_INSTANT_ZONE, ExShowScreenMessage.TOP_CENTER, 4000); instance.getParameters().increaseInt("PLAYERS_COUNT", 0, 1); break; + } case 1: + { creature.teleToLocation(ORBIS_LOCATION); break; + } case 2: + { creature.teleToLocation(SPEZION_LAIR); break; + } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java index 28208a3ce2..66a7865113 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -57,7 +56,7 @@ public class TalkingIslandPast extends AbstractInstance addTalkId(DARIN, ROXXY, MYSTERIOUS_DARK_KNIGHT); addFirstTalkId(DARIN, ROXXY, MYSTERIOUS_DARK_KNIGHT); addExitZoneId(TALKING_ISLAND_ZONE); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_TI_NPC); + addCreatureSeeId(INVISIBLE_TI_NPC); } @Override @@ -104,10 +103,9 @@ public class TalkingIslandPast extends AbstractInstance return super.onExitZone(creature, zone); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); if (creature.isPlayer()) { final Instance instance = creature.getInstanceWorld(); @@ -124,6 +122,7 @@ public class TalkingIslandPast extends AbstractInstance getTimers().addTimer("MSG", null, 5000, npc, player, n -> showOnScreenMsg(n.getPlayer(), NpcStringId.TALK_TO_THE_MYSTERIOUS_DARK_KNIGHT, ExShowScreenMessage.TOP_CENTER, 5000)); } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java index 0f9ff6f98c..5ae6b98102 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java @@ -31,7 +31,6 @@ 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.OnCreatureSee; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -59,7 +58,7 @@ public class Q00454_CompletelyLost extends Quest addStartNpc(INJURED_SOLDIER); addTalkId(INJURED_SOLDIER, ERMIAN); addMoveFinishedId(INJURED_SOLDIER); - setCreatureSeeId(this::onCreatureSee, INJURED_SOLDIER); + addCreatureSeeId(INJURED_SOLDIER); addEventReceivedId(INJURED_SOLDIER); } @@ -398,17 +397,14 @@ public class Q00454_CompletelyLost extends Quest } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - addAttackPlayerDesire(npc, creature.getActingPlayer(), 10); - } + addAttackPlayerDesire(npc, creature.getActingPlayer(), 10); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java index 53c4e8a863..cba0f398c1 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java @@ -24,9 +24,9 @@ import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.enums.QuestSound; import org.l2jmobius.gameserver.enums.QuestType; import org.l2jmobius.gameserver.model.Party; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.NpcLogListHolder; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -60,8 +60,8 @@ public class Q00833_DevilsTreasureTauti extends Quest addStartNpc(DETON); addTalkId(SETTLEN); addKillId(FLAME_SCORPION, FLAME_GOLEM, FLAME_SCARAB, SEAL_TOMBSTONE); + addCreatureSeeId(DETON); registerQuestItems(FLAME_FLOWER); - setCreatureSeeId(this::onCreatureSee, DETON); } @Override @@ -115,9 +115,10 @@ public class Q00833_DevilsTreasureTauti extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final PlayerInstance player = event.getSeen().getActingPlayer(); + final PlayerInstance player = creature.getActingPlayer(); if (player != null) { final QuestState qs = getQuestState(player, true); @@ -127,6 +128,7 @@ public class Q00833_DevilsTreasureTauti extends Quest qs.startQuest(); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java index bebeea1946..8ae58bb610 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java @@ -19,9 +19,9 @@ package quests.Q00835_PitiableMelisa; import org.l2jmobius.Config; import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.enums.QuestType; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -56,8 +56,8 @@ public class Q00835_PitiableMelisa extends Quest addStartNpc(KANNA); addTalkId(SETTLEN); addKillId(MONSTERS); + addCreatureSeeId(KANNA); registerQuestItems(ICE_CRYSTAL_SHARD); - setCreatureSeeId(this::onCreatureSee, KANNA); } @Override @@ -119,9 +119,10 @@ public class Q00835_PitiableMelisa extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final PlayerInstance player = event.getSeen().getActingPlayer(); + final PlayerInstance player = creature.getActingPlayer(); if (player != null) { final QuestState qs = getQuestState(player, true); @@ -131,6 +132,7 @@ public class Q00835_PitiableMelisa extends Quest qs.startQuest(); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java index c34fcaaf71..b924b2a79e 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -118,8 +117,8 @@ public class Q10369_NoblesseSoulTesting extends Quest addFirstTalkId(FLAME_FLOWER, HELPING_TREE_SUMMON_DEVICE, HELPING_TREE); addCondMinLevel(MIN_LEVEL, "31281-13.htm"); addCondIsSubClassActive(""); + addCreatureSeeId(INVISIBLE_NPC_NOBLE); registerQuestItems(SUMMONING_STONE, NOVELLA_PROPHECY, EMPTY_HOT_SPRINGS_WATER_BOTTLE, HOT_SPRINGS_WATER_BOTTLE, DURABLE_LEATHER, TROWEL, FIRE_ENERGY, HARD_FOSSIL_CONTAINING_WATER_ENERGY, HELPING_SEED, ASHES_OF_REMNANTS, SOE_HOT_SPRINGS, SOE_ADEN_CASTLE, SOE_RUNE_CASTLE, SOE_ISLE_OF_PRAYER, SOE_FORGE_OF_GODS, SOE_SECRET_ROOM); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_NOBLE); } @Override @@ -498,9 +497,9 @@ public class Q10369_NoblesseSoulTesting extends Quest return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -527,6 +526,7 @@ public class Q10369_NoblesseSoulTesting extends Quest } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java index 0d0cc62d34..5dc406d528 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.events.EventType; import org.l2jmobius.gameserver.model.events.ListenerRegisterType; import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent; import org.l2jmobius.gameserver.model.events.annotations.RegisterType; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerSocialAction; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -116,7 +115,7 @@ public class Q10385_RedThreadOfFate extends Quest addKillId(SHILEN_MESSENGER); addCondMinLevel(MIN_LEVEL, "33491-08.html"); addCondNotRace(Race.ERTHEIA, "33491-09.html"); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_ANGHEL_WATERFALL_NPC); + addCreatureSeeId(INVISIBLE_ANGHEL_WATERFALL_NPC); registerQuestItems(MYSTERIOUS_LETTER, HEINE_FROM_THE_GARDEN_OF_EVA, CLEAREST_WATER, BRIGHTEST_LIGHT, PUREST_SOUL, FIERCEST_FLAME, FONDEST_HEART, VULCUN_TRUE_GOLD, VULCUN_PURE_SILVER, VULCUN_BLOOD_FIRE, SCROLL_OF_ESCAPE_VALLEY_OF_SAINTS, SCROLL_OF_ESCAPE_FORGE_OF_THE_GODS, SCROLL_OF_ESCAPE_IVORY_TOWER, SCROLL_OF_ESCAPE_DWARVEN_VILLAGE); } @@ -691,12 +690,11 @@ public class Q10385_RedThreadOfFate extends Quest return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final PlayerInstance player = creature.getActingPlayer(); final QuestState qs = getQuestState(player, false); if ((npc.getId() == INVISIBLE_ANGHEL_WATERFALL_NPC) && (qs != null) && qs.isCond(7)) @@ -704,6 +702,7 @@ public class Q10385_RedThreadOfFate extends Quest showOnScreenMsg(player, NpcStringId.YOU_HAVE_REACHED_ANGHEL_WATERFALL_GO_INSIDE_THE_CAVE, ExShowScreenMessage.TOP_CENTER, 5000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java index 2f7cff7350..34d7b9bd67 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java @@ -19,7 +19,6 @@ package quests.Q10390_KekropusLetter; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -63,9 +62,9 @@ public class Q10390_KekropusLetter extends Quest super(10390); addStartNpc(RAYMOND, RAINS, TOBIAS, DRIKUS, MENDIO, GERSHWIN, ESRANDELL, ELLENIA); addTalkId(RAYMOND, RAINS, TOBIAS, DRIKUS, MENDIO, GERSHWIN, ESRANDELL, ELLENIA, BATHIS, GOSTA, ELI); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); - registerQuestItems(KEKROPUS_LETTER, HAINE_SOE, ALLIGATOR_ISLAND_SOE); + addCreatureSeeId(INVISIBLE_NPC); addCondCompletedQuest(Q10360_CertificationOfFate.class.getSimpleName(), ""); + registerQuestItems(KEKROPUS_LETTER, HAINE_SOE, ALLIGATOR_ISLAND_SOE); } @Override @@ -297,9 +296,9 @@ public class Q10390_KekropusLetter extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -309,6 +308,7 @@ public class Q10390_KekropusLetter extends Quest showOnScreenMsg(player, NpcStringId.ALLIGATOR_ISLAND_IS_A_GOOD_HUNTING_ZONE_FOR_LV_40_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } private boolean isRightMaster(Npc npc, PlayerInstance player) diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java index 272ccab7e2..a3c8825ff4 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,7 +50,7 @@ public class Q10393_KekropusLetterAClueCompleted extends LetterQuest { super(10393); addTalkId(FLUTER, KELIOS); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_2"); @@ -127,9 +126,9 @@ public class Q10393_KekropusLetterAClueCompleted extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -139,5 +138,6 @@ public class Q10393_KekropusLetterAClueCompleted extends LetterQuest showOnScreenMsg(player, NpcStringId.OUTLAW_FOREST_IS_A_GOOD_HUNTING_ZONE_FOR_LV_46_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10397_KekropusLetterASuspiciousBadge/Q10397_KekropusLetterASuspiciousBadge.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10397_KekropusLetterASuspiciousBadge/Q10397_KekropusLetterASuspiciousBadge.java index 053cfc3ad8..b790a62798 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10397_KekropusLetterASuspiciousBadge/Q10397_KekropusLetterASuspiciousBadge.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10397_KekropusLetterASuspiciousBadge/Q10397_KekropusLetterASuspiciousBadge.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10397_KekropusLetterASuspiciousBadge extends LetterQuest { super(10397); addTalkId(MOUEN, ANDY); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_3"); setStartLocation(SOE_TOWN_OF_OREN, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_OREN, SOE_SEA_OF_SPORES); } @@ -130,9 +129,9 @@ public class Q10397_KekropusLetterASuspiciousBadge extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -142,5 +141,6 @@ public class Q10397_KekropusLetterASuspiciousBadge extends LetterQuest showOnScreenMsg(player, NpcStringId.SEA_OF_SPORES_IS_A_GOOD_HUNTING_ZONE_FOR_LV_52_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java index 59abb443bc..d5023651ec 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10401_KekropusLetterDecodingTheBadge extends LetterQuest { super(10401); addTalkId(PATERSON, EBLUNE); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_4"); setStartLocation(SOE_TOWN_OF_ADEN, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_ADEN, SOE_FORSAKEN_PLAINS); } @@ -130,9 +129,9 @@ public class Q10401_KekropusLetterDecodingTheBadge extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -142,5 +141,6 @@ public class Q10401_KekropusLetterDecodingTheBadge extends LetterQuest showOnScreenMsg(player, NpcStringId.FORSAKEN_PLAINS_IA_A_GOOD_HUNTING_ZONE_FOR_LV_58_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java index 5f219edeb6..15cb21e47d 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10404_KekropusLetterAHiddenMeaning extends LetterQuest { super(10404); addTalkId(PATERSON, SHUVANN); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartLocation(SOE_TOWN_OF_ADEN, TELEPORT_LOC); setStartQuestSound("Npcdialog1.kekrops_quest_5"); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_ADEN, SOE_FIELDS_OF_MASSACRE); } @@ -130,9 +129,9 @@ public class Q10404_KekropusLetterAHiddenMeaning extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -142,5 +141,6 @@ public class Q10404_KekropusLetterAHiddenMeaning extends LetterQuest showOnScreenMsg(player, NpcStringId.FIELDS_OF_MASSACRE_IS_A_GOOD_HUNTING_ZONE_FOR_LV_61_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java index 064f50a659..a333231958 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10408_KekropusLetterTheSwampOfScreams extends LetterQuest { super(10408); addTalkId(MATHIAS, DOKARA); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_6"); setStartLocation(SOE_TOWN_OF_RUNE, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_RUNE, SOE_SWAMP_OF_SCREAMS); } @@ -131,9 +130,9 @@ public class Q10408_KekropusLetterTheSwampOfScreams extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -143,6 +142,7 @@ public class Q10408_KekropusLetterTheSwampOfScreams extends LetterQuest showOnScreenMsg(player, NpcStringId.SWAMP_OF_SCREAMS_IA_A_GOOD_HUNTING_ZONE_FOR_LV_65_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java index a3f1414b19..b1fdf55ce0 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10411_KekropusLetterTheForestOfTheDead extends LetterQuest { super(10411); addTalkId(MATHIAS, HATUBA); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_7"); setStartLocation(SOE_TOWN_OF_RUNE, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_RUNE, SOE_FOREST_OF_THE_DEAD); } @@ -131,9 +130,9 @@ public class Q10411_KekropusLetterTheForestOfTheDead extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -143,6 +142,7 @@ public class Q10411_KekropusLetterTheForestOfTheDead extends LetterQuest showOnScreenMsg(player, NpcStringId.FOREST_OF_THE_DEAD_IS_A_GOOD_HUNTING_ZONE_FOR_LV_65_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java index 3316b01286..36611da116 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10414_KekropusLetterWithCourage extends LetterQuest { super(10414); addTalkId(ANDREI, JANITT); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_8"); setStartLocation(SOE_TOWN_OF_GODDARD, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GODDARD, SOE_WALL_OF_ARGOS); } @@ -131,9 +130,9 @@ public class Q10414_KekropusLetterWithCourage extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -143,6 +142,7 @@ public class Q10414_KekropusLetterWithCourage extends LetterQuest showOnScreenMsg(player, NpcStringId.WALL_OF_ARGOS_IS_A_GOOD_HUNTING_ZONE_FOR_LV_70_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java index 583e5edec2..b3f4cf26a3 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -52,7 +51,7 @@ public class Q10415_KekropusLetterWithWisdom extends LetterQuest { super(10415); addTalkId(ANDREI, JANITT); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_8"); @@ -127,9 +126,9 @@ public class Q10415_KekropusLetterWithWisdom extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -139,6 +138,7 @@ public class Q10415_KekropusLetterWithWisdom extends LetterQuest showOnScreenMsg(player, NpcStringId.WALL_OF_ARGOS_IS_A_GOOD_HUNTING_ZONE_FOR_LV_70_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java index c019218f90..0505d281c9 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10419_KekropusLetterKampfsWhereabouts extends LetterQuest { super(10419); addTalkId(ANDREI, HANSEN); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_9"); setStartLocation(SOE_TOWN_OF_GODDARD, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GODDARD, SOE_VARKA_SILENOS_BARRACKS); } @@ -131,9 +130,9 @@ public class Q10419_KekropusLetterKampfsWhereabouts extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -143,6 +142,7 @@ public class Q10419_KekropusLetterKampfsWhereabouts extends LetterQuest showOnScreenMsg(player, NpcStringId.VARKA_SILENOS_BARRACKS_IS_A_GOOD_HUNTING_ZONE_FOR_LV_76_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java index dd439331a5..6ded520e5f 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,11 +50,11 @@ public class Q10424_KekropusLetterBelosWhereabouts extends LetterQuest { super(10424); addTalkId(ANDREI, LUGONNES); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_10"); setStartLocation(SOE_TOWN_OF_GODDARD, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GODDARD, SOE_KETRA_ORC_OUTPOST); } @@ -131,9 +130,9 @@ public class Q10424_KekropusLetterBelosWhereabouts extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -143,6 +142,7 @@ public class Q10424_KekropusLetterBelosWhereabouts extends LetterQuest showOnScreenMsg(player, NpcStringId.KETRA_ORC_OUTPOST_IS_A_GOOD_HUNTING_ZONE_FOR_LV_76_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10530_KekropusLetterTheDragonsTransition/Q10530_KekropusLetterTheDragonsTransition.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10530_KekropusLetterTheDragonsTransition/Q10530_KekropusLetterTheDragonsTransition.java index 7242853b68..8984aeeb89 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10530_KekropusLetterTheDragonsTransition/Q10530_KekropusLetterTheDragonsTransition.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10530_KekropusLetterTheDragonsTransition/Q10530_KekropusLetterTheDragonsTransition.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -53,11 +52,11 @@ public class Q10530_KekropusLetterTheDragonsTransition extends LetterQuest { super(10530); addTalkId(JERONIN, NAMO); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_15"); setStartLocation(SOE_TOWN_OF_GIRAN, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GIRAN, SOE_DRAGON_VALLEY); } @@ -132,9 +131,9 @@ public class Q10530_KekropusLetterTheDragonsTransition extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -144,5 +143,6 @@ public class Q10530_KekropusLetterTheDragonsTransition extends LetterQuest showOnScreenMsg(player, NpcStringId.DEN_OF_EVIL_IS_A_GOOD_HUNTING_ZONE_FOR_LV_81_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java index eec2975f12..f4673effa4 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java @@ -76,7 +76,7 @@ public class Q10537_KamaelDisarray extends Quest addKillId(LESSER_GIANT_SOLDIER); addSkillSeeId(ESSENCE_LASSER_GIANTS, ROOT_LASSER_GIANTS); registerQuestItems(MINIONS_REPOT); - // setCreatureSeeId(this::onCreatureSee, RETBACH, STHOR, VETLE); + // addCreatureSeeId(RETBACH, STHOR, VETLE); addFactionLevel(Faction.GIANT_TRACKERS, 2, "34237-00.htm"); addCondMinLevel(MIN_LEVEL, "34237-00.htm"); } @@ -258,7 +258,7 @@ public class Q10537_KamaelDisarray extends Quest return htmltext; } - // public void onCreatureSee(OnCreatureSee event) + // public String onCreatureSee(Npc npc, Creature creature) // { // final Npc npc = (Npc) event.getCreature(); // final Creature creature = event.getSeen(); diff --git a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java index 55ecc5ec16..406a6a0b26 100644 --- a/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java +++ b/L2J_Mobius_3.0_Helios/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java @@ -19,7 +19,6 @@ package quests.Q10829_InSearchOfTheCause; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -45,7 +44,7 @@ public class Q10829_InSearchOfTheCause extends Quest super(10829); addStartNpc(SERESIN); addTalkId(SERESIN, BELAS, FERIN, CYPHONIA); - setCreatureSeeId(this::onCreatureSee, BELAS); + addCreatureSeeId(BELAS); addCondMinLevel(MIN_LEVEL, "30657-00.htm"); } @@ -168,9 +167,9 @@ public class Q10829_InSearchOfTheCause extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final QuestState qs = getQuestState((PlayerInstance) creature, true); @@ -179,5 +178,6 @@ public class Q10829_InSearchOfTheCause extends Quest qs.setCond(2, true); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/quest/Quest.java b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/quest/Quest.java index 6edd4f6276..dd17db7454 100644 --- a/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/quest/Quest.java +++ b/L2J_Mobius_3.0_Helios/java/org/l2jmobius/gameserver/model/quest/Quest.java @@ -818,6 +818,36 @@ public class Quest extends AbstractScript implements IIdentifiable showResult(player, res); } + /** + * @param npc the NPC that sees the creature + * @param creature the creature seen by the NPC + */ + public void notifyCreatureSee(Npc npc, Creature creature) + { + PlayerInstance player = null; + if (creature.isPlayer()) + { + player = creature.getActingPlayer(); + } + String res = null; + try + { + res = onCreatureSee(npc, creature); + } + catch (Exception e) + { + if (player != null) + { + showError(player, e); + } + return; + } + if (player != null) + { + showResult(player, res); + } + } + /** * @param eventName - name of event * @param sender - NPC, who sent event @@ -1282,6 +1312,17 @@ public class Quest extends AbstractScript implements IIdentifiable return null; } + /** + * This function is called whenever an NPC "sees" a creature. + * @param npc the NPC who sees the creature + * @param creature the creature seen by the NPC + * @return + */ + public String onCreatureSee(Npc npc, Creature creature) + { + return null; + } + /** * This function is called whenever a player enters the game. * @param player this parameter contains a reference to the exact instance of the player who is entering to the world. @@ -2059,6 +2100,22 @@ public class Quest extends AbstractScript implements IIdentifiable setAttackableAggroRangeEnterId(event -> notifyAggroRangeEnter(event.getNpc(), event.getActiveChar(), event.isSummon()), npcIds); } + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(int... npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(Collection npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + /** * Register onEnterZone trigger for zone * @param zoneId the ID of the zone to register diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java index 5da0f89b23..7c28509deb 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class MercenaryCaptain extends AbstractNpcAI private MercenaryCaptain() { - setCreatureSeeId(this::onCreatureSee, MERCENARY_CAPTAIN); + addCreatureSeeId(MERCENARY_CAPTAIN); } @Override @@ -50,14 +49,14 @@ public class MercenaryCaptain extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/DragonValley/Namo.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/DragonValley/Namo.java index ba5afc9fca..6eabcccae7 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/DragonValley/Namo.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/DragonValley/Namo.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class Namo extends AbstractNpcAI private Namo() { - setCreatureSeeId(this::onCreatureSee, NAMO); + addCreatureSeeId(NAMO); } @Override @@ -50,14 +49,14 @@ public class Namo extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java index 9e1a9eed0c..2be4ef7954 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class Rakun extends AbstractNpcAI private Rakun() { - setCreatureSeeId(this::onCreatureSee, RAKUN); + addCreatureSeeId(RAKUN); } @Override @@ -50,14 +49,14 @@ public class Rakun extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java index 8b976bfedb..409b886c34 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java @@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import ai.AbstractNpcAI; @@ -46,7 +45,7 @@ public class Wisp extends AbstractNpcAI private Wisp() { addSpawnId(WISP); - setCreatureSeeId(this::onCreatureSee, WISP, LARGE_WISP); + addCreatureSeeId(WISP, LARGE_WISP); } @Override @@ -70,26 +69,24 @@ public class Wisp extends AbstractNpcAI { final Spawn spawn = npc.getSpawn(); spawn.stopRespawn(); - if ((npc.getId() == WISP) && (getRandom(100) < 10)) { addSpawn(LARGE_WISP, npc); npc.deleteMe(); } - return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); if (creature.isPlayer() || creature.isFakePlayer()) { npc.setTarget(creature); npc.doCast(npc.getId() == WISP ? WISP_HEAL.getSkill() : LARGE_WISP_HEAL.getSkill()); getTimers().addTimer("DELETE_NPC", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java index fb6ab8e213..bdcd4312f0 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import ai.AbstractNpcAI; @@ -80,7 +79,7 @@ public class Rooney extends AbstractNpcAI private Rooney() { - setCreatureSeeId(this::onCreatureSee, ROONEY); + addCreatureSeeId(ROONEY); addSpawn(ROONEY, getRandomEntry(LOCATIONS), false, 0); } @@ -125,19 +124,16 @@ public class Rooney extends AbstractNpcAI return null; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); - startQuestTimer("teleport", 60000, npc, null); - npc.setScriptValue(1); - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); + startQuestTimer("teleport", 60000, npc, null); + npc.setScriptValue(1); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java index aad5e6f05b..5becdce40e 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import ai.AbstractNpcAI; @@ -45,7 +44,7 @@ public class GardenWatchman extends AbstractNpcAI public GardenWatchman() { addSpawnId(GARDEN_WATCHMAN); - setCreatureSeeId(this::onCreatureSee, GENESIS_TRAP_1, GENESIS_TRAP_2); + addCreatureSeeId(GENESIS_TRAP_1, GENESIS_TRAP_2); } @Override @@ -90,14 +89,14 @@ public class GardenWatchman extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer()) { startQuestTimer("DEBUFF", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java index 3968ed6d26..68ea79dbbe 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.network.serverpackets.OnEventTrigger; @@ -57,7 +56,7 @@ public class EntrancePortalToCrystalCaverns extends AbstractNpcAI addTalkId(CAVERNS_ENTRACE); addFirstTalkId(CAVERNS_ENTRACE); addSpawnId(CAVERNS_ENTRACE); - setCreatureSeeId(this::onCreatureSee, CAVERNS_ENTRACE); + addCreatureSeeId(CAVERNS_ENTRACE); } @Override @@ -117,15 +116,16 @@ public class EntrancePortalToCrystalCaverns extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { creature.getActingPlayer().sendPacket(new OnEventTrigger(PRISON_ENTRACE_TRIGGER_1, true)); creature.getActingPlayer().sendPacket(new OnEventTrigger(PRISON_ENTRACE_TRIGGER_2, true)); updateTriggersForPlayer(creature.getActingPlayer(), getCurrentInstanceTemplateId()); } + return super.onCreatureSee(npc, creature); } public void updateTriggersForPlayer(PlayerInstance player, int currentTemplateId) diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java index 15077051f3..f91feb7358 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -116,8 +115,8 @@ public class PrimevalIsle extends AbstractNpcAI addAttackId(TREX); addAttackId(MONSTERS); addKillId(EGG, SAILREN, DEINO, ORNIT); - setCreatureSeeId(this::onCreatureSee, TREX); - setCreatureSeeId(this::onCreatureSee, MONSTERS); + addCreatureSeeId(TREX); + addCreatureSeeId(MONSTERS); } @Override @@ -243,10 +242,9 @@ public class PrimevalIsle extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (CommonUtil.contains(MONSTERS, npc.getId())) { if (creature.isPlayer()) @@ -300,6 +298,7 @@ public class PrimevalIsle extends AbstractNpcAI npc.setRunning(); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java index a98bccb9c9..03ee3fca70 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -45,7 +44,7 @@ public class AltarOfSacrifice extends AbstractNpcAI private AltarOfSacrifice() { addSpawnId(IMMERIAL, JENNAS_GUARD, GIGGLE); - setCreatureSeeId(this::onCreatureSee, JENNAS_GUARD); + addCreatureSeeId(JENNAS_GUARD); } @Override @@ -72,15 +71,15 @@ public class AltarOfSacrifice extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if ((creature != null) && creature.isPlayer() && _jenas_guard.isScriptValue(0)) { startQuestTimer("msg_text", 3000, npc, null); _jenas_guard.setScriptValue(1); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java index 4aea462d7d..75c136685c 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java @@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.network.NpcStringId; @@ -66,8 +65,8 @@ public class SilentValley extends AbstractNpcAI addEventReceivedId(GUARD1, GUARD2); addKillId(MOBS); addSpawnId(CHEST, GUARD2); - setCreatureSeeId(this::onCreatureSee, MOBS); - setCreatureSeeId(this::onCreatureSee, GUARD1, GUARD2); + addCreatureSeeId(MOBS); + addCreatureSeeId(GUARD1, GUARD2); } @Override @@ -154,10 +153,9 @@ public class SilentValley extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayable()) { final PlayerInstance player = (creature.isSummon()) ? ((Summon) creature).getOwner() : creature.getActingPlayer(); @@ -172,6 +170,7 @@ public class SilentValley extends AbstractNpcAI addAttackPlayerDesire(npc, player); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java index d1f759948c..506f8fd7a2 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java @@ -32,7 +32,6 @@ 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.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import ai.AbstractNpcAI; @@ -80,7 +79,7 @@ public class Wastelands extends AbstractNpcAI { addKillId(REGENERATED_POSLOF, SAKUM); addSpawnId(COMMANDER, GUARD, DECO_GUARD, REGENERATED_KANILOV, REGENERATED_POSLOF, SAKUM); - setCreatureSeeId(this::onCreatureSee, JOEL, SCHUAZEN, COMMANDO, COMMANDO_CAPTAIN); + addCreatureSeeId(JOEL, SCHUAZEN, COMMANDO, COMMANDO_CAPTAIN); } @Override @@ -188,14 +187,14 @@ public class Wastelands extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ATTACK)) { startQuestTimer("START_ATTACK", 250, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Baium/Baium.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Baium/Baium.java index d7f73aa15c..e3f2a97bb1 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Baium/Baium.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Baium/Baium.java @@ -34,7 +34,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -112,7 +111,7 @@ public class Baium extends AbstractNpcAI addAttackId(BAIUM, ARCHANGEL); addKillId(BAIUM); addSpellFinishedId(BAIUM); - setCreatureSeeId(this::onCreatureSee, BAIUM); + addCreatureSeeId(BAIUM); final StatSet info = GrandBossManager.getInstance().getStatSet(BAIUM); @@ -561,12 +560,12 @@ public class Baium extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (!zone.isInsideZone(creature) || (creature.isNpc() && (creature.getId() == BAIUM_STONE))) { - return; + return super.onCreatureSee(npc, creature); } if (creature.isPlayer() && !creature.isDead() && (_standbyPlayer == null)) @@ -574,7 +573,6 @@ public class Baium extends AbstractNpcAI _standbyPlayer = (PlayerInstance) creature; } - final Npc npc = (Npc) event.getCreature(); if (creature.isInCategory(CategoryType.CLERIC_GROUP)) { if (npc.getCurrentHp() < (npc.getMaxHp() * 0.25)) @@ -599,6 +597,8 @@ public class Baium extends AbstractNpcAI refreshAiParams(creature, npc, 10000, 1000); } manageSkills(npc); + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java index fa14563861..4937e76f83 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.BuffInfo; @@ -103,7 +102,7 @@ public class BalokWarzone extends AbstractInstance addSkillSeeId(BALOK); addKillId(BALOK, MINION); addSpellFinishedId(BALOK); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_1); + addCreatureSeeId(INVISIBLE_NPC_1); } @Override @@ -293,16 +292,16 @@ public class BalokWarzone extends AbstractInstance return super.onKill(npc, player, isPet); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); getTimers().addTimer("stage_1_start", 60000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java index 5b4e3fb6c8..bdfd45f12a 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.DoorInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -62,7 +61,7 @@ public class BaylorWarzone extends AbstractInstance addInstanceCreatedId(TEMPLATE_ID); addSpawnId(INVISIBLE_NPC_1); addSpellFinishedId(INVISIBLE_NPC_1); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_1); + addCreatureSeeId(INVISIBLE_NPC_1); setCreatureKillId(this::onBossKill, BAYLOR); } @@ -304,16 +303,16 @@ public class BaylorWarzone extends AbstractInstance } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); getTimers().addTimer("START_SCENE_01", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } /** diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java index 340dd5e151..10e422ce25 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -62,7 +61,7 @@ public class IceQueensCastle extends AbstractInstance addTalkId(JINIA); addSpawnId(FREYA); addSpellFinishedId(FREYA); - setCreatureSeeId(this::onCreatureSee, BATTALION_LEADER, LEGIONNAIRE, MERCENARY_ARCHER); + addCreatureSeeId(BATTALION_LEADER, LEGIONNAIRE, MERCENARY_ARCHER); } @Override @@ -140,10 +139,9 @@ public class IceQueensCastle extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); @@ -159,6 +157,7 @@ public class IceQueensCastle extends AbstractInstance }); startQuestTimer("ATTACK_KNIGHT", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java index 1692f91226..58f65e79c2 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.NpcStringId; @@ -78,7 +77,7 @@ public class KimerianCommon extends AbstractInstance addSpawnId(FAIRY_REBEL, NEOMI_KASHERON); addAttackId(KIMERIAN); addKillId(KIMERIAN_GHOST, KIMERIAN); - setCreatureSeeId(this::onCreatureSee, FAIRY_REBEL, NEOMI_KASHERON, INVISIBLE_NPC, KIMERIAN); + addCreatureSeeId(FAIRY_REBEL, NEOMI_KASHERON, INVISIBLE_NPC, KIMERIAN); setCreatureKillId(this::onCreatureKill, FAIRY_REBEL, NEOMI_KASHERON); } @@ -334,14 +333,12 @@ public class KimerianCommon extends AbstractInstance return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final StatSet npcParams = npc.getParameters(); final StatSet npcVars = npc.getVariables(); final Instance instance = npc.getInstanceWorld(); - if (isInInstance(instance)) { switch (npc.getId()) @@ -412,6 +409,7 @@ public class KimerianCommon extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } private void spawnHollow(Npc npc, PlayerInstance player, boolean isHollow) diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java index caab21e1d3..f0200d1563 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java @@ -46,7 +46,6 @@ 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.OnCreatureDamageReceived; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -208,7 +207,7 @@ public class Lindvior extends AbstractNpcAI addSkillSeeId(NPC_GENERATOR); addFirstTalkId(NPC_GENERATOR); addSpawnId(NPC_ATTACKER_GENERATORS, NPC_ATTACKER_GENERATORS_1, LYN_DRACO_ATTACKER_GENERATORS, GENERATOR_GUARD, NPC_GENERATOR); - setCreatureSeeId(this::onCreatureSee, INVISIBLE); + addCreatureSeeId(INVISIBLE); _zoneLair = ZoneManager.getInstance().getZoneById(ZONE_ID, NoSummonFriendZone.class); // Unlock final StatSet info = GrandBossManager.getInstance().getStatSet(LINDVIOR_RAID); @@ -509,12 +508,13 @@ public class Lindvior extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); setLindviorSpawnTask(); npc.getSpawn().stopRespawn(); npc.deleteMe(); + return super.onCreatureSee(npc, creature); } private void nextStage(int taskId) diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java index 4b49959ccb..610906bb55 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java @@ -22,9 +22,9 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.World; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.serverpackets.FlyToLocation; import org.l2jmobius.gameserver.network.serverpackets.ValidateLocation; @@ -44,7 +44,7 @@ public class Vortex extends AbstractNpcAI { super(); addSpawnId(SMALL_VORTEX, BIG_VORTEX); - setCreatureSeeId(this::onCreatureSee, SMALL_VORTEX, BIG_VORTEX); + addCreatureSeeId(SMALL_VORTEX, BIG_VORTEX); } @Override @@ -112,9 +112,9 @@ public class Vortex extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); switch (npc.getId()) { case SMALL_VORTEX: @@ -128,6 +128,7 @@ public class Vortex extends AbstractNpcAI break; } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java index 0f7f84f52e..d0cf7094cf 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -118,7 +117,7 @@ public class OctavisWarzone extends AbstractInstance addMoveFinishedId(GLADIATORS); addSpellFinishedId(OCTAVIS_STAGE_2); addEnterZoneId(TELEPORT_ZONE.getId()); - setCreatureSeeId(this::onCreatureSee, DOOR_MANAGER); + addCreatureSeeId(DOOR_MANAGER); addInstanceCreatedId(TEMPLATE_ID, EXTREME_TEMPLATE_ID); } @@ -562,10 +561,9 @@ public class OctavisWarzone extends AbstractInstance return super.onSpellFinished(npc, player, skill); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { @@ -574,6 +572,7 @@ public class OctavisWarzone extends AbstractInstance getTimers().addTimer("SECOND_DOOR_OPEN", 3000, npc, null); getTimers().addTimer("CLOSE_DOORS", 60000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java index 30762e753e..d00ce30c61 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java @@ -37,7 +37,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.DoorInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestTimer; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -137,7 +136,7 @@ public class Ramona extends AbstractNpcAI addKillId(MP_CONTROL, RAMONA_1, RAMONA_2, RAMONA_3); addAttackId(MP_CONTROL, RAMONA_1, RAMONA_2, RAMONA_3); addSpawnId(RAMONA_1, RAMONA_2, RAMONA_3); - setCreatureSeeId(this::onCreatureSee, MP_CONTROL); + addCreatureSeeId(MP_CONTROL); final long temp = GlobalVariablesManager.getInstance().getLong(RAMONA_RESPAWN_VAR, 0) - Chronos.currentTimeMillis(); if (temp > 0) @@ -551,16 +550,15 @@ public class Ramona extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); npc.setInvul(true); - - final Creature creature = event.getSeen(); if (creature.isPlayer()) { startQuestTimer("SPAWN_MS", 10000, npc, null, true); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java index 32ff487818..f876b87a40 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -101,7 +100,7 @@ public class TeredorWarzone extends AbstractInstance addEventReceivedId(EGG_2); addAttackId(TEREDOR); addKillId(EGG_2, TEREDOR); - setCreatureSeeId(this::onCreatureSee, BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR); + addCreatureSeeId(BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR); } @Override @@ -272,10 +271,9 @@ public class TeredorWarzone extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance)) { @@ -361,6 +359,7 @@ public class TeredorWarzone extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java index 5915de7581..b5ea301ac1 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java @@ -37,7 +37,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.BuffInfo; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -318,7 +317,7 @@ public class Trasken extends AbstractNpcAI addExitZoneId(ZONE_ID); addEnterZoneId(ZONE_ID_HEART); addExitZoneId(ZONE_ID_HEART); - setCreatureSeeId(this::onCreatureSee, LAVRA_1, LAVRA_2, LAVRA_3, TRADJAN, TIE, BIG_TIE); + addCreatureSeeId(LAVRA_1, LAVRA_2, LAVRA_3, TRADJAN, TIE, BIG_TIE); init(); if (DoorData.getInstance().getDoor(DOOR) != null) { @@ -539,12 +538,12 @@ public class Trasken extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); if (npc.isDead()) { - return; + return super.onCreatureSee(npc, creature); } if ((npc.getId() == LAVRA_1) || (npc.getId() == LAVRA_2) || (npc.getId() == LAVRA_3) || (npc.getId() == TRADJAN)) @@ -553,7 +552,6 @@ public class Trasken extends AbstractNpcAI } else if ((npc.getId() == TIE) || (npc.getId() == BIG_TIE)) { - final Creature creature = event.getSeen(); if (getRandom(100) < 60) { npc.setTarget(creature); @@ -567,6 +565,8 @@ public class Trasken extends AbstractNpcAI addAttackPlayerDesire(npc, (Playable) creature); } } + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java index f658ee30ac..04b0f85a5e 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MerchantInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.clan.ClanPrivilege; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.residences.ClanHall; import org.l2jmobius.gameserver.model.residences.ResidenceFunction; @@ -104,7 +103,7 @@ public class ClanHallManager extends AbstractNpcAI addStartNpc(CLANHALL_MANAGERS); addTalkId(CLANHALL_MANAGERS); addFirstTalkId(CLANHALL_MANAGERS); - setCreatureSeeId(this::onCreatureSee, CLANHALL_MANAGERS); + addCreatureSeeId(CLANHALL_MANAGERS); } @Override @@ -486,18 +485,18 @@ public class ClanHallManager extends AbstractNpcAI return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final ClanHall clanHall = npc.getClanHall(); if (clanHall != null) { creature.getActingPlayer().sendPacket(new AgitDecoInfo(clanHall)); } } + return super.onCreatureSee(npc, creature); } private void updateVisualEffects(ClanHall clanHall, Npc npc) diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/others/Gordon.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/others/Gordon.java index a2d9276bf5..6d7312128b 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/others/Gordon.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/ai/others/Gordon.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import ai.AbstractNpcAI; @@ -35,17 +34,17 @@ public class Gordon extends AbstractNpcAI private Gordon() { addSpawnId(GORDON); - setCreatureSeeId(this::onCreatureSee, GORDON); + addCreatureSeeId(GORDON); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer() && ((PlayerInstance) creature).isCursedWeaponEquipped()) { - final Npc npc = (Npc) event.getCreature(); addAttackPlayerDesire(npc, (PlayerInstance) creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java index c69ca36aae..fa6dadd15b 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; @@ -67,7 +66,7 @@ public class ChamberOfProphecies extends AbstractInstance addStartNpc(KAIN_VAN_HALTER); addFirstTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD); addTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD); - setCreatureSeeId(this::onCreatureSee, FERIN, VAN_HALTER); + addCreatureSeeId(FERIN, VAN_HALTER); } @Override @@ -501,13 +500,12 @@ public class ChamberOfProphecies extends AbstractInstance return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (world != null) { - final Creature creature = event.getSeen(); switch (npc.getId()) { case FERIN: @@ -528,6 +526,7 @@ public class ChamberOfProphecies extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java index ac9290a099..2451279b0c 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -76,7 +75,7 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance addSpellFinishedId(WATER_CANNON_SKILL); addInstanceEnterId(TEMPLATE_ID); addInstanceLeaveId(TEMPLATE_ID); - setCreatureSeeId(this::onCreatureSee, WATER_CANNON); + addCreatureSeeId(WATER_CANNON); } @Override @@ -380,10 +379,9 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if ((world != null) && creature.isPlayer() && npc.isScriptValue(0)) { @@ -391,6 +389,7 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance npc.setDisplayEffect(1); getTimers().addRepeatingTimer("CANNON_LOOP_ATTACK", 1000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java index 1cd4834736..6882879232 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -79,7 +78,7 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance addInstanceCreatedId(TEMPLATE_ID); addInstanceEnterId(TEMPLATE_ID); addInstanceLeaveId(TEMPLATE_ID); - setCreatureSeeId(this::onCreatureSee, PLAYER_DETECTOR); + addCreatureSeeId(PLAYER_DETECTOR); } @Override @@ -361,10 +360,9 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance return super.onKill(npc, killer, isSummon); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance) && creature.isPlayer()) { @@ -381,6 +379,7 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance npc.deleteMe(); } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java index e6e27df357..eb1f18e412 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -98,7 +97,7 @@ public class HarnakUndergroundRuins extends AbstractInstance { super(TEMPLATE_ID); registerMobs(KRAKIA_BATHUS, KRAKIA_CARCASS, KRAKIA_LOTUS, RAKZAN, WEISS_KHAN, BAMONTI, SEKNUS, WEISS_ELE, HARNAKS_WRAITH); - setCreatureSeeId(this::onCreatureSee, POWER_SOURCES); + addCreatureSeeId(POWER_SOURCES); addEnterZoneId(ZONE_ROOM_2, ZONE_ROOM_3); addFirstTalkId(SEAL_CONTROL_DEVICE); addTalkId(HADEL); @@ -674,18 +673,18 @@ public class HarnakUndergroundRuins extends AbstractInstance return super.onAttack(npc, player, damage, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("cast_release_power", 2000, npc, creature.getActingPlayer()); if (npc.getId() == POWER_SOURCE) { startQuestTimer("whisper_to_player", 2000, npc, creature.getActingPlayer()); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java index c0b58def5b..2a98135f75 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java @@ -31,7 +31,6 @@ import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -91,9 +90,9 @@ public class KartiaHelperAdolph extends AbstractNpcAI private KartiaHelperAdolph() { addSpellFinishedId(KARTIA_ADOLPH); + addCreatureSeeId(KARTIA_ADOLPH); setCreatureKillId(this::onCreatureKill, KARTIA_ADOLPH); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_ADOLPH); - setCreatureSeeId(this::onCreatureSee, KARTIA_ADOLPH); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -288,14 +287,14 @@ public class KartiaHelperAdolph extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java index 5d6a180033..479bde56c6 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -86,9 +85,9 @@ public class KartiaHelperBarton extends AbstractNpcAI private KartiaHelperBarton() { + addCreatureSeeId(KARTIA_BARTON); setCreatureKillId(this::onCreatureKill, KARTIA_BARTON); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_BARTON); - setCreatureSeeId(this::onCreatureSee, KARTIA_BARTON); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -146,17 +145,18 @@ public class KartiaHelperBarton extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java index 6212649204..000919660b 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java @@ -33,7 +33,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -110,8 +109,8 @@ public class KartiaHelperElise extends AbstractNpcAI private KartiaHelperElise() { + addCreatureSeeId(KARTIA_ELISE); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); - setCreatureSeeId(this::onCreatureSee, KARTIA_ELISE); setCreatureKillId(this::onCreatureKill, KARTIA_ELISE); } @@ -243,12 +242,11 @@ public class KartiaHelperElise extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer() || (creature instanceof FriendlyNpcInstance)) { - final Npc npc = (Npc) event.getCreature(); final StatSet npcVars = npc.getVariables(); if (creature.isPlayer()) { @@ -271,6 +269,7 @@ public class KartiaHelperElise extends AbstractNpcAI npcVars.set("HAYUK_OBJECT", creature); } } + return super.onCreatureSee(npc, creature); } public void onCreatureKill(OnCreatureDeath event) diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java index 3b59fd7514..404b7722b2 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -81,9 +80,9 @@ public class KartiaHelperEliyah extends AbstractNpcAI private KartiaHelperEliyah() { + addCreatureSeeId(KARTIA_ELIYAH); setCreatureKillId(this::onCreatureKill, KARTIA_ELIYAH); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_ELIYAH); - setCreatureSeeId(this::onCreatureSee, KARTIA_ELIYAH); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -137,17 +136,18 @@ public class KartiaHelperEliyah extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void onCreatureAttacked(OnCreatureAttacked event) diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java index 865762b4d4..230656b816 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java @@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -90,9 +89,9 @@ public class KartiaHelperGuardian extends AbstractNpcAI private KartiaHelperGuardian() { + addCreatureSeeId(KARTIA_GUARDIANS); setCreatureKillId(this::onCreatureKill, KARTIA_GUARDIANS); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_GUARDIANS); - setCreatureSeeId(this::onCreatureSee, KARTIA_GUARDIANS); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -155,21 +154,22 @@ public class KartiaHelperGuardian extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } else if (CommonUtil.contains(KARTIA_ELIYAH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ELIYAH_OBJECT", creature); + npc.getVariables().set("ELIYAH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java index 2892d96e3e..ba13eb1888 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -87,9 +86,9 @@ public class KartiaHelperHayuk extends AbstractNpcAI private KartiaHelperHayuk() { + addCreatureSeeId(KARTIA_HAYUK); setCreatureKillId(this::onCreatureKill, KARTIA_HAYUK); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_HAYUK); - setCreatureSeeId(this::onCreatureSee, KARTIA_HAYUK); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -152,17 +151,18 @@ public class KartiaHelperHayuk extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java index 33ba6a3bbb..0cf9e476d3 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java @@ -31,7 +31,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -186,13 +185,13 @@ public class KartiasLabyrinth extends AbstractInstance addMoveFinishedId(MINI_BOSSES); addMoveFinishedId(PRISONERS); addRouteFinishedId(MONSTERS); - setCreatureKillId(this::onCreatureKill, MONSTERS); - setCreatureKillId(this::onBossKill, BOSSES); - setCreatureSeeId(this::onCreatureSee, MONSTERS); + addCreatureSeeId(MONSTERS); addEnterZoneId(KARTIA_85_DETECT_1, KARTIA_85_DETECT_2); addEnterZoneId(KARTIA_90_DETECT_1, KARTIA_90_DETECT_2); addEnterZoneId(KARTIA_95_DETECT_1, KARTIA_95_DETECT_2); addInstanceCreatedId(TEMPLATE_ID_SOLO_85, TEMPLATE_ID_SOLO_90, TEMPLATE_ID_SOLO_95, TEMPLATE_ID_GROUP_85, TEMPLATE_ID_GROUP_90, TEMPLATE_ID_GROUP_95); + setCreatureKillId(this::onCreatureKill, MONSTERS); + setCreatureKillId(this::onBossKill, BOSSES); } @Override @@ -873,10 +872,9 @@ public class KartiasLabyrinth extends AbstractInstance } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if ((world != null) && (creature.isPlayer() || creature.getInstanceType().isType(InstanceType.FriendlyNpcInstance)) && npc.isScriptValue(1)) { @@ -892,6 +890,7 @@ public class KartiasLabyrinth extends AbstractInstance addAttackDesire(npc, creature); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java index 52fde99b20..014e294ffe 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java @@ -40,7 +40,6 @@ 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.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerCallToChangeClass; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLogin; @@ -201,10 +200,10 @@ public class MemoryOfDisaster extends AbstractInstance addMoveFinishedId(ROGIN, SOLDIER, WIRPHY, SILVERA); addMoveFinishedId(DWARVES); addSpellFinishedId(SIEGE_GOLEM, INVISIBLE_NPC, TEREDOR_TRANSPARENT, EARTH_WYRM_TRASKEN, SWOOP_CANNON); + addCreatureSeeId(TENTACLE, SOLDIER, SOLDIER2, TEREDOR, INVISIBLE_NPC, CONTROL_DARKELF_AWAKE); + addEventReceivedId(SACRIFICED_DARK_ELF); setCreatureKillId(this::onCreatureKill, BRONK, SILVERA); setCreatureAttackedId(this::onCreatureAttacked, BRONK, TENTACLE, SOLDIER, SOLDIER2, TEREDOR, SIEGE_GOLEM, WIRPHY, SILVERA); - setCreatureSeeId(this::onCreatureSee, TENTACLE, SOLDIER, SOLDIER2, TEREDOR, INVISIBLE_NPC, CONTROL_DARKELF_AWAKE); - addEventReceivedId(SACRIFICED_DARK_ELF); } @Override @@ -343,10 +342,9 @@ public class MemoryOfDisaster extends AbstractInstance return super.onSpawn(npc); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world)) { @@ -423,6 +421,7 @@ public class MemoryOfDisaster extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java index 9cb99c665f..855babef3b 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -90,7 +89,7 @@ public class NornilsGarden extends AbstractInstance addKillId(ATTACABLE_MONSTERS); addKillId(SPICULA_ZERO); addKillId(BOZ_STAGE1, BOZ_STAGE2, BOZ_STAGE3, BOZ_STAGE4); - setCreatureSeeId(this::onCreatureSee, BOZ_STAGE1); + addCreatureSeeId(BOZ_STAGE1); } @Override @@ -283,12 +282,11 @@ public class NornilsGarden extends AbstractInstance return "33781.html"; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayable()) { - final Npc npc = (Npc) event.getCreature(); if (npc.isScriptValue(0)) { startQuestTimer("stage1", 3000, npc, null); @@ -296,6 +294,7 @@ public class NornilsGarden extends AbstractInstance npc.setScriptValue(1); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java index 78e794dd45..2161022d2f 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java @@ -29,7 +29,6 @@ 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.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.npc.OnAttackableFactionCall; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -133,8 +132,8 @@ public class PailakaInjuredDragon extends AbstractInstance addAttackId(LATANA); addSpawnId(TELEPORT_TRAP, DRAGON_TARGET, LATANA_SKILL_USE, DRAGON_CAMERA_2); addSpawnId(WIZARDS); - setCreatureSeeId(this::onCreatureSee, WIZARDS); - setCreatureSeeId(this::onCreatureSee, LATANA); + addCreatureSeeId(WIZARDS); + addCreatureSeeId(LATANA); addKillId(ANIMALS); addKillId(LATANA); } @@ -475,10 +474,9 @@ public class PailakaInjuredDragon extends AbstractInstance return super.onSpawn(npc); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world)) { @@ -510,6 +508,7 @@ public class PailakaInjuredDragon extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java index d6edf4ddef..012e3f391e 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; import org.l2jmobius.gameserver.network.NpcStringId; @@ -60,7 +59,7 @@ public class PailakaSongOfIceAndFire extends AbstractInstance addExitZoneId(ZONE); addSpawnId(BLOOM); addKillId(BLOOM); - setCreatureSeeId(this::onCreatureSee, GARGOS); + addCreatureSeeId(GARGOS); } @Override @@ -169,18 +168,15 @@ public class PailakaSongOfIceAndFire extends AbstractInstance return super.onExitZone(creature, zone); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - npc.setScriptValue(1); - startQuestTimer("GARGOS_LAUGH", 1000, npc, creature.getActingPlayer()); - } + npc.setScriptValue(1); + startQuestTimer("GARGOS_LAUGH", 1000, npc, creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java index 1f2f3fb59a..03f45281cd 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -116,7 +115,7 @@ public class PrisonOfDarkness extends AbstractInstance addTalkId(SPEZION_HEADSTONE, WARP_POINT, TIME_BOMB_1, STARLIGHT_LATTICE, JOSEPHINA); addSpawnId(WARP_POINT, ESCORT_WARRIOR); addSpellFinishedId(MONSTERS); - setCreatureSeeId(this::onCreatureSee, EXIT_PORTAL); + addCreatureSeeId(EXIT_PORTAL); addKillId(SPEZIONS_PAWN); addFirstTalkId(JOSEPHINA); } @@ -343,31 +342,36 @@ public class PrisonOfDarkness extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance) && (npc.getId() == EXIT_PORTAL)) { final StatSet npcVars = npc.getVariables(); - switch (npcVars.getInt("PORTAL_STATE", 0)) { case 0: + { takeItems(creature.getActingPlayer(), GIANT_CANNONBALL, -1); creature.teleToLocation(getRandomEntry(PLAYERS_RANDOM_LOCS)); showOnScreenMsg(creature.getActingPlayer(), NpcStringId.YOU_NEED_TO_FIND_ESCAPE_DEVICE_RE_ENTRY_IS_NOT_ALLOWED_ONCE_YOU_VE_LEFT_THE_INSTANT_ZONE, ExShowScreenMessage.TOP_CENTER, 4000); instance.getParameters().increaseInt("PLAYERS_COUNT", 0, 1); break; + } case 1: + { creature.teleToLocation(ORBIS_LOCATION); break; + } case 2: + { creature.teleToLocation(SPEZION_LAIR); break; + } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java index 28208a3ce2..66a7865113 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -57,7 +56,7 @@ public class TalkingIslandPast extends AbstractInstance addTalkId(DARIN, ROXXY, MYSTERIOUS_DARK_KNIGHT); addFirstTalkId(DARIN, ROXXY, MYSTERIOUS_DARK_KNIGHT); addExitZoneId(TALKING_ISLAND_ZONE); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_TI_NPC); + addCreatureSeeId(INVISIBLE_TI_NPC); } @Override @@ -104,10 +103,9 @@ public class TalkingIslandPast extends AbstractInstance return super.onExitZone(creature, zone); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); if (creature.isPlayer()) { final Instance instance = creature.getInstanceWorld(); @@ -124,6 +122,7 @@ public class TalkingIslandPast extends AbstractInstance getTimers().addTimer("MSG", null, 5000, npc, player, n -> showOnScreenMsg(n.getPlayer(), NpcStringId.TALK_TO_THE_MYSTERIOUS_DARK_KNIGHT, ExShowScreenMessage.TOP_CENTER, 5000)); } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java index 0f9ff6f98c..5ae6b98102 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java @@ -31,7 +31,6 @@ 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.OnCreatureSee; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -59,7 +58,7 @@ public class Q00454_CompletelyLost extends Quest addStartNpc(INJURED_SOLDIER); addTalkId(INJURED_SOLDIER, ERMIAN); addMoveFinishedId(INJURED_SOLDIER); - setCreatureSeeId(this::onCreatureSee, INJURED_SOLDIER); + addCreatureSeeId(INJURED_SOLDIER); addEventReceivedId(INJURED_SOLDIER); } @@ -398,17 +397,14 @@ public class Q00454_CompletelyLost extends Quest } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - addAttackPlayerDesire(npc, creature.getActingPlayer(), 10); - } + addAttackPlayerDesire(npc, creature.getActingPlayer(), 10); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java index 53c4e8a863..cba0f398c1 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java @@ -24,9 +24,9 @@ import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.enums.QuestSound; import org.l2jmobius.gameserver.enums.QuestType; import org.l2jmobius.gameserver.model.Party; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.NpcLogListHolder; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -60,8 +60,8 @@ public class Q00833_DevilsTreasureTauti extends Quest addStartNpc(DETON); addTalkId(SETTLEN); addKillId(FLAME_SCORPION, FLAME_GOLEM, FLAME_SCARAB, SEAL_TOMBSTONE); + addCreatureSeeId(DETON); registerQuestItems(FLAME_FLOWER); - setCreatureSeeId(this::onCreatureSee, DETON); } @Override @@ -115,9 +115,10 @@ public class Q00833_DevilsTreasureTauti extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final PlayerInstance player = event.getSeen().getActingPlayer(); + final PlayerInstance player = creature.getActingPlayer(); if (player != null) { final QuestState qs = getQuestState(player, true); @@ -127,6 +128,7 @@ public class Q00833_DevilsTreasureTauti extends Quest qs.startQuest(); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java index bebeea1946..8ae58bb610 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java @@ -19,9 +19,9 @@ package quests.Q00835_PitiableMelisa; import org.l2jmobius.Config; import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.enums.QuestType; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -56,8 +56,8 @@ public class Q00835_PitiableMelisa extends Quest addStartNpc(KANNA); addTalkId(SETTLEN); addKillId(MONSTERS); + addCreatureSeeId(KANNA); registerQuestItems(ICE_CRYSTAL_SHARD); - setCreatureSeeId(this::onCreatureSee, KANNA); } @Override @@ -119,9 +119,10 @@ public class Q00835_PitiableMelisa extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final PlayerInstance player = event.getSeen().getActingPlayer(); + final PlayerInstance player = creature.getActingPlayer(); if (player != null) { final QuestState qs = getQuestState(player, true); @@ -131,6 +132,7 @@ public class Q00835_PitiableMelisa extends Quest qs.startQuest(); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java index c34fcaaf71..b924b2a79e 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -118,8 +117,8 @@ public class Q10369_NoblesseSoulTesting extends Quest addFirstTalkId(FLAME_FLOWER, HELPING_TREE_SUMMON_DEVICE, HELPING_TREE); addCondMinLevel(MIN_LEVEL, "31281-13.htm"); addCondIsSubClassActive(""); + addCreatureSeeId(INVISIBLE_NPC_NOBLE); registerQuestItems(SUMMONING_STONE, NOVELLA_PROPHECY, EMPTY_HOT_SPRINGS_WATER_BOTTLE, HOT_SPRINGS_WATER_BOTTLE, DURABLE_LEATHER, TROWEL, FIRE_ENERGY, HARD_FOSSIL_CONTAINING_WATER_ENERGY, HELPING_SEED, ASHES_OF_REMNANTS, SOE_HOT_SPRINGS, SOE_ADEN_CASTLE, SOE_RUNE_CASTLE, SOE_ISLE_OF_PRAYER, SOE_FORGE_OF_GODS, SOE_SECRET_ROOM); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_NOBLE); } @Override @@ -498,9 +497,9 @@ public class Q10369_NoblesseSoulTesting extends Quest return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -527,6 +526,7 @@ public class Q10369_NoblesseSoulTesting extends Quest } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java index 0d0cc62d34..5dc406d528 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.events.EventType; import org.l2jmobius.gameserver.model.events.ListenerRegisterType; import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent; import org.l2jmobius.gameserver.model.events.annotations.RegisterType; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerSocialAction; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -116,7 +115,7 @@ public class Q10385_RedThreadOfFate extends Quest addKillId(SHILEN_MESSENGER); addCondMinLevel(MIN_LEVEL, "33491-08.html"); addCondNotRace(Race.ERTHEIA, "33491-09.html"); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_ANGHEL_WATERFALL_NPC); + addCreatureSeeId(INVISIBLE_ANGHEL_WATERFALL_NPC); registerQuestItems(MYSTERIOUS_LETTER, HEINE_FROM_THE_GARDEN_OF_EVA, CLEAREST_WATER, BRIGHTEST_LIGHT, PUREST_SOUL, FIERCEST_FLAME, FONDEST_HEART, VULCUN_TRUE_GOLD, VULCUN_PURE_SILVER, VULCUN_BLOOD_FIRE, SCROLL_OF_ESCAPE_VALLEY_OF_SAINTS, SCROLL_OF_ESCAPE_FORGE_OF_THE_GODS, SCROLL_OF_ESCAPE_IVORY_TOWER, SCROLL_OF_ESCAPE_DWARVEN_VILLAGE); } @@ -691,12 +690,11 @@ public class Q10385_RedThreadOfFate extends Quest return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final PlayerInstance player = creature.getActingPlayer(); final QuestState qs = getQuestState(player, false); if ((npc.getId() == INVISIBLE_ANGHEL_WATERFALL_NPC) && (qs != null) && qs.isCond(7)) @@ -704,6 +702,7 @@ public class Q10385_RedThreadOfFate extends Quest showOnScreenMsg(player, NpcStringId.YOU_HAVE_REACHED_ANGHEL_WATERFALL_GO_INSIDE_THE_CAVE, ExShowScreenMessage.TOP_CENTER, 5000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java index fc9c5f54ce..08c61515ea 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java @@ -19,7 +19,6 @@ package quests.Q10390_KekropusLetter; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -62,9 +61,9 @@ public class Q10390_KekropusLetter extends Quest super(10390); addStartNpc(RAYMOND, RAINS, TOBIAS, DRIKUS, MENDIO, GERSHWIN, ESRANDELL, ELLENIA); addTalkId(RAYMOND, RAINS, TOBIAS, DRIKUS, MENDIO, GERSHWIN, ESRANDELL, ELLENIA, BATHIS, GOSTA, ELI); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); - registerQuestItems(KEKROPUS_LETTER, HAINE_SOE, ALLIGATOR_ISLAND_SOE); + addCreatureSeeId(INVISIBLE_NPC); addCondCompletedQuest(Q10360_CertificationOfFate.class.getSimpleName(), ""); + registerQuestItems(KEKROPUS_LETTER, HAINE_SOE, ALLIGATOR_ISLAND_SOE); } @Override @@ -295,9 +294,9 @@ public class Q10390_KekropusLetter extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -307,6 +306,7 @@ public class Q10390_KekropusLetter extends Quest showOnScreenMsg(player, NpcStringId.ALLIGATOR_ISLAND_IS_A_GOOD_HUNTING_ZONE_FOR_LV_40_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } private boolean isRightMaster(Npc npc, PlayerInstance player) diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java index 33e688b24f..a2250ffc7d 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,7 +49,7 @@ public class Q10393_KekropusLetterAClueCompleted extends LetterQuest { super(10393); addTalkId(FLUTER, KELIOS); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_2"); @@ -125,9 +124,9 @@ public class Q10393_KekropusLetterAClueCompleted extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -137,5 +136,6 @@ public class Q10393_KekropusLetterAClueCompleted extends LetterQuest showOnScreenMsg(player, NpcStringId.OUTLAW_FOREST_IS_A_GOOD_HUNTING_ZONE_FOR_LV_46_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10397_KekropusLetterASuspiciousBadge/Q10397_KekropusLetterASuspiciousBadge.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10397_KekropusLetterASuspiciousBadge/Q10397_KekropusLetterASuspiciousBadge.java index bd84fde3de..a2f28d4764 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10397_KekropusLetterASuspiciousBadge/Q10397_KekropusLetterASuspiciousBadge.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10397_KekropusLetterASuspiciousBadge/Q10397_KekropusLetterASuspiciousBadge.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10397_KekropusLetterASuspiciousBadge extends LetterQuest { super(10397); addTalkId(MOUEN, ANDY); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_3"); setStartLocation(SOE_TOWN_OF_OREN, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_OREN, SOE_SEA_OF_SPORES); } @@ -128,9 +127,9 @@ public class Q10397_KekropusLetterASuspiciousBadge extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -140,5 +139,6 @@ public class Q10397_KekropusLetterASuspiciousBadge extends LetterQuest showOnScreenMsg(player, NpcStringId.SEA_OF_SPORES_IS_A_GOOD_HUNTING_ZONE_FOR_LV_52_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java index 06380178d9..f13466306f 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10401_KekropusLetterDecodingTheBadge extends LetterQuest { super(10401); addTalkId(PATERSON, EBLUNE); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_4"); setStartLocation(SOE_TOWN_OF_ADEN, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_ADEN, SOE_FORSAKEN_PLAINS); } @@ -128,9 +127,9 @@ public class Q10401_KekropusLetterDecodingTheBadge extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -140,5 +139,6 @@ public class Q10401_KekropusLetterDecodingTheBadge extends LetterQuest showOnScreenMsg(player, NpcStringId.FORSAKEN_PLAINS_IA_A_GOOD_HUNTING_ZONE_FOR_LV_58_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java index 6965213879..0dd1ed3509 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10404_KekropusLetterAHiddenMeaning extends LetterQuest { super(10404); addTalkId(PATERSON, SHUVANN); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartLocation(SOE_TOWN_OF_ADEN, TELEPORT_LOC); setStartQuestSound("Npcdialog1.kekrops_quest_5"); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_ADEN, SOE_FIELDS_OF_MASSACRE); } @@ -128,9 +127,9 @@ public class Q10404_KekropusLetterAHiddenMeaning extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -140,5 +139,6 @@ public class Q10404_KekropusLetterAHiddenMeaning extends LetterQuest showOnScreenMsg(player, NpcStringId.FIELDS_OF_MASSACRE_IS_A_GOOD_HUNTING_ZONE_FOR_LV_61_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java index 76a806e5e7..1b5a83e447 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10408_KekropusLetterTheSwampOfScreams extends LetterQuest { super(10408); addTalkId(MATHIAS, DOKARA); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_6"); setStartLocation(SOE_TOWN_OF_RUNE, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_RUNE, SOE_SWAMP_OF_SCREAMS); } @@ -129,9 +128,9 @@ public class Q10408_KekropusLetterTheSwampOfScreams extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -141,6 +140,7 @@ public class Q10408_KekropusLetterTheSwampOfScreams extends LetterQuest showOnScreenMsg(player, NpcStringId.SWAMP_OF_SCREAMS_IA_A_GOOD_HUNTING_ZONE_FOR_LV_65_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java index 1495114c76..fe0e935b79 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10411_KekropusLetterTheForestOfTheDead extends LetterQuest { super(10411); addTalkId(MATHIAS, HATUBA); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_7"); setStartLocation(SOE_TOWN_OF_RUNE, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_RUNE, SOE_FOREST_OF_THE_DEAD); } @@ -129,9 +128,9 @@ public class Q10411_KekropusLetterTheForestOfTheDead extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -141,6 +140,7 @@ public class Q10411_KekropusLetterTheForestOfTheDead extends LetterQuest showOnScreenMsg(player, NpcStringId.FOREST_OF_THE_DEAD_IS_A_GOOD_HUNTING_ZONE_FOR_LV_65_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java index 6fa0838b97..eb1b034e61 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10414_KekropusLetterWithCourage extends LetterQuest { super(10414); addTalkId(ANDREI, JANITT); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_8"); setStartLocation(SOE_TOWN_OF_GODDARD, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GODDARD, SOE_WALL_OF_ARGOS); } @@ -129,9 +128,9 @@ public class Q10414_KekropusLetterWithCourage extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -141,6 +140,7 @@ public class Q10414_KekropusLetterWithCourage extends LetterQuest showOnScreenMsg(player, NpcStringId.WALL_OF_ARGOS_IS_A_GOOD_HUNTING_ZONE_FOR_LV_70_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java index 84e655ca10..b46376b6ec 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,7 +50,7 @@ public class Q10415_KekropusLetterWithWisdom extends LetterQuest { super(10415); addTalkId(ANDREI, JANITT); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_8"); @@ -125,9 +124,9 @@ public class Q10415_KekropusLetterWithWisdom extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -137,6 +136,7 @@ public class Q10415_KekropusLetterWithWisdom extends LetterQuest showOnScreenMsg(player, NpcStringId.WALL_OF_ARGOS_IS_A_GOOD_HUNTING_ZONE_FOR_LV_70_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java index c445ad7082..310adbf76b 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10419_KekropusLetterKampfsWhereabouts extends LetterQuest { super(10419); addTalkId(ANDREI, HANSEN); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_9"); setStartLocation(SOE_TOWN_OF_GODDARD, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GODDARD, SOE_VARKA_SILENOS_BARRACKS); } @@ -129,9 +128,9 @@ public class Q10419_KekropusLetterKampfsWhereabouts extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -141,6 +140,7 @@ public class Q10419_KekropusLetterKampfsWhereabouts extends LetterQuest showOnScreenMsg(player, NpcStringId.VARKA_SILENOS_BARRACKS_IS_A_GOOD_HUNTING_ZONE_FOR_LV_76_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java index e8916c8c4b..ccd67d6f61 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10424_KekropusLetterBelosWhereabouts extends LetterQuest { super(10424); addTalkId(ANDREI, LUGONNES); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_10"); setStartLocation(SOE_TOWN_OF_GODDARD, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GODDARD, SOE_KETRA_ORC_OUTPOST); } @@ -129,9 +128,9 @@ public class Q10424_KekropusLetterBelosWhereabouts extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -141,6 +140,7 @@ public class Q10424_KekropusLetterBelosWhereabouts extends LetterQuest showOnScreenMsg(player, NpcStringId.KETRA_ORC_OUTPOST_IS_A_GOOD_HUNTING_ZONE_FOR_LV_76_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10530_KekropusLetterTheDragonsTransition/Q10530_KekropusLetterTheDragonsTransition.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10530_KekropusLetterTheDragonsTransition/Q10530_KekropusLetterTheDragonsTransition.java index ed8fcec1e2..c401f3bcca 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10530_KekropusLetterTheDragonsTransition/Q10530_KekropusLetterTheDragonsTransition.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10530_KekropusLetterTheDragonsTransition/Q10530_KekropusLetterTheDragonsTransition.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -53,11 +52,11 @@ public class Q10530_KekropusLetterTheDragonsTransition extends LetterQuest { super(10530); addTalkId(JERONIN, NAMO); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_15"); setStartLocation(SOE_TOWN_OF_GIRAN, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GIRAN, SOE_DRAGON_VALLEY); } @@ -133,9 +132,9 @@ public class Q10530_KekropusLetterTheDragonsTransition extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -145,5 +144,6 @@ public class Q10530_KekropusLetterTheDragonsTransition extends LetterQuest showOnScreenMsg(player, NpcStringId.DEN_OF_EVIL_IS_A_GOOD_HUNTING_ZONE_FOR_LV_81_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java index eec2975f12..f4673effa4 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java @@ -76,7 +76,7 @@ public class Q10537_KamaelDisarray extends Quest addKillId(LESSER_GIANT_SOLDIER); addSkillSeeId(ESSENCE_LASSER_GIANTS, ROOT_LASSER_GIANTS); registerQuestItems(MINIONS_REPOT); - // setCreatureSeeId(this::onCreatureSee, RETBACH, STHOR, VETLE); + // addCreatureSeeId(RETBACH, STHOR, VETLE); addFactionLevel(Faction.GIANT_TRACKERS, 2, "34237-00.htm"); addCondMinLevel(MIN_LEVEL, "34237-00.htm"); } @@ -258,7 +258,7 @@ public class Q10537_KamaelDisarray extends Quest return htmltext; } - // public void onCreatureSee(OnCreatureSee event) + // public String onCreatureSee(Npc npc, Creature creature) // { // final Npc npc = (Npc) event.getCreature(); // final Creature creature = event.getSeen(); diff --git a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java index 55ecc5ec16..406a6a0b26 100644 --- a/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java +++ b/L2J_Mobius_4.0_GrandCrusade/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java @@ -19,7 +19,6 @@ package quests.Q10829_InSearchOfTheCause; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -45,7 +44,7 @@ public class Q10829_InSearchOfTheCause extends Quest super(10829); addStartNpc(SERESIN); addTalkId(SERESIN, BELAS, FERIN, CYPHONIA); - setCreatureSeeId(this::onCreatureSee, BELAS); + addCreatureSeeId(BELAS); addCondMinLevel(MIN_LEVEL, "30657-00.htm"); } @@ -168,9 +167,9 @@ public class Q10829_InSearchOfTheCause extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final QuestState qs = getQuestState((PlayerInstance) creature, true); @@ -179,5 +178,6 @@ public class Q10829_InSearchOfTheCause extends Quest qs.setCond(2, true); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/quest/Quest.java b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/quest/Quest.java index 60f15e3e1b..6484555ecf 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/quest/Quest.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/org/l2jmobius/gameserver/model/quest/Quest.java @@ -818,6 +818,36 @@ public class Quest extends AbstractScript implements IIdentifiable showResult(player, res); } + /** + * @param npc the NPC that sees the creature + * @param creature the creature seen by the NPC + */ + public void notifyCreatureSee(Npc npc, Creature creature) + { + PlayerInstance player = null; + if (creature.isPlayer()) + { + player = creature.getActingPlayer(); + } + String res = null; + try + { + res = onCreatureSee(npc, creature); + } + catch (Exception e) + { + if (player != null) + { + showError(player, e); + } + return; + } + if (player != null) + { + showResult(player, res); + } + } + /** * @param eventName - name of event * @param sender - NPC, who sent event @@ -1282,6 +1312,17 @@ public class Quest extends AbstractScript implements IIdentifiable return null; } + /** + * This function is called whenever an NPC "sees" a creature. + * @param npc the NPC who sees the creature + * @param creature the creature seen by the NPC + * @return + */ + public String onCreatureSee(Npc npc, Creature creature) + { + return null; + } + /** * This function is called whenever a player enters the game. * @param player this parameter contains a reference to the exact instance of the player who is entering to the world. @@ -2059,6 +2100,22 @@ public class Quest extends AbstractScript implements IIdentifiable setAttackableAggroRangeEnterId(event -> notifyAggroRangeEnter(event.getNpc(), event.getActiveChar(), event.isSummon()), npcIds); } + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(int... npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(Collection npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + /** * Register onEnterZone trigger for zone * @param zoneId the ID of the zone to register diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java index 5da0f89b23..7c28509deb 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class MercenaryCaptain extends AbstractNpcAI private MercenaryCaptain() { - setCreatureSeeId(this::onCreatureSee, MERCENARY_CAPTAIN); + addCreatureSeeId(MERCENARY_CAPTAIN); } @Override @@ -50,14 +49,14 @@ public class MercenaryCaptain extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/DragonValley/Namo.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/DragonValley/Namo.java index ba5afc9fca..6eabcccae7 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/DragonValley/Namo.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/DragonValley/Namo.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class Namo extends AbstractNpcAI private Namo() { - setCreatureSeeId(this::onCreatureSee, NAMO); + addCreatureSeeId(NAMO); } @Override @@ -50,14 +49,14 @@ public class Namo extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java index 9e1a9eed0c..2be4ef7954 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class Rakun extends AbstractNpcAI private Rakun() { - setCreatureSeeId(this::onCreatureSee, RAKUN); + addCreatureSeeId(RAKUN); } @Override @@ -50,14 +49,14 @@ public class Rakun extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java index 8b976bfedb..409b886c34 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java @@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import ai.AbstractNpcAI; @@ -46,7 +45,7 @@ public class Wisp extends AbstractNpcAI private Wisp() { addSpawnId(WISP); - setCreatureSeeId(this::onCreatureSee, WISP, LARGE_WISP); + addCreatureSeeId(WISP, LARGE_WISP); } @Override @@ -70,26 +69,24 @@ public class Wisp extends AbstractNpcAI { final Spawn spawn = npc.getSpawn(); spawn.stopRespawn(); - if ((npc.getId() == WISP) && (getRandom(100) < 10)) { addSpawn(LARGE_WISP, npc); npc.deleteMe(); } - return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); if (creature.isPlayer() || creature.isFakePlayer()) { npc.setTarget(creature); npc.doCast(npc.getId() == WISP ? WISP_HEAL.getSkill() : LARGE_WISP_HEAL.getSkill()); getTimers().addTimer("DELETE_NPC", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java index fb6ab8e213..bdcd4312f0 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import ai.AbstractNpcAI; @@ -80,7 +79,7 @@ public class Rooney extends AbstractNpcAI private Rooney() { - setCreatureSeeId(this::onCreatureSee, ROONEY); + addCreatureSeeId(ROONEY); addSpawn(ROONEY, getRandomEntry(LOCATIONS), false, 0); } @@ -125,19 +124,16 @@ public class Rooney extends AbstractNpcAI return null; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); - startQuestTimer("teleport", 60000, npc, null); - npc.setScriptValue(1); - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); + startQuestTimer("teleport", 60000, npc, null); + npc.setScriptValue(1); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java index aad5e6f05b..5becdce40e 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import ai.AbstractNpcAI; @@ -45,7 +44,7 @@ public class GardenWatchman extends AbstractNpcAI public GardenWatchman() { addSpawnId(GARDEN_WATCHMAN); - setCreatureSeeId(this::onCreatureSee, GENESIS_TRAP_1, GENESIS_TRAP_2); + addCreatureSeeId(GENESIS_TRAP_1, GENESIS_TRAP_2); } @Override @@ -90,14 +89,14 @@ public class GardenWatchman extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer()) { startQuestTimer("DEBUFF", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java index 3968ed6d26..68ea79dbbe 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.network.serverpackets.OnEventTrigger; @@ -57,7 +56,7 @@ public class EntrancePortalToCrystalCaverns extends AbstractNpcAI addTalkId(CAVERNS_ENTRACE); addFirstTalkId(CAVERNS_ENTRACE); addSpawnId(CAVERNS_ENTRACE); - setCreatureSeeId(this::onCreatureSee, CAVERNS_ENTRACE); + addCreatureSeeId(CAVERNS_ENTRACE); } @Override @@ -117,15 +116,16 @@ public class EntrancePortalToCrystalCaverns extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { creature.getActingPlayer().sendPacket(new OnEventTrigger(PRISON_ENTRACE_TRIGGER_1, true)); creature.getActingPlayer().sendPacket(new OnEventTrigger(PRISON_ENTRACE_TRIGGER_2, true)); updateTriggersForPlayer(creature.getActingPlayer(), getCurrentInstanceTemplateId()); } + return super.onCreatureSee(npc, creature); } public void updateTriggersForPlayer(PlayerInstance player, int currentTemplateId) diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java index 15077051f3..f91feb7358 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -116,8 +115,8 @@ public class PrimevalIsle extends AbstractNpcAI addAttackId(TREX); addAttackId(MONSTERS); addKillId(EGG, SAILREN, DEINO, ORNIT); - setCreatureSeeId(this::onCreatureSee, TREX); - setCreatureSeeId(this::onCreatureSee, MONSTERS); + addCreatureSeeId(TREX); + addCreatureSeeId(MONSTERS); } @Override @@ -243,10 +242,9 @@ public class PrimevalIsle extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (CommonUtil.contains(MONSTERS, npc.getId())) { if (creature.isPlayer()) @@ -300,6 +298,7 @@ public class PrimevalIsle extends AbstractNpcAI npc.setRunning(); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java index a98bccb9c9..03ee3fca70 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -45,7 +44,7 @@ public class AltarOfSacrifice extends AbstractNpcAI private AltarOfSacrifice() { addSpawnId(IMMERIAL, JENNAS_GUARD, GIGGLE); - setCreatureSeeId(this::onCreatureSee, JENNAS_GUARD); + addCreatureSeeId(JENNAS_GUARD); } @Override @@ -72,15 +71,15 @@ public class AltarOfSacrifice extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if ((creature != null) && creature.isPlayer() && _jenas_guard.isScriptValue(0)) { startQuestTimer("msg_text", 3000, npc, null); _jenas_guard.setScriptValue(1); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java index 4aea462d7d..75c136685c 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java @@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.network.NpcStringId; @@ -66,8 +65,8 @@ public class SilentValley extends AbstractNpcAI addEventReceivedId(GUARD1, GUARD2); addKillId(MOBS); addSpawnId(CHEST, GUARD2); - setCreatureSeeId(this::onCreatureSee, MOBS); - setCreatureSeeId(this::onCreatureSee, GUARD1, GUARD2); + addCreatureSeeId(MOBS); + addCreatureSeeId(GUARD1, GUARD2); } @Override @@ -154,10 +153,9 @@ public class SilentValley extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayable()) { final PlayerInstance player = (creature.isSummon()) ? ((Summon) creature).getOwner() : creature.getActingPlayer(); @@ -172,6 +170,7 @@ public class SilentValley extends AbstractNpcAI addAttackPlayerDesire(npc, player); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java index d1f759948c..506f8fd7a2 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java @@ -32,7 +32,6 @@ 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.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import ai.AbstractNpcAI; @@ -80,7 +79,7 @@ public class Wastelands extends AbstractNpcAI { addKillId(REGENERATED_POSLOF, SAKUM); addSpawnId(COMMANDER, GUARD, DECO_GUARD, REGENERATED_KANILOV, REGENERATED_POSLOF, SAKUM); - setCreatureSeeId(this::onCreatureSee, JOEL, SCHUAZEN, COMMANDO, COMMANDO_CAPTAIN); + addCreatureSeeId(JOEL, SCHUAZEN, COMMANDO, COMMANDO_CAPTAIN); } @Override @@ -188,14 +187,14 @@ public class Wastelands extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ATTACK)) { startQuestTimer("START_ATTACK", 250, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Baium/Baium.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Baium/Baium.java index d7f73aa15c..e3f2a97bb1 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Baium/Baium.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Baium/Baium.java @@ -34,7 +34,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -112,7 +111,7 @@ public class Baium extends AbstractNpcAI addAttackId(BAIUM, ARCHANGEL); addKillId(BAIUM); addSpellFinishedId(BAIUM); - setCreatureSeeId(this::onCreatureSee, BAIUM); + addCreatureSeeId(BAIUM); final StatSet info = GrandBossManager.getInstance().getStatSet(BAIUM); @@ -561,12 +560,12 @@ public class Baium extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (!zone.isInsideZone(creature) || (creature.isNpc() && (creature.getId() == BAIUM_STONE))) { - return; + return super.onCreatureSee(npc, creature); } if (creature.isPlayer() && !creature.isDead() && (_standbyPlayer == null)) @@ -574,7 +573,6 @@ public class Baium extends AbstractNpcAI _standbyPlayer = (PlayerInstance) creature; } - final Npc npc = (Npc) event.getCreature(); if (creature.isInCategory(CategoryType.CLERIC_GROUP)) { if (npc.getCurrentHp() < (npc.getMaxHp() * 0.25)) @@ -599,6 +597,8 @@ public class Baium extends AbstractNpcAI refreshAiParams(creature, npc, 10000, 1000); } manageSkills(npc); + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java index 380d250f97..b98cebd1b1 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.BuffInfo; @@ -103,7 +102,7 @@ public class BalokWarzone extends AbstractInstance addSkillSeeId(BALOK); addKillId(BALOK, MINION); addSpellFinishedId(BALOK); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_1); + addCreatureSeeId(INVISIBLE_NPC_1); } @Override @@ -293,16 +292,16 @@ public class BalokWarzone extends AbstractInstance return super.onKill(npc, player, isPet); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); getTimers().addTimer("stage_1_start", 60000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java index 5b4e3fb6c8..bdfd45f12a 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.DoorInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -62,7 +61,7 @@ public class BaylorWarzone extends AbstractInstance addInstanceCreatedId(TEMPLATE_ID); addSpawnId(INVISIBLE_NPC_1); addSpellFinishedId(INVISIBLE_NPC_1); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_1); + addCreatureSeeId(INVISIBLE_NPC_1); setCreatureKillId(this::onBossKill, BAYLOR); } @@ -304,16 +303,16 @@ public class BaylorWarzone extends AbstractInstance } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); getTimers().addTimer("START_SCENE_01", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } /** diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java index 340dd5e151..10e422ce25 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -62,7 +61,7 @@ public class IceQueensCastle extends AbstractInstance addTalkId(JINIA); addSpawnId(FREYA); addSpellFinishedId(FREYA); - setCreatureSeeId(this::onCreatureSee, BATTALION_LEADER, LEGIONNAIRE, MERCENARY_ARCHER); + addCreatureSeeId(BATTALION_LEADER, LEGIONNAIRE, MERCENARY_ARCHER); } @Override @@ -140,10 +139,9 @@ public class IceQueensCastle extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); @@ -159,6 +157,7 @@ public class IceQueensCastle extends AbstractInstance }); startQuestTimer("ATTACK_KNIGHT", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java index 1692f91226..58f65e79c2 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.NpcStringId; @@ -78,7 +77,7 @@ public class KimerianCommon extends AbstractInstance addSpawnId(FAIRY_REBEL, NEOMI_KASHERON); addAttackId(KIMERIAN); addKillId(KIMERIAN_GHOST, KIMERIAN); - setCreatureSeeId(this::onCreatureSee, FAIRY_REBEL, NEOMI_KASHERON, INVISIBLE_NPC, KIMERIAN); + addCreatureSeeId(FAIRY_REBEL, NEOMI_KASHERON, INVISIBLE_NPC, KIMERIAN); setCreatureKillId(this::onCreatureKill, FAIRY_REBEL, NEOMI_KASHERON); } @@ -334,14 +333,12 @@ public class KimerianCommon extends AbstractInstance return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final StatSet npcParams = npc.getParameters(); final StatSet npcVars = npc.getVariables(); final Instance instance = npc.getInstanceWorld(); - if (isInInstance(instance)) { switch (npc.getId()) @@ -412,6 +409,7 @@ public class KimerianCommon extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } private void spawnHollow(Npc npc, PlayerInstance player, boolean isHollow) diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java index caab21e1d3..f0200d1563 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java @@ -46,7 +46,6 @@ 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.OnCreatureDamageReceived; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -208,7 +207,7 @@ public class Lindvior extends AbstractNpcAI addSkillSeeId(NPC_GENERATOR); addFirstTalkId(NPC_GENERATOR); addSpawnId(NPC_ATTACKER_GENERATORS, NPC_ATTACKER_GENERATORS_1, LYN_DRACO_ATTACKER_GENERATORS, GENERATOR_GUARD, NPC_GENERATOR); - setCreatureSeeId(this::onCreatureSee, INVISIBLE); + addCreatureSeeId(INVISIBLE); _zoneLair = ZoneManager.getInstance().getZoneById(ZONE_ID, NoSummonFriendZone.class); // Unlock final StatSet info = GrandBossManager.getInstance().getStatSet(LINDVIOR_RAID); @@ -509,12 +508,13 @@ public class Lindvior extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); setLindviorSpawnTask(); npc.getSpawn().stopRespawn(); npc.deleteMe(); + return super.onCreatureSee(npc, creature); } private void nextStage(int taskId) diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java index 4b49959ccb..610906bb55 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java @@ -22,9 +22,9 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.World; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.serverpackets.FlyToLocation; import org.l2jmobius.gameserver.network.serverpackets.ValidateLocation; @@ -44,7 +44,7 @@ public class Vortex extends AbstractNpcAI { super(); addSpawnId(SMALL_VORTEX, BIG_VORTEX); - setCreatureSeeId(this::onCreatureSee, SMALL_VORTEX, BIG_VORTEX); + addCreatureSeeId(SMALL_VORTEX, BIG_VORTEX); } @Override @@ -112,9 +112,9 @@ public class Vortex extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); switch (npc.getId()) { case SMALL_VORTEX: @@ -128,6 +128,7 @@ public class Vortex extends AbstractNpcAI break; } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java index 0f7f84f52e..d0cf7094cf 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -118,7 +117,7 @@ public class OctavisWarzone extends AbstractInstance addMoveFinishedId(GLADIATORS); addSpellFinishedId(OCTAVIS_STAGE_2); addEnterZoneId(TELEPORT_ZONE.getId()); - setCreatureSeeId(this::onCreatureSee, DOOR_MANAGER); + addCreatureSeeId(DOOR_MANAGER); addInstanceCreatedId(TEMPLATE_ID, EXTREME_TEMPLATE_ID); } @@ -562,10 +561,9 @@ public class OctavisWarzone extends AbstractInstance return super.onSpellFinished(npc, player, skill); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { @@ -574,6 +572,7 @@ public class OctavisWarzone extends AbstractInstance getTimers().addTimer("SECOND_DOOR_OPEN", 3000, npc, null); getTimers().addTimer("CLOSE_DOORS", 60000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java index c7b5762bdb..3f6a2cdb0c 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java @@ -37,7 +37,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.DoorInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestTimer; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -137,7 +136,7 @@ public class Ramona extends AbstractNpcAI addKillId(MP_CONTROL, RAMONA_1, RAMONA_2, RAMONA_3); addAttackId(MP_CONTROL, RAMONA_1, RAMONA_2, RAMONA_3); addSpawnId(RAMONA_1, RAMONA_2, RAMONA_3); - setCreatureSeeId(this::onCreatureSee, MP_CONTROL); + addCreatureSeeId(MP_CONTROL); final long temp = GlobalVariablesManager.getInstance().getLong(RAMONA_RESPAWN_VAR, 0) - Chronos.currentTimeMillis(); if (temp > 0) @@ -551,16 +550,15 @@ public class Ramona extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); npc.setInvul(true); - - final Creature creature = event.getSeen(); if (creature.isPlayer()) { startQuestTimer("SPAWN_MS", 10000, npc, null, true); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java index 32ff487818..f876b87a40 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -101,7 +100,7 @@ public class TeredorWarzone extends AbstractInstance addEventReceivedId(EGG_2); addAttackId(TEREDOR); addKillId(EGG_2, TEREDOR); - setCreatureSeeId(this::onCreatureSee, BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR); + addCreatureSeeId(BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR); } @Override @@ -272,10 +271,9 @@ public class TeredorWarzone extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance)) { @@ -361,6 +359,7 @@ public class TeredorWarzone extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java index 5915de7581..b5ea301ac1 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java @@ -37,7 +37,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.BuffInfo; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -318,7 +317,7 @@ public class Trasken extends AbstractNpcAI addExitZoneId(ZONE_ID); addEnterZoneId(ZONE_ID_HEART); addExitZoneId(ZONE_ID_HEART); - setCreatureSeeId(this::onCreatureSee, LAVRA_1, LAVRA_2, LAVRA_3, TRADJAN, TIE, BIG_TIE); + addCreatureSeeId(LAVRA_1, LAVRA_2, LAVRA_3, TRADJAN, TIE, BIG_TIE); init(); if (DoorData.getInstance().getDoor(DOOR) != null) { @@ -539,12 +538,12 @@ public class Trasken extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); if (npc.isDead()) { - return; + return super.onCreatureSee(npc, creature); } if ((npc.getId() == LAVRA_1) || (npc.getId() == LAVRA_2) || (npc.getId() == LAVRA_3) || (npc.getId() == TRADJAN)) @@ -553,7 +552,6 @@ public class Trasken extends AbstractNpcAI } else if ((npc.getId() == TIE) || (npc.getId() == BIG_TIE)) { - final Creature creature = event.getSeen(); if (getRandom(100) < 60) { npc.setTarget(creature); @@ -567,6 +565,8 @@ public class Trasken extends AbstractNpcAI addAttackPlayerDesire(npc, (Playable) creature); } } + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java index 63d7403ff7..3792822735 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MerchantInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.clan.ClanPrivilege; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.residences.ClanHall; import org.l2jmobius.gameserver.model.residences.ResidenceFunction; @@ -102,7 +101,7 @@ public class ClanHallManager extends AbstractNpcAI addStartNpc(CLANHALL_MANAGERS); addTalkId(CLANHALL_MANAGERS); addFirstTalkId(CLANHALL_MANAGERS); - setCreatureSeeId(this::onCreatureSee, CLANHALL_MANAGERS); + addCreatureSeeId(CLANHALL_MANAGERS); } @Override @@ -484,18 +483,18 @@ public class ClanHallManager extends AbstractNpcAI return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final ClanHall clanHall = npc.getClanHall(); if (clanHall != null) { creature.getActingPlayer().sendPacket(new AgitDecoInfo(clanHall)); } } + return super.onCreatureSee(npc, creature); } private void updateVisualEffects(ClanHall clanHall, Npc npc) diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/others/Gordon.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/others/Gordon.java index a2d9276bf5..6d7312128b 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/others/Gordon.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/ai/others/Gordon.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import ai.AbstractNpcAI; @@ -35,17 +34,17 @@ public class Gordon extends AbstractNpcAI private Gordon() { addSpawnId(GORDON); - setCreatureSeeId(this::onCreatureSee, GORDON); + addCreatureSeeId(GORDON); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer() && ((PlayerInstance) creature).isCursedWeaponEquipped()) { - final Npc npc = (Npc) event.getCreature(); addAttackPlayerDesire(npc, (PlayerInstance) creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java index 1b9c5c9c5c..c596c7d98e 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; @@ -67,7 +66,7 @@ public class ChamberOfProphecies extends AbstractInstance addStartNpc(KAIN_VAN_HALTER); addFirstTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD); addTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD); - setCreatureSeeId(this::onCreatureSee, FERIN, VAN_HALTER); + addCreatureSeeId(FERIN, VAN_HALTER); } @Override @@ -501,13 +500,12 @@ public class ChamberOfProphecies extends AbstractInstance return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (world != null) { - final Creature creature = event.getSeen(); switch (npc.getId()) { case FERIN: @@ -528,6 +526,7 @@ public class ChamberOfProphecies extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java index ac9290a099..2451279b0c 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -76,7 +75,7 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance addSpellFinishedId(WATER_CANNON_SKILL); addInstanceEnterId(TEMPLATE_ID); addInstanceLeaveId(TEMPLATE_ID); - setCreatureSeeId(this::onCreatureSee, WATER_CANNON); + addCreatureSeeId(WATER_CANNON); } @Override @@ -380,10 +379,9 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if ((world != null) && creature.isPlayer() && npc.isScriptValue(0)) { @@ -391,6 +389,7 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance npc.setDisplayEffect(1); getTimers().addRepeatingTimer("CANNON_LOOP_ATTACK", 1000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java index 1cd4834736..6882879232 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -79,7 +78,7 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance addInstanceCreatedId(TEMPLATE_ID); addInstanceEnterId(TEMPLATE_ID); addInstanceLeaveId(TEMPLATE_ID); - setCreatureSeeId(this::onCreatureSee, PLAYER_DETECTOR); + addCreatureSeeId(PLAYER_DETECTOR); } @Override @@ -361,10 +360,9 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance return super.onKill(npc, killer, isSummon); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance) && creature.isPlayer()) { @@ -381,6 +379,7 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance npc.deleteMe(); } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java index e6e27df357..eb1f18e412 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -98,7 +97,7 @@ public class HarnakUndergroundRuins extends AbstractInstance { super(TEMPLATE_ID); registerMobs(KRAKIA_BATHUS, KRAKIA_CARCASS, KRAKIA_LOTUS, RAKZAN, WEISS_KHAN, BAMONTI, SEKNUS, WEISS_ELE, HARNAKS_WRAITH); - setCreatureSeeId(this::onCreatureSee, POWER_SOURCES); + addCreatureSeeId(POWER_SOURCES); addEnterZoneId(ZONE_ROOM_2, ZONE_ROOM_3); addFirstTalkId(SEAL_CONTROL_DEVICE); addTalkId(HADEL); @@ -674,18 +673,18 @@ public class HarnakUndergroundRuins extends AbstractInstance return super.onAttack(npc, player, damage, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("cast_release_power", 2000, npc, creature.getActingPlayer()); if (npc.getId() == POWER_SOURCE) { startQuestTimer("whisper_to_player", 2000, npc, creature.getActingPlayer()); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java index c0b58def5b..2a98135f75 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java @@ -31,7 +31,6 @@ import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -91,9 +90,9 @@ public class KartiaHelperAdolph extends AbstractNpcAI private KartiaHelperAdolph() { addSpellFinishedId(KARTIA_ADOLPH); + addCreatureSeeId(KARTIA_ADOLPH); setCreatureKillId(this::onCreatureKill, KARTIA_ADOLPH); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_ADOLPH); - setCreatureSeeId(this::onCreatureSee, KARTIA_ADOLPH); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -288,14 +287,14 @@ public class KartiaHelperAdolph extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java index 5d6a180033..479bde56c6 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -86,9 +85,9 @@ public class KartiaHelperBarton extends AbstractNpcAI private KartiaHelperBarton() { + addCreatureSeeId(KARTIA_BARTON); setCreatureKillId(this::onCreatureKill, KARTIA_BARTON); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_BARTON); - setCreatureSeeId(this::onCreatureSee, KARTIA_BARTON); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -146,17 +145,18 @@ public class KartiaHelperBarton extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java index 6212649204..000919660b 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java @@ -33,7 +33,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -110,8 +109,8 @@ public class KartiaHelperElise extends AbstractNpcAI private KartiaHelperElise() { + addCreatureSeeId(KARTIA_ELISE); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); - setCreatureSeeId(this::onCreatureSee, KARTIA_ELISE); setCreatureKillId(this::onCreatureKill, KARTIA_ELISE); } @@ -243,12 +242,11 @@ public class KartiaHelperElise extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer() || (creature instanceof FriendlyNpcInstance)) { - final Npc npc = (Npc) event.getCreature(); final StatSet npcVars = npc.getVariables(); if (creature.isPlayer()) { @@ -271,6 +269,7 @@ public class KartiaHelperElise extends AbstractNpcAI npcVars.set("HAYUK_OBJECT", creature); } } + return super.onCreatureSee(npc, creature); } public void onCreatureKill(OnCreatureDeath event) diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java index 3b59fd7514..404b7722b2 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -81,9 +80,9 @@ public class KartiaHelperEliyah extends AbstractNpcAI private KartiaHelperEliyah() { + addCreatureSeeId(KARTIA_ELIYAH); setCreatureKillId(this::onCreatureKill, KARTIA_ELIYAH); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_ELIYAH); - setCreatureSeeId(this::onCreatureSee, KARTIA_ELIYAH); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -137,17 +136,18 @@ public class KartiaHelperEliyah extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void onCreatureAttacked(OnCreatureAttacked event) diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java index 865762b4d4..230656b816 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java @@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -90,9 +89,9 @@ public class KartiaHelperGuardian extends AbstractNpcAI private KartiaHelperGuardian() { + addCreatureSeeId(KARTIA_GUARDIANS); setCreatureKillId(this::onCreatureKill, KARTIA_GUARDIANS); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_GUARDIANS); - setCreatureSeeId(this::onCreatureSee, KARTIA_GUARDIANS); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -155,21 +154,22 @@ public class KartiaHelperGuardian extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } else if (CommonUtil.contains(KARTIA_ELIYAH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ELIYAH_OBJECT", creature); + npc.getVariables().set("ELIYAH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java index 2892d96e3e..ba13eb1888 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -87,9 +86,9 @@ public class KartiaHelperHayuk extends AbstractNpcAI private KartiaHelperHayuk() { + addCreatureSeeId(KARTIA_HAYUK); setCreatureKillId(this::onCreatureKill, KARTIA_HAYUK); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_HAYUK); - setCreatureSeeId(this::onCreatureSee, KARTIA_HAYUK); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -152,17 +151,18 @@ public class KartiaHelperHayuk extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java index 33ba6a3bbb..0cf9e476d3 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java @@ -31,7 +31,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -186,13 +185,13 @@ public class KartiasLabyrinth extends AbstractInstance addMoveFinishedId(MINI_BOSSES); addMoveFinishedId(PRISONERS); addRouteFinishedId(MONSTERS); - setCreatureKillId(this::onCreatureKill, MONSTERS); - setCreatureKillId(this::onBossKill, BOSSES); - setCreatureSeeId(this::onCreatureSee, MONSTERS); + addCreatureSeeId(MONSTERS); addEnterZoneId(KARTIA_85_DETECT_1, KARTIA_85_DETECT_2); addEnterZoneId(KARTIA_90_DETECT_1, KARTIA_90_DETECT_2); addEnterZoneId(KARTIA_95_DETECT_1, KARTIA_95_DETECT_2); addInstanceCreatedId(TEMPLATE_ID_SOLO_85, TEMPLATE_ID_SOLO_90, TEMPLATE_ID_SOLO_95, TEMPLATE_ID_GROUP_85, TEMPLATE_ID_GROUP_90, TEMPLATE_ID_GROUP_95); + setCreatureKillId(this::onCreatureKill, MONSTERS); + setCreatureKillId(this::onBossKill, BOSSES); } @Override @@ -873,10 +872,9 @@ public class KartiasLabyrinth extends AbstractInstance } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if ((world != null) && (creature.isPlayer() || creature.getInstanceType().isType(InstanceType.FriendlyNpcInstance)) && npc.isScriptValue(1)) { @@ -892,6 +890,7 @@ public class KartiasLabyrinth extends AbstractInstance addAttackDesire(npc, creature); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java index 52fde99b20..014e294ffe 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java @@ -40,7 +40,6 @@ 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.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerCallToChangeClass; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLogin; @@ -201,10 +200,10 @@ public class MemoryOfDisaster extends AbstractInstance addMoveFinishedId(ROGIN, SOLDIER, WIRPHY, SILVERA); addMoveFinishedId(DWARVES); addSpellFinishedId(SIEGE_GOLEM, INVISIBLE_NPC, TEREDOR_TRANSPARENT, EARTH_WYRM_TRASKEN, SWOOP_CANNON); + addCreatureSeeId(TENTACLE, SOLDIER, SOLDIER2, TEREDOR, INVISIBLE_NPC, CONTROL_DARKELF_AWAKE); + addEventReceivedId(SACRIFICED_DARK_ELF); setCreatureKillId(this::onCreatureKill, BRONK, SILVERA); setCreatureAttackedId(this::onCreatureAttacked, BRONK, TENTACLE, SOLDIER, SOLDIER2, TEREDOR, SIEGE_GOLEM, WIRPHY, SILVERA); - setCreatureSeeId(this::onCreatureSee, TENTACLE, SOLDIER, SOLDIER2, TEREDOR, INVISIBLE_NPC, CONTROL_DARKELF_AWAKE); - addEventReceivedId(SACRIFICED_DARK_ELF); } @Override @@ -343,10 +342,9 @@ public class MemoryOfDisaster extends AbstractInstance return super.onSpawn(npc); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world)) { @@ -423,6 +421,7 @@ public class MemoryOfDisaster extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java index 6ee68164c5..975198c229 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -90,7 +89,7 @@ public class NornilsGarden extends AbstractInstance addKillId(ATTACABLE_MONSTERS); addKillId(SPICULA_ZERO); addKillId(BOZ_STAGE1, BOZ_STAGE2, BOZ_STAGE3, BOZ_STAGE4); - setCreatureSeeId(this::onCreatureSee, BOZ_STAGE1); + addCreatureSeeId(BOZ_STAGE1); } @Override @@ -283,12 +282,11 @@ public class NornilsGarden extends AbstractInstance return "33781.html"; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayable()) { - final Npc npc = (Npc) event.getCreature(); if (npc.isScriptValue(0)) { startQuestTimer("stage1", 3000, npc, null); @@ -296,6 +294,7 @@ public class NornilsGarden extends AbstractInstance npc.setScriptValue(1); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java index 78e794dd45..2161022d2f 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java @@ -29,7 +29,6 @@ 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.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.npc.OnAttackableFactionCall; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -133,8 +132,8 @@ public class PailakaInjuredDragon extends AbstractInstance addAttackId(LATANA); addSpawnId(TELEPORT_TRAP, DRAGON_TARGET, LATANA_SKILL_USE, DRAGON_CAMERA_2); addSpawnId(WIZARDS); - setCreatureSeeId(this::onCreatureSee, WIZARDS); - setCreatureSeeId(this::onCreatureSee, LATANA); + addCreatureSeeId(WIZARDS); + addCreatureSeeId(LATANA); addKillId(ANIMALS); addKillId(LATANA); } @@ -475,10 +474,9 @@ public class PailakaInjuredDragon extends AbstractInstance return super.onSpawn(npc); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world)) { @@ -510,6 +508,7 @@ public class PailakaInjuredDragon extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java index d6edf4ddef..012e3f391e 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; import org.l2jmobius.gameserver.network.NpcStringId; @@ -60,7 +59,7 @@ public class PailakaSongOfIceAndFire extends AbstractInstance addExitZoneId(ZONE); addSpawnId(BLOOM); addKillId(BLOOM); - setCreatureSeeId(this::onCreatureSee, GARGOS); + addCreatureSeeId(GARGOS); } @Override @@ -169,18 +168,15 @@ public class PailakaSongOfIceAndFire extends AbstractInstance return super.onExitZone(creature, zone); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - npc.setScriptValue(1); - startQuestTimer("GARGOS_LAUGH", 1000, npc, creature.getActingPlayer()); - } + npc.setScriptValue(1); + startQuestTimer("GARGOS_LAUGH", 1000, npc, creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java index 1f2f3fb59a..03f45281cd 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -116,7 +115,7 @@ public class PrisonOfDarkness extends AbstractInstance addTalkId(SPEZION_HEADSTONE, WARP_POINT, TIME_BOMB_1, STARLIGHT_LATTICE, JOSEPHINA); addSpawnId(WARP_POINT, ESCORT_WARRIOR); addSpellFinishedId(MONSTERS); - setCreatureSeeId(this::onCreatureSee, EXIT_PORTAL); + addCreatureSeeId(EXIT_PORTAL); addKillId(SPEZIONS_PAWN); addFirstTalkId(JOSEPHINA); } @@ -343,31 +342,36 @@ public class PrisonOfDarkness extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance) && (npc.getId() == EXIT_PORTAL)) { final StatSet npcVars = npc.getVariables(); - switch (npcVars.getInt("PORTAL_STATE", 0)) { case 0: + { takeItems(creature.getActingPlayer(), GIANT_CANNONBALL, -1); creature.teleToLocation(getRandomEntry(PLAYERS_RANDOM_LOCS)); showOnScreenMsg(creature.getActingPlayer(), NpcStringId.YOU_NEED_TO_FIND_ESCAPE_DEVICE_RE_ENTRY_IS_NOT_ALLOWED_ONCE_YOU_VE_LEFT_THE_INSTANT_ZONE, ExShowScreenMessage.TOP_CENTER, 4000); instance.getParameters().increaseInt("PLAYERS_COUNT", 0, 1); break; + } case 1: + { creature.teleToLocation(ORBIS_LOCATION); break; + } case 2: + { creature.teleToLocation(SPEZION_LAIR); break; + } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java index 28208a3ce2..66a7865113 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -57,7 +56,7 @@ public class TalkingIslandPast extends AbstractInstance addTalkId(DARIN, ROXXY, MYSTERIOUS_DARK_KNIGHT); addFirstTalkId(DARIN, ROXXY, MYSTERIOUS_DARK_KNIGHT); addExitZoneId(TALKING_ISLAND_ZONE); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_TI_NPC); + addCreatureSeeId(INVISIBLE_TI_NPC); } @Override @@ -104,10 +103,9 @@ public class TalkingIslandPast extends AbstractInstance return super.onExitZone(creature, zone); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); if (creature.isPlayer()) { final Instance instance = creature.getInstanceWorld(); @@ -124,6 +122,7 @@ public class TalkingIslandPast extends AbstractInstance getTimers().addTimer("MSG", null, 5000, npc, player, n -> showOnScreenMsg(n.getPlayer(), NpcStringId.TALK_TO_THE_MYSTERIOUS_DARK_KNIGHT, ExShowScreenMessage.TOP_CENTER, 5000)); } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java index 0f9ff6f98c..5ae6b98102 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java @@ -31,7 +31,6 @@ 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.OnCreatureSee; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -59,7 +58,7 @@ public class Q00454_CompletelyLost extends Quest addStartNpc(INJURED_SOLDIER); addTalkId(INJURED_SOLDIER, ERMIAN); addMoveFinishedId(INJURED_SOLDIER); - setCreatureSeeId(this::onCreatureSee, INJURED_SOLDIER); + addCreatureSeeId(INJURED_SOLDIER); addEventReceivedId(INJURED_SOLDIER); } @@ -398,17 +397,14 @@ public class Q00454_CompletelyLost extends Quest } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - addAttackPlayerDesire(npc, creature.getActingPlayer(), 10); - } + addAttackPlayerDesire(npc, creature.getActingPlayer(), 10); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java index 53c4e8a863..cba0f398c1 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java @@ -24,9 +24,9 @@ import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.enums.QuestSound; import org.l2jmobius.gameserver.enums.QuestType; import org.l2jmobius.gameserver.model.Party; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.NpcLogListHolder; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -60,8 +60,8 @@ public class Q00833_DevilsTreasureTauti extends Quest addStartNpc(DETON); addTalkId(SETTLEN); addKillId(FLAME_SCORPION, FLAME_GOLEM, FLAME_SCARAB, SEAL_TOMBSTONE); + addCreatureSeeId(DETON); registerQuestItems(FLAME_FLOWER); - setCreatureSeeId(this::onCreatureSee, DETON); } @Override @@ -115,9 +115,10 @@ public class Q00833_DevilsTreasureTauti extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final PlayerInstance player = event.getSeen().getActingPlayer(); + final PlayerInstance player = creature.getActingPlayer(); if (player != null) { final QuestState qs = getQuestState(player, true); @@ -127,6 +128,7 @@ public class Q00833_DevilsTreasureTauti extends Quest qs.startQuest(); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java index bebeea1946..8ae58bb610 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java @@ -19,9 +19,9 @@ package quests.Q00835_PitiableMelisa; import org.l2jmobius.Config; import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.enums.QuestType; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -56,8 +56,8 @@ public class Q00835_PitiableMelisa extends Quest addStartNpc(KANNA); addTalkId(SETTLEN); addKillId(MONSTERS); + addCreatureSeeId(KANNA); registerQuestItems(ICE_CRYSTAL_SHARD); - setCreatureSeeId(this::onCreatureSee, KANNA); } @Override @@ -119,9 +119,10 @@ public class Q00835_PitiableMelisa extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final PlayerInstance player = event.getSeen().getActingPlayer(); + final PlayerInstance player = creature.getActingPlayer(); if (player != null) { final QuestState qs = getQuestState(player, true); @@ -131,6 +132,7 @@ public class Q00835_PitiableMelisa extends Quest qs.startQuest(); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java index c34fcaaf71..b924b2a79e 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -118,8 +117,8 @@ public class Q10369_NoblesseSoulTesting extends Quest addFirstTalkId(FLAME_FLOWER, HELPING_TREE_SUMMON_DEVICE, HELPING_TREE); addCondMinLevel(MIN_LEVEL, "31281-13.htm"); addCondIsSubClassActive(""); + addCreatureSeeId(INVISIBLE_NPC_NOBLE); registerQuestItems(SUMMONING_STONE, NOVELLA_PROPHECY, EMPTY_HOT_SPRINGS_WATER_BOTTLE, HOT_SPRINGS_WATER_BOTTLE, DURABLE_LEATHER, TROWEL, FIRE_ENERGY, HARD_FOSSIL_CONTAINING_WATER_ENERGY, HELPING_SEED, ASHES_OF_REMNANTS, SOE_HOT_SPRINGS, SOE_ADEN_CASTLE, SOE_RUNE_CASTLE, SOE_ISLE_OF_PRAYER, SOE_FORGE_OF_GODS, SOE_SECRET_ROOM); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_NOBLE); } @Override @@ -498,9 +497,9 @@ public class Q10369_NoblesseSoulTesting extends Quest return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -527,6 +526,7 @@ public class Q10369_NoblesseSoulTesting extends Quest } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java index 0d0cc62d34..5dc406d528 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.events.EventType; import org.l2jmobius.gameserver.model.events.ListenerRegisterType; import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent; import org.l2jmobius.gameserver.model.events.annotations.RegisterType; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerSocialAction; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -116,7 +115,7 @@ public class Q10385_RedThreadOfFate extends Quest addKillId(SHILEN_MESSENGER); addCondMinLevel(MIN_LEVEL, "33491-08.html"); addCondNotRace(Race.ERTHEIA, "33491-09.html"); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_ANGHEL_WATERFALL_NPC); + addCreatureSeeId(INVISIBLE_ANGHEL_WATERFALL_NPC); registerQuestItems(MYSTERIOUS_LETTER, HEINE_FROM_THE_GARDEN_OF_EVA, CLEAREST_WATER, BRIGHTEST_LIGHT, PUREST_SOUL, FIERCEST_FLAME, FONDEST_HEART, VULCUN_TRUE_GOLD, VULCUN_PURE_SILVER, VULCUN_BLOOD_FIRE, SCROLL_OF_ESCAPE_VALLEY_OF_SAINTS, SCROLL_OF_ESCAPE_FORGE_OF_THE_GODS, SCROLL_OF_ESCAPE_IVORY_TOWER, SCROLL_OF_ESCAPE_DWARVEN_VILLAGE); } @@ -691,12 +690,11 @@ public class Q10385_RedThreadOfFate extends Quest return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final PlayerInstance player = creature.getActingPlayer(); final QuestState qs = getQuestState(player, false); if ((npc.getId() == INVISIBLE_ANGHEL_WATERFALL_NPC) && (qs != null) && qs.isCond(7)) @@ -704,6 +702,7 @@ public class Q10385_RedThreadOfFate extends Quest showOnScreenMsg(player, NpcStringId.YOU_HAVE_REACHED_ANGHEL_WATERFALL_GO_INSIDE_THE_CAVE, ExShowScreenMessage.TOP_CENTER, 5000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java index 0d299e9027..b617c976a0 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java @@ -19,7 +19,6 @@ package quests.Q10390_KekropusLetter; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -62,9 +61,9 @@ public class Q10390_KekropusLetter extends Quest super(10390); addStartNpc(RAYMOND, RAINS, TOBIAS, DRIKUS, MENDIO, GERSHWIN, ESRANDELL, ELLENIA); addTalkId(RAYMOND, RAINS, TOBIAS, DRIKUS, MENDIO, GERSHWIN, ESRANDELL, ELLENIA, BATHIS, GOSTA, ELI); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); - registerQuestItems(KEKROPUS_LETTER, HAINE_SOE, ALLIGATOR_ISLAND_SOE); + addCreatureSeeId(INVISIBLE_NPC); addCondCompletedQuest(Q10360_CertificationOfFate.class.getSimpleName(), ""); + registerQuestItems(KEKROPUS_LETTER, HAINE_SOE, ALLIGATOR_ISLAND_SOE); } @Override @@ -295,9 +294,9 @@ public class Q10390_KekropusLetter extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -307,6 +306,7 @@ public class Q10390_KekropusLetter extends Quest showOnScreenMsg(player, NpcStringId.ALLIGATOR_ISLAND_IS_A_GOOD_HUNTING_ZONE_FOR_LV_40_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } private boolean isRightMaster(Npc npc, PlayerInstance player) diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java index 5e4bb14215..d1ecf1897b 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,7 +49,7 @@ public class Q10393_KekropusLetterAClueCompleted extends LetterQuest { super(10393); addTalkId(FLUTER, KELIOS); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_2"); @@ -125,9 +124,9 @@ public class Q10393_KekropusLetterAClueCompleted extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -137,5 +136,6 @@ public class Q10393_KekropusLetterAClueCompleted extends LetterQuest showOnScreenMsg(player, NpcStringId.OUTLAW_FOREST_IS_A_GOOD_HUNTING_ZONE_FOR_LV_46_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10397_KekropusLetterASuspiciousBadge/Q10397_KekropusLetterASuspiciousBadge.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10397_KekropusLetterASuspiciousBadge/Q10397_KekropusLetterASuspiciousBadge.java index bd84fde3de..a2f28d4764 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10397_KekropusLetterASuspiciousBadge/Q10397_KekropusLetterASuspiciousBadge.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10397_KekropusLetterASuspiciousBadge/Q10397_KekropusLetterASuspiciousBadge.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10397_KekropusLetterASuspiciousBadge extends LetterQuest { super(10397); addTalkId(MOUEN, ANDY); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_3"); setStartLocation(SOE_TOWN_OF_OREN, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_OREN, SOE_SEA_OF_SPORES); } @@ -128,9 +127,9 @@ public class Q10397_KekropusLetterASuspiciousBadge extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -140,5 +139,6 @@ public class Q10397_KekropusLetterASuspiciousBadge extends LetterQuest showOnScreenMsg(player, NpcStringId.SEA_OF_SPORES_IS_A_GOOD_HUNTING_ZONE_FOR_LV_52_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java index 13f21b32f6..3a3d4f172c 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10401_KekropusLetterDecodingTheBadge extends LetterQuest { super(10401); addTalkId(PATERSON, EBLUNE); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_4"); setStartLocation(SOE_TOWN_OF_ADEN, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_ADEN, SOE_FORSAKEN_PLAINS); } @@ -128,9 +127,9 @@ public class Q10401_KekropusLetterDecodingTheBadge extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -140,5 +139,6 @@ public class Q10401_KekropusLetterDecodingTheBadge extends LetterQuest showOnScreenMsg(player, NpcStringId.FORSAKEN_PLAINS_IA_A_GOOD_HUNTING_ZONE_FOR_LV_58_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java index a6bd1d2ed1..b7615296ad 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10404_KekropusLetterAHiddenMeaning extends LetterQuest { super(10404); addTalkId(PATERSON, SHUVANN); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartLocation(SOE_TOWN_OF_ADEN, TELEPORT_LOC); setStartQuestSound("Npcdialog1.kekrops_quest_5"); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_ADEN, SOE_FIELDS_OF_MASSACRE); } @@ -128,9 +127,9 @@ public class Q10404_KekropusLetterAHiddenMeaning extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -140,5 +139,6 @@ public class Q10404_KekropusLetterAHiddenMeaning extends LetterQuest showOnScreenMsg(player, NpcStringId.FIELDS_OF_MASSACRE_IS_A_GOOD_HUNTING_ZONE_FOR_LV_61_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java index ff48e1026b..3ce76ca1a9 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10408_KekropusLetterTheSwampOfScreams extends LetterQuest { super(10408); addTalkId(MATHIAS, DOKARA); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_6"); setStartLocation(SOE_TOWN_OF_RUNE, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_RUNE, SOE_SWAMP_OF_SCREAMS); } @@ -129,9 +128,9 @@ public class Q10408_KekropusLetterTheSwampOfScreams extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -141,6 +140,7 @@ public class Q10408_KekropusLetterTheSwampOfScreams extends LetterQuest showOnScreenMsg(player, NpcStringId.SWAMP_OF_SCREAMS_IA_A_GOOD_HUNTING_ZONE_FOR_LV_65_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java index 403e3d3fd8..c2fba40643 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10411_KekropusLetterTheForestOfTheDead extends LetterQuest { super(10411); addTalkId(MATHIAS, HATUBA); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_7"); setStartLocation(SOE_TOWN_OF_RUNE, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_RUNE, SOE_FOREST_OF_THE_DEAD); } @@ -129,9 +128,9 @@ public class Q10411_KekropusLetterTheForestOfTheDead extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -141,6 +140,7 @@ public class Q10411_KekropusLetterTheForestOfTheDead extends LetterQuest showOnScreenMsg(player, NpcStringId.FOREST_OF_THE_DEAD_IS_A_GOOD_HUNTING_ZONE_FOR_LV_65_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java index 319dfb7548..510d50b910 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10414_KekropusLetterWithCourage extends LetterQuest { super(10414); addTalkId(ANDREI, JANITT); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_8"); setStartLocation(SOE_TOWN_OF_GODDARD, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GODDARD, SOE_WALL_OF_ARGOS); } @@ -129,9 +128,9 @@ public class Q10414_KekropusLetterWithCourage extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -141,6 +140,7 @@ public class Q10414_KekropusLetterWithCourage extends LetterQuest showOnScreenMsg(player, NpcStringId.WALL_OF_ARGOS_IS_A_GOOD_HUNTING_ZONE_FOR_LV_70_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java index 42eddfb129..fb35aed1aa 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,7 +50,7 @@ public class Q10415_KekropusLetterWithWisdom extends LetterQuest { super(10415); addTalkId(ANDREI, JANITT); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_8"); @@ -125,9 +124,9 @@ public class Q10415_KekropusLetterWithWisdom extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -137,6 +136,7 @@ public class Q10415_KekropusLetterWithWisdom extends LetterQuest showOnScreenMsg(player, NpcStringId.WALL_OF_ARGOS_IS_A_GOOD_HUNTING_ZONE_FOR_LV_70_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java index 8cbbe3fc89..b1e766b8ec 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10419_KekropusLetterKampfsWhereabouts extends LetterQuest { super(10419); addTalkId(ANDREI, HANSEN); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_9"); setStartLocation(SOE_TOWN_OF_GODDARD, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GODDARD, SOE_VARKA_SILENOS_BARRACKS); } @@ -129,9 +128,9 @@ public class Q10419_KekropusLetterKampfsWhereabouts extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -141,6 +140,7 @@ public class Q10419_KekropusLetterKampfsWhereabouts extends LetterQuest showOnScreenMsg(player, NpcStringId.VARKA_SILENOS_BARRACKS_IS_A_GOOD_HUNTING_ZONE_FOR_LV_76_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java index 5c21c31570..2d7d67d0dd 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10424_KekropusLetterBelosWhereabouts extends LetterQuest { super(10424); addTalkId(ANDREI, LUGONNES); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_10"); setStartLocation(SOE_TOWN_OF_GODDARD, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GODDARD, SOE_KETRA_ORC_OUTPOST); } @@ -129,9 +128,9 @@ public class Q10424_KekropusLetterBelosWhereabouts extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -141,6 +140,7 @@ public class Q10424_KekropusLetterBelosWhereabouts extends LetterQuest showOnScreenMsg(player, NpcStringId.KETRA_ORC_OUTPOST_IS_A_GOOD_HUNTING_ZONE_FOR_LV_76_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10530_KekropusLetterTheDragonsTransition/Q10530_KekropusLetterTheDragonsTransition.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10530_KekropusLetterTheDragonsTransition/Q10530_KekropusLetterTheDragonsTransition.java index b7b494dba2..4d80087e23 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10530_KekropusLetterTheDragonsTransition/Q10530_KekropusLetterTheDragonsTransition.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10530_KekropusLetterTheDragonsTransition/Q10530_KekropusLetterTheDragonsTransition.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -53,11 +52,11 @@ public class Q10530_KekropusLetterTheDragonsTransition extends LetterQuest { super(10530); addTalkId(JERONIN, NAMO); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_15"); setStartLocation(SOE_TOWN_OF_GIRAN, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GIRAN, SOE_DRAGON_VALLEY); } @@ -133,9 +132,9 @@ public class Q10530_KekropusLetterTheDragonsTransition extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -145,5 +144,6 @@ public class Q10530_KekropusLetterTheDragonsTransition extends LetterQuest showOnScreenMsg(player, NpcStringId.DEN_OF_EVIL_IS_A_GOOD_HUNTING_ZONE_FOR_LV_81_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java index eec2975f12..f4673effa4 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java @@ -76,7 +76,7 @@ public class Q10537_KamaelDisarray extends Quest addKillId(LESSER_GIANT_SOLDIER); addSkillSeeId(ESSENCE_LASSER_GIANTS, ROOT_LASSER_GIANTS); registerQuestItems(MINIONS_REPOT); - // setCreatureSeeId(this::onCreatureSee, RETBACH, STHOR, VETLE); + // addCreatureSeeId(RETBACH, STHOR, VETLE); addFactionLevel(Faction.GIANT_TRACKERS, 2, "34237-00.htm"); addCondMinLevel(MIN_LEVEL, "34237-00.htm"); } @@ -258,7 +258,7 @@ public class Q10537_KamaelDisarray extends Quest return htmltext; } - // public void onCreatureSee(OnCreatureSee event) + // public String onCreatureSee(Npc npc, Creature creature) // { // final Npc npc = (Npc) event.getCreature(); // final Creature creature = event.getSeen(); diff --git a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java index 55ecc5ec16..406a6a0b26 100644 --- a/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java +++ b/L2J_Mobius_5.0_Salvation/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java @@ -19,7 +19,6 @@ package quests.Q10829_InSearchOfTheCause; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -45,7 +44,7 @@ public class Q10829_InSearchOfTheCause extends Quest super(10829); addStartNpc(SERESIN); addTalkId(SERESIN, BELAS, FERIN, CYPHONIA); - setCreatureSeeId(this::onCreatureSee, BELAS); + addCreatureSeeId(BELAS); addCondMinLevel(MIN_LEVEL, "30657-00.htm"); } @@ -168,9 +167,9 @@ public class Q10829_InSearchOfTheCause extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final QuestState qs = getQuestState((PlayerInstance) creature, true); @@ -179,5 +178,6 @@ public class Q10829_InSearchOfTheCause extends Quest qs.setCond(2, true); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/quest/Quest.java b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/quest/Quest.java index 19772ef5b3..da040f3b00 100644 --- a/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/quest/Quest.java +++ b/L2J_Mobius_5.0_Salvation/java/org/l2jmobius/gameserver/model/quest/Quest.java @@ -818,6 +818,36 @@ public class Quest extends AbstractScript implements IIdentifiable showResult(player, res); } + /** + * @param npc the NPC that sees the creature + * @param creature the creature seen by the NPC + */ + public void notifyCreatureSee(Npc npc, Creature creature) + { + PlayerInstance player = null; + if (creature.isPlayer()) + { + player = creature.getActingPlayer(); + } + String res = null; + try + { + res = onCreatureSee(npc, creature); + } + catch (Exception e) + { + if (player != null) + { + showError(player, e); + } + return; + } + if (player != null) + { + showResult(player, res); + } + } + /** * @param eventName - name of event * @param sender - NPC, who sent event @@ -1282,6 +1312,17 @@ public class Quest extends AbstractScript implements IIdentifiable return null; } + /** + * This function is called whenever an NPC "sees" a creature. + * @param npc the NPC who sees the creature + * @param creature the creature seen by the NPC + * @return + */ + public String onCreatureSee(Npc npc, Creature creature) + { + return null; + } + /** * This function is called whenever a player enters the game. * @param player this parameter contains a reference to the exact instance of the player who is entering to the world. @@ -2059,6 +2100,22 @@ public class Quest extends AbstractScript implements IIdentifiable setAttackableAggroRangeEnterId(event -> notifyAggroRangeEnter(event.getNpc(), event.getActiveChar(), event.isSummon()), npcIds); } + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(int... npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(Collection npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + /** * Register onEnterZone trigger for zone * @param zoneId the ID of the zone to register diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java index 5da0f89b23..7c28509deb 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class MercenaryCaptain extends AbstractNpcAI private MercenaryCaptain() { - setCreatureSeeId(this::onCreatureSee, MERCENARY_CAPTAIN); + addCreatureSeeId(MERCENARY_CAPTAIN); } @Override @@ -50,14 +49,14 @@ public class MercenaryCaptain extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/DragonValley/Namo.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/DragonValley/Namo.java index ba5afc9fca..6eabcccae7 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/DragonValley/Namo.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/DragonValley/Namo.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class Namo extends AbstractNpcAI private Namo() { - setCreatureSeeId(this::onCreatureSee, NAMO); + addCreatureSeeId(NAMO); } @Override @@ -50,14 +49,14 @@ public class Namo extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java index 9e1a9eed0c..2be4ef7954 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class Rakun extends AbstractNpcAI private Rakun() { - setCreatureSeeId(this::onCreatureSee, RAKUN); + addCreatureSeeId(RAKUN); } @Override @@ -50,14 +49,14 @@ public class Rakun extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java index 8b976bfedb..409b886c34 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java @@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import ai.AbstractNpcAI; @@ -46,7 +45,7 @@ public class Wisp extends AbstractNpcAI private Wisp() { addSpawnId(WISP); - setCreatureSeeId(this::onCreatureSee, WISP, LARGE_WISP); + addCreatureSeeId(WISP, LARGE_WISP); } @Override @@ -70,26 +69,24 @@ public class Wisp extends AbstractNpcAI { final Spawn spawn = npc.getSpawn(); spawn.stopRespawn(); - if ((npc.getId() == WISP) && (getRandom(100) < 10)) { addSpawn(LARGE_WISP, npc); npc.deleteMe(); } - return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); if (creature.isPlayer() || creature.isFakePlayer()) { npc.setTarget(creature); npc.doCast(npc.getId() == WISP ? WISP_HEAL.getSkill() : LARGE_WISP_HEAL.getSkill()); getTimers().addTimer("DELETE_NPC", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java index fb6ab8e213..bdcd4312f0 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import ai.AbstractNpcAI; @@ -80,7 +79,7 @@ public class Rooney extends AbstractNpcAI private Rooney() { - setCreatureSeeId(this::onCreatureSee, ROONEY); + addCreatureSeeId(ROONEY); addSpawn(ROONEY, getRandomEntry(LOCATIONS), false, 0); } @@ -125,19 +124,16 @@ public class Rooney extends AbstractNpcAI return null; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); - startQuestTimer("teleport", 60000, npc, null); - npc.setScriptValue(1); - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); + startQuestTimer("teleport", 60000, npc, null); + npc.setScriptValue(1); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java index aad5e6f05b..5becdce40e 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import ai.AbstractNpcAI; @@ -45,7 +44,7 @@ public class GardenWatchman extends AbstractNpcAI public GardenWatchman() { addSpawnId(GARDEN_WATCHMAN); - setCreatureSeeId(this::onCreatureSee, GENESIS_TRAP_1, GENESIS_TRAP_2); + addCreatureSeeId(GENESIS_TRAP_1, GENESIS_TRAP_2); } @Override @@ -90,14 +89,14 @@ public class GardenWatchman extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer()) { startQuestTimer("DEBUFF", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java index 3968ed6d26..68ea79dbbe 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.network.serverpackets.OnEventTrigger; @@ -57,7 +56,7 @@ public class EntrancePortalToCrystalCaverns extends AbstractNpcAI addTalkId(CAVERNS_ENTRACE); addFirstTalkId(CAVERNS_ENTRACE); addSpawnId(CAVERNS_ENTRACE); - setCreatureSeeId(this::onCreatureSee, CAVERNS_ENTRACE); + addCreatureSeeId(CAVERNS_ENTRACE); } @Override @@ -117,15 +116,16 @@ public class EntrancePortalToCrystalCaverns extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { creature.getActingPlayer().sendPacket(new OnEventTrigger(PRISON_ENTRACE_TRIGGER_1, true)); creature.getActingPlayer().sendPacket(new OnEventTrigger(PRISON_ENTRACE_TRIGGER_2, true)); updateTriggersForPlayer(creature.getActingPlayer(), getCurrentInstanceTemplateId()); } + return super.onCreatureSee(npc, creature); } public void updateTriggersForPlayer(PlayerInstance player, int currentTemplateId) diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java index db667c5622..750745cb72 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -116,8 +115,8 @@ public class PrimevalIsle extends AbstractNpcAI addAttackId(TREX); addAttackId(MONSTERS); addKillId(EGG, SAILREN, DEINO, ORNIT); - setCreatureSeeId(this::onCreatureSee, TREX); - setCreatureSeeId(this::onCreatureSee, MONSTERS); + addCreatureSeeId(TREX); + addCreatureSeeId(MONSTERS); } @Override @@ -243,10 +242,9 @@ public class PrimevalIsle extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (CommonUtil.contains(MONSTERS, npc.getId())) { if (creature.isPlayer()) @@ -300,6 +298,7 @@ public class PrimevalIsle extends AbstractNpcAI npc.setRunning(); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java index a98bccb9c9..03ee3fca70 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -45,7 +44,7 @@ public class AltarOfSacrifice extends AbstractNpcAI private AltarOfSacrifice() { addSpawnId(IMMERIAL, JENNAS_GUARD, GIGGLE); - setCreatureSeeId(this::onCreatureSee, JENNAS_GUARD); + addCreatureSeeId(JENNAS_GUARD); } @Override @@ -72,15 +71,15 @@ public class AltarOfSacrifice extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if ((creature != null) && creature.isPlayer() && _jenas_guard.isScriptValue(0)) { startQuestTimer("msg_text", 3000, npc, null); _jenas_guard.setScriptValue(1); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java index 4aea462d7d..75c136685c 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java @@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.network.NpcStringId; @@ -66,8 +65,8 @@ public class SilentValley extends AbstractNpcAI addEventReceivedId(GUARD1, GUARD2); addKillId(MOBS); addSpawnId(CHEST, GUARD2); - setCreatureSeeId(this::onCreatureSee, MOBS); - setCreatureSeeId(this::onCreatureSee, GUARD1, GUARD2); + addCreatureSeeId(MOBS); + addCreatureSeeId(GUARD1, GUARD2); } @Override @@ -154,10 +153,9 @@ public class SilentValley extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayable()) { final PlayerInstance player = (creature.isSummon()) ? ((Summon) creature).getOwner() : creature.getActingPlayer(); @@ -172,6 +170,7 @@ public class SilentValley extends AbstractNpcAI addAttackPlayerDesire(npc, player); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java index d1f759948c..506f8fd7a2 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java @@ -32,7 +32,6 @@ 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.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import ai.AbstractNpcAI; @@ -80,7 +79,7 @@ public class Wastelands extends AbstractNpcAI { addKillId(REGENERATED_POSLOF, SAKUM); addSpawnId(COMMANDER, GUARD, DECO_GUARD, REGENERATED_KANILOV, REGENERATED_POSLOF, SAKUM); - setCreatureSeeId(this::onCreatureSee, JOEL, SCHUAZEN, COMMANDO, COMMANDO_CAPTAIN); + addCreatureSeeId(JOEL, SCHUAZEN, COMMANDO, COMMANDO_CAPTAIN); } @Override @@ -188,14 +187,14 @@ public class Wastelands extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ATTACK)) { startQuestTimer("START_ATTACK", 250, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Baium/Baium.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Baium/Baium.java index d7f73aa15c..e3f2a97bb1 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Baium/Baium.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Baium/Baium.java @@ -34,7 +34,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -112,7 +111,7 @@ public class Baium extends AbstractNpcAI addAttackId(BAIUM, ARCHANGEL); addKillId(BAIUM); addSpellFinishedId(BAIUM); - setCreatureSeeId(this::onCreatureSee, BAIUM); + addCreatureSeeId(BAIUM); final StatSet info = GrandBossManager.getInstance().getStatSet(BAIUM); @@ -561,12 +560,12 @@ public class Baium extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (!zone.isInsideZone(creature) || (creature.isNpc() && (creature.getId() == BAIUM_STONE))) { - return; + return super.onCreatureSee(npc, creature); } if (creature.isPlayer() && !creature.isDead() && (_standbyPlayer == null)) @@ -574,7 +573,6 @@ public class Baium extends AbstractNpcAI _standbyPlayer = (PlayerInstance) creature; } - final Npc npc = (Npc) event.getCreature(); if (creature.isInCategory(CategoryType.CLERIC_GROUP)) { if (npc.getCurrentHp() < (npc.getMaxHp() * 0.25)) @@ -599,6 +597,8 @@ public class Baium extends AbstractNpcAI refreshAiParams(creature, npc, 10000, 1000); } manageSkills(npc); + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java index fa14563861..4937e76f83 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.BuffInfo; @@ -103,7 +102,7 @@ public class BalokWarzone extends AbstractInstance addSkillSeeId(BALOK); addKillId(BALOK, MINION); addSpellFinishedId(BALOK); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_1); + addCreatureSeeId(INVISIBLE_NPC_1); } @Override @@ -293,16 +292,16 @@ public class BalokWarzone extends AbstractInstance return super.onKill(npc, player, isPet); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); getTimers().addTimer("stage_1_start", 60000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java index 5b4e3fb6c8..bdfd45f12a 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.DoorInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -62,7 +61,7 @@ public class BaylorWarzone extends AbstractInstance addInstanceCreatedId(TEMPLATE_ID); addSpawnId(INVISIBLE_NPC_1); addSpellFinishedId(INVISIBLE_NPC_1); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_1); + addCreatureSeeId(INVISIBLE_NPC_1); setCreatureKillId(this::onBossKill, BAYLOR); } @@ -304,16 +303,16 @@ public class BaylorWarzone extends AbstractInstance } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); getTimers().addTimer("START_SCENE_01", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } /** diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java index 340dd5e151..10e422ce25 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -62,7 +61,7 @@ public class IceQueensCastle extends AbstractInstance addTalkId(JINIA); addSpawnId(FREYA); addSpellFinishedId(FREYA); - setCreatureSeeId(this::onCreatureSee, BATTALION_LEADER, LEGIONNAIRE, MERCENARY_ARCHER); + addCreatureSeeId(BATTALION_LEADER, LEGIONNAIRE, MERCENARY_ARCHER); } @Override @@ -140,10 +139,9 @@ public class IceQueensCastle extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); @@ -159,6 +157,7 @@ public class IceQueensCastle extends AbstractInstance }); startQuestTimer("ATTACK_KNIGHT", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java index 1692f91226..58f65e79c2 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.NpcStringId; @@ -78,7 +77,7 @@ public class KimerianCommon extends AbstractInstance addSpawnId(FAIRY_REBEL, NEOMI_KASHERON); addAttackId(KIMERIAN); addKillId(KIMERIAN_GHOST, KIMERIAN); - setCreatureSeeId(this::onCreatureSee, FAIRY_REBEL, NEOMI_KASHERON, INVISIBLE_NPC, KIMERIAN); + addCreatureSeeId(FAIRY_REBEL, NEOMI_KASHERON, INVISIBLE_NPC, KIMERIAN); setCreatureKillId(this::onCreatureKill, FAIRY_REBEL, NEOMI_KASHERON); } @@ -334,14 +333,12 @@ public class KimerianCommon extends AbstractInstance return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final StatSet npcParams = npc.getParameters(); final StatSet npcVars = npc.getVariables(); final Instance instance = npc.getInstanceWorld(); - if (isInInstance(instance)) { switch (npc.getId()) @@ -412,6 +409,7 @@ public class KimerianCommon extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } private void spawnHollow(Npc npc, PlayerInstance player, boolean isHollow) diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java index caab21e1d3..f0200d1563 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java @@ -46,7 +46,6 @@ 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.OnCreatureDamageReceived; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -208,7 +207,7 @@ public class Lindvior extends AbstractNpcAI addSkillSeeId(NPC_GENERATOR); addFirstTalkId(NPC_GENERATOR); addSpawnId(NPC_ATTACKER_GENERATORS, NPC_ATTACKER_GENERATORS_1, LYN_DRACO_ATTACKER_GENERATORS, GENERATOR_GUARD, NPC_GENERATOR); - setCreatureSeeId(this::onCreatureSee, INVISIBLE); + addCreatureSeeId(INVISIBLE); _zoneLair = ZoneManager.getInstance().getZoneById(ZONE_ID, NoSummonFriendZone.class); // Unlock final StatSet info = GrandBossManager.getInstance().getStatSet(LINDVIOR_RAID); @@ -509,12 +508,13 @@ public class Lindvior extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); setLindviorSpawnTask(); npc.getSpawn().stopRespawn(); npc.deleteMe(); + return super.onCreatureSee(npc, creature); } private void nextStage(int taskId) diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java index 4b49959ccb..610906bb55 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java @@ -22,9 +22,9 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.World; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.serverpackets.FlyToLocation; import org.l2jmobius.gameserver.network.serverpackets.ValidateLocation; @@ -44,7 +44,7 @@ public class Vortex extends AbstractNpcAI { super(); addSpawnId(SMALL_VORTEX, BIG_VORTEX); - setCreatureSeeId(this::onCreatureSee, SMALL_VORTEX, BIG_VORTEX); + addCreatureSeeId(SMALL_VORTEX, BIG_VORTEX); } @Override @@ -112,9 +112,9 @@ public class Vortex extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); switch (npc.getId()) { case SMALL_VORTEX: @@ -128,6 +128,7 @@ public class Vortex extends AbstractNpcAI break; } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java index 0f7f84f52e..d0cf7094cf 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -118,7 +117,7 @@ public class OctavisWarzone extends AbstractInstance addMoveFinishedId(GLADIATORS); addSpellFinishedId(OCTAVIS_STAGE_2); addEnterZoneId(TELEPORT_ZONE.getId()); - setCreatureSeeId(this::onCreatureSee, DOOR_MANAGER); + addCreatureSeeId(DOOR_MANAGER); addInstanceCreatedId(TEMPLATE_ID, EXTREME_TEMPLATE_ID); } @@ -562,10 +561,9 @@ public class OctavisWarzone extends AbstractInstance return super.onSpellFinished(npc, player, skill); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { @@ -574,6 +572,7 @@ public class OctavisWarzone extends AbstractInstance getTimers().addTimer("SECOND_DOOR_OPEN", 3000, npc, null); getTimers().addTimer("CLOSE_DOORS", 60000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java index c7b5762bdb..3f6a2cdb0c 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java @@ -37,7 +37,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.DoorInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestTimer; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -137,7 +136,7 @@ public class Ramona extends AbstractNpcAI addKillId(MP_CONTROL, RAMONA_1, RAMONA_2, RAMONA_3); addAttackId(MP_CONTROL, RAMONA_1, RAMONA_2, RAMONA_3); addSpawnId(RAMONA_1, RAMONA_2, RAMONA_3); - setCreatureSeeId(this::onCreatureSee, MP_CONTROL); + addCreatureSeeId(MP_CONTROL); final long temp = GlobalVariablesManager.getInstance().getLong(RAMONA_RESPAWN_VAR, 0) - Chronos.currentTimeMillis(); if (temp > 0) @@ -551,16 +550,15 @@ public class Ramona extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); npc.setInvul(true); - - final Creature creature = event.getSeen(); if (creature.isPlayer()) { startQuestTimer("SPAWN_MS", 10000, npc, null, true); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java index 32ff487818..f876b87a40 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -101,7 +100,7 @@ public class TeredorWarzone extends AbstractInstance addEventReceivedId(EGG_2); addAttackId(TEREDOR); addKillId(EGG_2, TEREDOR); - setCreatureSeeId(this::onCreatureSee, BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR); + addCreatureSeeId(BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR); } @Override @@ -272,10 +271,9 @@ public class TeredorWarzone extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance)) { @@ -361,6 +359,7 @@ public class TeredorWarzone extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java index 5915de7581..b5ea301ac1 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java @@ -37,7 +37,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.BuffInfo; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -318,7 +317,7 @@ public class Trasken extends AbstractNpcAI addExitZoneId(ZONE_ID); addEnterZoneId(ZONE_ID_HEART); addExitZoneId(ZONE_ID_HEART); - setCreatureSeeId(this::onCreatureSee, LAVRA_1, LAVRA_2, LAVRA_3, TRADJAN, TIE, BIG_TIE); + addCreatureSeeId(LAVRA_1, LAVRA_2, LAVRA_3, TRADJAN, TIE, BIG_TIE); init(); if (DoorData.getInstance().getDoor(DOOR) != null) { @@ -539,12 +538,12 @@ public class Trasken extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); if (npc.isDead()) { - return; + return super.onCreatureSee(npc, creature); } if ((npc.getId() == LAVRA_1) || (npc.getId() == LAVRA_2) || (npc.getId() == LAVRA_3) || (npc.getId() == TRADJAN)) @@ -553,7 +552,6 @@ public class Trasken extends AbstractNpcAI } else if ((npc.getId() == TIE) || (npc.getId() == BIG_TIE)) { - final Creature creature = event.getSeen(); if (getRandom(100) < 60) { npc.setTarget(creature); @@ -567,6 +565,8 @@ public class Trasken extends AbstractNpcAI addAttackPlayerDesire(npc, (Playable) creature); } } + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java index 63d7403ff7..3792822735 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MerchantInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.clan.ClanPrivilege; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.residences.ClanHall; import org.l2jmobius.gameserver.model.residences.ResidenceFunction; @@ -102,7 +101,7 @@ public class ClanHallManager extends AbstractNpcAI addStartNpc(CLANHALL_MANAGERS); addTalkId(CLANHALL_MANAGERS); addFirstTalkId(CLANHALL_MANAGERS); - setCreatureSeeId(this::onCreatureSee, CLANHALL_MANAGERS); + addCreatureSeeId(CLANHALL_MANAGERS); } @Override @@ -484,18 +483,18 @@ public class ClanHallManager extends AbstractNpcAI return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final ClanHall clanHall = npc.getClanHall(); if (clanHall != null) { creature.getActingPlayer().sendPacket(new AgitDecoInfo(clanHall)); } } + return super.onCreatureSee(npc, creature); } private void updateVisualEffects(ClanHall clanHall, Npc npc) diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/others/Gordon.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/others/Gordon.java index a2d9276bf5..6d7312128b 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/others/Gordon.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/ai/others/Gordon.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import ai.AbstractNpcAI; @@ -35,17 +34,17 @@ public class Gordon extends AbstractNpcAI private Gordon() { addSpawnId(GORDON); - setCreatureSeeId(this::onCreatureSee, GORDON); + addCreatureSeeId(GORDON); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer() && ((PlayerInstance) creature).isCursedWeaponEquipped()) { - final Npc npc = (Npc) event.getCreature(); addAttackPlayerDesire(npc, (PlayerInstance) creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java index c69ca36aae..fa6dadd15b 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; @@ -67,7 +66,7 @@ public class ChamberOfProphecies extends AbstractInstance addStartNpc(KAIN_VAN_HALTER); addFirstTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD); addTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD); - setCreatureSeeId(this::onCreatureSee, FERIN, VAN_HALTER); + addCreatureSeeId(FERIN, VAN_HALTER); } @Override @@ -501,13 +500,12 @@ public class ChamberOfProphecies extends AbstractInstance return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (world != null) { - final Creature creature = event.getSeen(); switch (npc.getId()) { case FERIN: @@ -528,6 +526,7 @@ public class ChamberOfProphecies extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java index ac9290a099..2451279b0c 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -76,7 +75,7 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance addSpellFinishedId(WATER_CANNON_SKILL); addInstanceEnterId(TEMPLATE_ID); addInstanceLeaveId(TEMPLATE_ID); - setCreatureSeeId(this::onCreatureSee, WATER_CANNON); + addCreatureSeeId(WATER_CANNON); } @Override @@ -380,10 +379,9 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if ((world != null) && creature.isPlayer() && npc.isScriptValue(0)) { @@ -391,6 +389,7 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance npc.setDisplayEffect(1); getTimers().addRepeatingTimer("CANNON_LOOP_ATTACK", 1000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java index 1cd4834736..6882879232 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -79,7 +78,7 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance addInstanceCreatedId(TEMPLATE_ID); addInstanceEnterId(TEMPLATE_ID); addInstanceLeaveId(TEMPLATE_ID); - setCreatureSeeId(this::onCreatureSee, PLAYER_DETECTOR); + addCreatureSeeId(PLAYER_DETECTOR); } @Override @@ -361,10 +360,9 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance return super.onKill(npc, killer, isSummon); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance) && creature.isPlayer()) { @@ -381,6 +379,7 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance npc.deleteMe(); } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java index e6e27df357..eb1f18e412 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -98,7 +97,7 @@ public class HarnakUndergroundRuins extends AbstractInstance { super(TEMPLATE_ID); registerMobs(KRAKIA_BATHUS, KRAKIA_CARCASS, KRAKIA_LOTUS, RAKZAN, WEISS_KHAN, BAMONTI, SEKNUS, WEISS_ELE, HARNAKS_WRAITH); - setCreatureSeeId(this::onCreatureSee, POWER_SOURCES); + addCreatureSeeId(POWER_SOURCES); addEnterZoneId(ZONE_ROOM_2, ZONE_ROOM_3); addFirstTalkId(SEAL_CONTROL_DEVICE); addTalkId(HADEL); @@ -674,18 +673,18 @@ public class HarnakUndergroundRuins extends AbstractInstance return super.onAttack(npc, player, damage, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("cast_release_power", 2000, npc, creature.getActingPlayer()); if (npc.getId() == POWER_SOURCE) { startQuestTimer("whisper_to_player", 2000, npc, creature.getActingPlayer()); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java index c0b58def5b..2a98135f75 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java @@ -31,7 +31,6 @@ import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -91,9 +90,9 @@ public class KartiaHelperAdolph extends AbstractNpcAI private KartiaHelperAdolph() { addSpellFinishedId(KARTIA_ADOLPH); + addCreatureSeeId(KARTIA_ADOLPH); setCreatureKillId(this::onCreatureKill, KARTIA_ADOLPH); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_ADOLPH); - setCreatureSeeId(this::onCreatureSee, KARTIA_ADOLPH); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -288,14 +287,14 @@ public class KartiaHelperAdolph extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java index 5d6a180033..479bde56c6 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -86,9 +85,9 @@ public class KartiaHelperBarton extends AbstractNpcAI private KartiaHelperBarton() { + addCreatureSeeId(KARTIA_BARTON); setCreatureKillId(this::onCreatureKill, KARTIA_BARTON); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_BARTON); - setCreatureSeeId(this::onCreatureSee, KARTIA_BARTON); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -146,17 +145,18 @@ public class KartiaHelperBarton extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java index 6212649204..000919660b 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java @@ -33,7 +33,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -110,8 +109,8 @@ public class KartiaHelperElise extends AbstractNpcAI private KartiaHelperElise() { + addCreatureSeeId(KARTIA_ELISE); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); - setCreatureSeeId(this::onCreatureSee, KARTIA_ELISE); setCreatureKillId(this::onCreatureKill, KARTIA_ELISE); } @@ -243,12 +242,11 @@ public class KartiaHelperElise extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer() || (creature instanceof FriendlyNpcInstance)) { - final Npc npc = (Npc) event.getCreature(); final StatSet npcVars = npc.getVariables(); if (creature.isPlayer()) { @@ -271,6 +269,7 @@ public class KartiaHelperElise extends AbstractNpcAI npcVars.set("HAYUK_OBJECT", creature); } } + return super.onCreatureSee(npc, creature); } public void onCreatureKill(OnCreatureDeath event) diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java index 3b59fd7514..404b7722b2 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -81,9 +80,9 @@ public class KartiaHelperEliyah extends AbstractNpcAI private KartiaHelperEliyah() { + addCreatureSeeId(KARTIA_ELIYAH); setCreatureKillId(this::onCreatureKill, KARTIA_ELIYAH); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_ELIYAH); - setCreatureSeeId(this::onCreatureSee, KARTIA_ELIYAH); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -137,17 +136,18 @@ public class KartiaHelperEliyah extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void onCreatureAttacked(OnCreatureAttacked event) diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java index 865762b4d4..230656b816 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java @@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -90,9 +89,9 @@ public class KartiaHelperGuardian extends AbstractNpcAI private KartiaHelperGuardian() { + addCreatureSeeId(KARTIA_GUARDIANS); setCreatureKillId(this::onCreatureKill, KARTIA_GUARDIANS); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_GUARDIANS); - setCreatureSeeId(this::onCreatureSee, KARTIA_GUARDIANS); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -155,21 +154,22 @@ public class KartiaHelperGuardian extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } else if (CommonUtil.contains(KARTIA_ELIYAH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ELIYAH_OBJECT", creature); + npc.getVariables().set("ELIYAH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java index 2892d96e3e..ba13eb1888 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -87,9 +86,9 @@ public class KartiaHelperHayuk extends AbstractNpcAI private KartiaHelperHayuk() { + addCreatureSeeId(KARTIA_HAYUK); setCreatureKillId(this::onCreatureKill, KARTIA_HAYUK); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_HAYUK); - setCreatureSeeId(this::onCreatureSee, KARTIA_HAYUK); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -152,17 +151,18 @@ public class KartiaHelperHayuk extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java index 33ba6a3bbb..0cf9e476d3 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java @@ -31,7 +31,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -186,13 +185,13 @@ public class KartiasLabyrinth extends AbstractInstance addMoveFinishedId(MINI_BOSSES); addMoveFinishedId(PRISONERS); addRouteFinishedId(MONSTERS); - setCreatureKillId(this::onCreatureKill, MONSTERS); - setCreatureKillId(this::onBossKill, BOSSES); - setCreatureSeeId(this::onCreatureSee, MONSTERS); + addCreatureSeeId(MONSTERS); addEnterZoneId(KARTIA_85_DETECT_1, KARTIA_85_DETECT_2); addEnterZoneId(KARTIA_90_DETECT_1, KARTIA_90_DETECT_2); addEnterZoneId(KARTIA_95_DETECT_1, KARTIA_95_DETECT_2); addInstanceCreatedId(TEMPLATE_ID_SOLO_85, TEMPLATE_ID_SOLO_90, TEMPLATE_ID_SOLO_95, TEMPLATE_ID_GROUP_85, TEMPLATE_ID_GROUP_90, TEMPLATE_ID_GROUP_95); + setCreatureKillId(this::onCreatureKill, MONSTERS); + setCreatureKillId(this::onBossKill, BOSSES); } @Override @@ -873,10 +872,9 @@ public class KartiasLabyrinth extends AbstractInstance } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if ((world != null) && (creature.isPlayer() || creature.getInstanceType().isType(InstanceType.FriendlyNpcInstance)) && npc.isScriptValue(1)) { @@ -892,6 +890,7 @@ public class KartiasLabyrinth extends AbstractInstance addAttackDesire(npc, creature); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java index 52fde99b20..014e294ffe 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java @@ -40,7 +40,6 @@ 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.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerCallToChangeClass; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLogin; @@ -201,10 +200,10 @@ public class MemoryOfDisaster extends AbstractInstance addMoveFinishedId(ROGIN, SOLDIER, WIRPHY, SILVERA); addMoveFinishedId(DWARVES); addSpellFinishedId(SIEGE_GOLEM, INVISIBLE_NPC, TEREDOR_TRANSPARENT, EARTH_WYRM_TRASKEN, SWOOP_CANNON); + addCreatureSeeId(TENTACLE, SOLDIER, SOLDIER2, TEREDOR, INVISIBLE_NPC, CONTROL_DARKELF_AWAKE); + addEventReceivedId(SACRIFICED_DARK_ELF); setCreatureKillId(this::onCreatureKill, BRONK, SILVERA); setCreatureAttackedId(this::onCreatureAttacked, BRONK, TENTACLE, SOLDIER, SOLDIER2, TEREDOR, SIEGE_GOLEM, WIRPHY, SILVERA); - setCreatureSeeId(this::onCreatureSee, TENTACLE, SOLDIER, SOLDIER2, TEREDOR, INVISIBLE_NPC, CONTROL_DARKELF_AWAKE); - addEventReceivedId(SACRIFICED_DARK_ELF); } @Override @@ -343,10 +342,9 @@ public class MemoryOfDisaster extends AbstractInstance return super.onSpawn(npc); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world)) { @@ -423,6 +421,7 @@ public class MemoryOfDisaster extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java index 9cb99c665f..855babef3b 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -90,7 +89,7 @@ public class NornilsGarden extends AbstractInstance addKillId(ATTACABLE_MONSTERS); addKillId(SPICULA_ZERO); addKillId(BOZ_STAGE1, BOZ_STAGE2, BOZ_STAGE3, BOZ_STAGE4); - setCreatureSeeId(this::onCreatureSee, BOZ_STAGE1); + addCreatureSeeId(BOZ_STAGE1); } @Override @@ -283,12 +282,11 @@ public class NornilsGarden extends AbstractInstance return "33781.html"; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayable()) { - final Npc npc = (Npc) event.getCreature(); if (npc.isScriptValue(0)) { startQuestTimer("stage1", 3000, npc, null); @@ -296,6 +294,7 @@ public class NornilsGarden extends AbstractInstance npc.setScriptValue(1); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java index 78e794dd45..2161022d2f 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java @@ -29,7 +29,6 @@ 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.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.npc.OnAttackableFactionCall; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -133,8 +132,8 @@ public class PailakaInjuredDragon extends AbstractInstance addAttackId(LATANA); addSpawnId(TELEPORT_TRAP, DRAGON_TARGET, LATANA_SKILL_USE, DRAGON_CAMERA_2); addSpawnId(WIZARDS); - setCreatureSeeId(this::onCreatureSee, WIZARDS); - setCreatureSeeId(this::onCreatureSee, LATANA); + addCreatureSeeId(WIZARDS); + addCreatureSeeId(LATANA); addKillId(ANIMALS); addKillId(LATANA); } @@ -475,10 +474,9 @@ public class PailakaInjuredDragon extends AbstractInstance return super.onSpawn(npc); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world)) { @@ -510,6 +508,7 @@ public class PailakaInjuredDragon extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java index d6edf4ddef..012e3f391e 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; import org.l2jmobius.gameserver.network.NpcStringId; @@ -60,7 +59,7 @@ public class PailakaSongOfIceAndFire extends AbstractInstance addExitZoneId(ZONE); addSpawnId(BLOOM); addKillId(BLOOM); - setCreatureSeeId(this::onCreatureSee, GARGOS); + addCreatureSeeId(GARGOS); } @Override @@ -169,18 +168,15 @@ public class PailakaSongOfIceAndFire extends AbstractInstance return super.onExitZone(creature, zone); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - npc.setScriptValue(1); - startQuestTimer("GARGOS_LAUGH", 1000, npc, creature.getActingPlayer()); - } + npc.setScriptValue(1); + startQuestTimer("GARGOS_LAUGH", 1000, npc, creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java index 1f2f3fb59a..03f45281cd 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -116,7 +115,7 @@ public class PrisonOfDarkness extends AbstractInstance addTalkId(SPEZION_HEADSTONE, WARP_POINT, TIME_BOMB_1, STARLIGHT_LATTICE, JOSEPHINA); addSpawnId(WARP_POINT, ESCORT_WARRIOR); addSpellFinishedId(MONSTERS); - setCreatureSeeId(this::onCreatureSee, EXIT_PORTAL); + addCreatureSeeId(EXIT_PORTAL); addKillId(SPEZIONS_PAWN); addFirstTalkId(JOSEPHINA); } @@ -343,31 +342,36 @@ public class PrisonOfDarkness extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance) && (npc.getId() == EXIT_PORTAL)) { final StatSet npcVars = npc.getVariables(); - switch (npcVars.getInt("PORTAL_STATE", 0)) { case 0: + { takeItems(creature.getActingPlayer(), GIANT_CANNONBALL, -1); creature.teleToLocation(getRandomEntry(PLAYERS_RANDOM_LOCS)); showOnScreenMsg(creature.getActingPlayer(), NpcStringId.YOU_NEED_TO_FIND_ESCAPE_DEVICE_RE_ENTRY_IS_NOT_ALLOWED_ONCE_YOU_VE_LEFT_THE_INSTANT_ZONE, ExShowScreenMessage.TOP_CENTER, 4000); instance.getParameters().increaseInt("PLAYERS_COUNT", 0, 1); break; + } case 1: + { creature.teleToLocation(ORBIS_LOCATION); break; + } case 2: + { creature.teleToLocation(SPEZION_LAIR); break; + } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java index 28208a3ce2..66a7865113 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -57,7 +56,7 @@ public class TalkingIslandPast extends AbstractInstance addTalkId(DARIN, ROXXY, MYSTERIOUS_DARK_KNIGHT); addFirstTalkId(DARIN, ROXXY, MYSTERIOUS_DARK_KNIGHT); addExitZoneId(TALKING_ISLAND_ZONE); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_TI_NPC); + addCreatureSeeId(INVISIBLE_TI_NPC); } @Override @@ -104,10 +103,9 @@ public class TalkingIslandPast extends AbstractInstance return super.onExitZone(creature, zone); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); if (creature.isPlayer()) { final Instance instance = creature.getInstanceWorld(); @@ -124,6 +122,7 @@ public class TalkingIslandPast extends AbstractInstance getTimers().addTimer("MSG", null, 5000, npc, player, n -> showOnScreenMsg(n.getPlayer(), NpcStringId.TALK_TO_THE_MYSTERIOUS_DARK_KNIGHT, ExShowScreenMessage.TOP_CENTER, 5000)); } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java index 0f9ff6f98c..5ae6b98102 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java @@ -31,7 +31,6 @@ 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.OnCreatureSee; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -59,7 +58,7 @@ public class Q00454_CompletelyLost extends Quest addStartNpc(INJURED_SOLDIER); addTalkId(INJURED_SOLDIER, ERMIAN); addMoveFinishedId(INJURED_SOLDIER); - setCreatureSeeId(this::onCreatureSee, INJURED_SOLDIER); + addCreatureSeeId(INJURED_SOLDIER); addEventReceivedId(INJURED_SOLDIER); } @@ -398,17 +397,14 @@ public class Q00454_CompletelyLost extends Quest } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - addAttackPlayerDesire(npc, creature.getActingPlayer(), 10); - } + addAttackPlayerDesire(npc, creature.getActingPlayer(), 10); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java index 53c4e8a863..cba0f398c1 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java @@ -24,9 +24,9 @@ import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.enums.QuestSound; import org.l2jmobius.gameserver.enums.QuestType; import org.l2jmobius.gameserver.model.Party; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.NpcLogListHolder; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -60,8 +60,8 @@ public class Q00833_DevilsTreasureTauti extends Quest addStartNpc(DETON); addTalkId(SETTLEN); addKillId(FLAME_SCORPION, FLAME_GOLEM, FLAME_SCARAB, SEAL_TOMBSTONE); + addCreatureSeeId(DETON); registerQuestItems(FLAME_FLOWER); - setCreatureSeeId(this::onCreatureSee, DETON); } @Override @@ -115,9 +115,10 @@ public class Q00833_DevilsTreasureTauti extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final PlayerInstance player = event.getSeen().getActingPlayer(); + final PlayerInstance player = creature.getActingPlayer(); if (player != null) { final QuestState qs = getQuestState(player, true); @@ -127,6 +128,7 @@ public class Q00833_DevilsTreasureTauti extends Quest qs.startQuest(); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java index bebeea1946..8ae58bb610 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java @@ -19,9 +19,9 @@ package quests.Q00835_PitiableMelisa; import org.l2jmobius.Config; import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.enums.QuestType; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -56,8 +56,8 @@ public class Q00835_PitiableMelisa extends Quest addStartNpc(KANNA); addTalkId(SETTLEN); addKillId(MONSTERS); + addCreatureSeeId(KANNA); registerQuestItems(ICE_CRYSTAL_SHARD); - setCreatureSeeId(this::onCreatureSee, KANNA); } @Override @@ -119,9 +119,10 @@ public class Q00835_PitiableMelisa extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final PlayerInstance player = event.getSeen().getActingPlayer(); + final PlayerInstance player = creature.getActingPlayer(); if (player != null) { final QuestState qs = getQuestState(player, true); @@ -131,6 +132,7 @@ public class Q00835_PitiableMelisa extends Quest qs.startQuest(); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java index c34fcaaf71..b924b2a79e 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -118,8 +117,8 @@ public class Q10369_NoblesseSoulTesting extends Quest addFirstTalkId(FLAME_FLOWER, HELPING_TREE_SUMMON_DEVICE, HELPING_TREE); addCondMinLevel(MIN_LEVEL, "31281-13.htm"); addCondIsSubClassActive(""); + addCreatureSeeId(INVISIBLE_NPC_NOBLE); registerQuestItems(SUMMONING_STONE, NOVELLA_PROPHECY, EMPTY_HOT_SPRINGS_WATER_BOTTLE, HOT_SPRINGS_WATER_BOTTLE, DURABLE_LEATHER, TROWEL, FIRE_ENERGY, HARD_FOSSIL_CONTAINING_WATER_ENERGY, HELPING_SEED, ASHES_OF_REMNANTS, SOE_HOT_SPRINGS, SOE_ADEN_CASTLE, SOE_RUNE_CASTLE, SOE_ISLE_OF_PRAYER, SOE_FORGE_OF_GODS, SOE_SECRET_ROOM); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_NOBLE); } @Override @@ -498,9 +497,9 @@ public class Q10369_NoblesseSoulTesting extends Quest return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -527,6 +526,7 @@ public class Q10369_NoblesseSoulTesting extends Quest } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java index 0d0cc62d34..5dc406d528 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.events.EventType; import org.l2jmobius.gameserver.model.events.ListenerRegisterType; import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent; import org.l2jmobius.gameserver.model.events.annotations.RegisterType; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerSocialAction; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -116,7 +115,7 @@ public class Q10385_RedThreadOfFate extends Quest addKillId(SHILEN_MESSENGER); addCondMinLevel(MIN_LEVEL, "33491-08.html"); addCondNotRace(Race.ERTHEIA, "33491-09.html"); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_ANGHEL_WATERFALL_NPC); + addCreatureSeeId(INVISIBLE_ANGHEL_WATERFALL_NPC); registerQuestItems(MYSTERIOUS_LETTER, HEINE_FROM_THE_GARDEN_OF_EVA, CLEAREST_WATER, BRIGHTEST_LIGHT, PUREST_SOUL, FIERCEST_FLAME, FONDEST_HEART, VULCUN_TRUE_GOLD, VULCUN_PURE_SILVER, VULCUN_BLOOD_FIRE, SCROLL_OF_ESCAPE_VALLEY_OF_SAINTS, SCROLL_OF_ESCAPE_FORGE_OF_THE_GODS, SCROLL_OF_ESCAPE_IVORY_TOWER, SCROLL_OF_ESCAPE_DWARVEN_VILLAGE); } @@ -691,12 +690,11 @@ public class Q10385_RedThreadOfFate extends Quest return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final PlayerInstance player = creature.getActingPlayer(); final QuestState qs = getQuestState(player, false); if ((npc.getId() == INVISIBLE_ANGHEL_WATERFALL_NPC) && (qs != null) && qs.isCond(7)) @@ -704,6 +702,7 @@ public class Q10385_RedThreadOfFate extends Quest showOnScreenMsg(player, NpcStringId.YOU_HAVE_REACHED_ANGHEL_WATERFALL_GO_INSIDE_THE_CAVE, ExShowScreenMessage.TOP_CENTER, 5000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java index 0d299e9027..b617c976a0 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java @@ -19,7 +19,6 @@ package quests.Q10390_KekropusLetter; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -62,9 +61,9 @@ public class Q10390_KekropusLetter extends Quest super(10390); addStartNpc(RAYMOND, RAINS, TOBIAS, DRIKUS, MENDIO, GERSHWIN, ESRANDELL, ELLENIA); addTalkId(RAYMOND, RAINS, TOBIAS, DRIKUS, MENDIO, GERSHWIN, ESRANDELL, ELLENIA, BATHIS, GOSTA, ELI); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); - registerQuestItems(KEKROPUS_LETTER, HAINE_SOE, ALLIGATOR_ISLAND_SOE); + addCreatureSeeId(INVISIBLE_NPC); addCondCompletedQuest(Q10360_CertificationOfFate.class.getSimpleName(), ""); + registerQuestItems(KEKROPUS_LETTER, HAINE_SOE, ALLIGATOR_ISLAND_SOE); } @Override @@ -295,9 +294,9 @@ public class Q10390_KekropusLetter extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -307,6 +306,7 @@ public class Q10390_KekropusLetter extends Quest showOnScreenMsg(player, NpcStringId.ALLIGATOR_ISLAND_IS_A_GOOD_HUNTING_ZONE_FOR_LV_40_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } private boolean isRightMaster(Npc npc, PlayerInstance player) diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java index 38d75d7e3d..811b8cebe5 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,7 +49,7 @@ public class Q10393_KekropusLetterAClueCompleted extends LetterQuest { super(10393); addTalkId(FLUTER, KELIOS); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_2"); @@ -125,9 +124,9 @@ public class Q10393_KekropusLetterAClueCompleted extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -137,5 +136,6 @@ public class Q10393_KekropusLetterAClueCompleted extends LetterQuest showOnScreenMsg(player, NpcStringId.OUTLAW_FOREST_IS_A_GOOD_HUNTING_ZONE_FOR_LV_46_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java index 13f21b32f6..3a3d4f172c 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10401_KekropusLetterDecodingTheBadge extends LetterQuest { super(10401); addTalkId(PATERSON, EBLUNE); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_4"); setStartLocation(SOE_TOWN_OF_ADEN, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_ADEN, SOE_FORSAKEN_PLAINS); } @@ -128,9 +127,9 @@ public class Q10401_KekropusLetterDecodingTheBadge extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -140,5 +139,6 @@ public class Q10401_KekropusLetterDecodingTheBadge extends LetterQuest showOnScreenMsg(player, NpcStringId.FORSAKEN_PLAINS_IA_A_GOOD_HUNTING_ZONE_FOR_LV_58_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java index a6bd1d2ed1..b7615296ad 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10404_KekropusLetterAHiddenMeaning extends LetterQuest { super(10404); addTalkId(PATERSON, SHUVANN); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartLocation(SOE_TOWN_OF_ADEN, TELEPORT_LOC); setStartQuestSound("Npcdialog1.kekrops_quest_5"); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_ADEN, SOE_FIELDS_OF_MASSACRE); } @@ -128,9 +127,9 @@ public class Q10404_KekropusLetterAHiddenMeaning extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -140,5 +139,6 @@ public class Q10404_KekropusLetterAHiddenMeaning extends LetterQuest showOnScreenMsg(player, NpcStringId.FIELDS_OF_MASSACRE_IS_A_GOOD_HUNTING_ZONE_FOR_LV_61_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java index ff48e1026b..3ce76ca1a9 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10408_KekropusLetterTheSwampOfScreams extends LetterQuest { super(10408); addTalkId(MATHIAS, DOKARA); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_6"); setStartLocation(SOE_TOWN_OF_RUNE, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_RUNE, SOE_SWAMP_OF_SCREAMS); } @@ -129,9 +128,9 @@ public class Q10408_KekropusLetterTheSwampOfScreams extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -141,6 +140,7 @@ public class Q10408_KekropusLetterTheSwampOfScreams extends LetterQuest showOnScreenMsg(player, NpcStringId.SWAMP_OF_SCREAMS_IA_A_GOOD_HUNTING_ZONE_FOR_LV_65_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java index 403e3d3fd8..c2fba40643 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10411_KekropusLetterTheForestOfTheDead extends LetterQuest { super(10411); addTalkId(MATHIAS, HATUBA); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_7"); setStartLocation(SOE_TOWN_OF_RUNE, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_RUNE, SOE_FOREST_OF_THE_DEAD); } @@ -129,9 +128,9 @@ public class Q10411_KekropusLetterTheForestOfTheDead extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -141,6 +140,7 @@ public class Q10411_KekropusLetterTheForestOfTheDead extends LetterQuest showOnScreenMsg(player, NpcStringId.FOREST_OF_THE_DEAD_IS_A_GOOD_HUNTING_ZONE_FOR_LV_65_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java index 319dfb7548..510d50b910 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10414_KekropusLetterWithCourage extends LetterQuest { super(10414); addTalkId(ANDREI, JANITT); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_8"); setStartLocation(SOE_TOWN_OF_GODDARD, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GODDARD, SOE_WALL_OF_ARGOS); } @@ -129,9 +128,9 @@ public class Q10414_KekropusLetterWithCourage extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -141,6 +140,7 @@ public class Q10414_KekropusLetterWithCourage extends LetterQuest showOnScreenMsg(player, NpcStringId.WALL_OF_ARGOS_IS_A_GOOD_HUNTING_ZONE_FOR_LV_70_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java index 42eddfb129..fb35aed1aa 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,7 +50,7 @@ public class Q10415_KekropusLetterWithWisdom extends LetterQuest { super(10415); addTalkId(ANDREI, JANITT); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_8"); @@ -125,9 +124,9 @@ public class Q10415_KekropusLetterWithWisdom extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -137,6 +136,7 @@ public class Q10415_KekropusLetterWithWisdom extends LetterQuest showOnScreenMsg(player, NpcStringId.WALL_OF_ARGOS_IS_A_GOOD_HUNTING_ZONE_FOR_LV_70_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java index 8cbbe3fc89..b1e766b8ec 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10419_KekropusLetterKampfsWhereabouts extends LetterQuest { super(10419); addTalkId(ANDREI, HANSEN); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_9"); setStartLocation(SOE_TOWN_OF_GODDARD, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GODDARD, SOE_VARKA_SILENOS_BARRACKS); } @@ -129,9 +128,9 @@ public class Q10419_KekropusLetterKampfsWhereabouts extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -141,6 +140,7 @@ public class Q10419_KekropusLetterKampfsWhereabouts extends LetterQuest showOnScreenMsg(player, NpcStringId.VARKA_SILENOS_BARRACKS_IS_A_GOOD_HUNTING_ZONE_FOR_LV_76_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java index 5c21c31570..2d7d67d0dd 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10424_KekropusLetterBelosWhereabouts extends LetterQuest { super(10424); addTalkId(ANDREI, LUGONNES); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_10"); setStartLocation(SOE_TOWN_OF_GODDARD, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GODDARD, SOE_KETRA_ORC_OUTPOST); } @@ -129,9 +128,9 @@ public class Q10424_KekropusLetterBelosWhereabouts extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -141,6 +140,7 @@ public class Q10424_KekropusLetterBelosWhereabouts extends LetterQuest showOnScreenMsg(player, NpcStringId.KETRA_ORC_OUTPOST_IS_A_GOOD_HUNTING_ZONE_FOR_LV_76_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10530_KekropusLetterTheDragonsTransition/Q10530_KekropusLetterTheDragonsTransition.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10530_KekropusLetterTheDragonsTransition/Q10530_KekropusLetterTheDragonsTransition.java index b7b494dba2..4d80087e23 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10530_KekropusLetterTheDragonsTransition/Q10530_KekropusLetterTheDragonsTransition.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10530_KekropusLetterTheDragonsTransition/Q10530_KekropusLetterTheDragonsTransition.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -53,11 +52,11 @@ public class Q10530_KekropusLetterTheDragonsTransition extends LetterQuest { super(10530); addTalkId(JERONIN, NAMO); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_15"); setStartLocation(SOE_TOWN_OF_GIRAN, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GIRAN, SOE_DRAGON_VALLEY); } @@ -133,9 +132,9 @@ public class Q10530_KekropusLetterTheDragonsTransition extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -145,5 +144,6 @@ public class Q10530_KekropusLetterTheDragonsTransition extends LetterQuest showOnScreenMsg(player, NpcStringId.DEN_OF_EVIL_IS_A_GOOD_HUNTING_ZONE_FOR_LV_81_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java index eec2975f12..f4673effa4 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java @@ -76,7 +76,7 @@ public class Q10537_KamaelDisarray extends Quest addKillId(LESSER_GIANT_SOLDIER); addSkillSeeId(ESSENCE_LASSER_GIANTS, ROOT_LASSER_GIANTS); registerQuestItems(MINIONS_REPOT); - // setCreatureSeeId(this::onCreatureSee, RETBACH, STHOR, VETLE); + // addCreatureSeeId(RETBACH, STHOR, VETLE); addFactionLevel(Faction.GIANT_TRACKERS, 2, "34237-00.htm"); addCondMinLevel(MIN_LEVEL, "34237-00.htm"); } @@ -258,7 +258,7 @@ public class Q10537_KamaelDisarray extends Quest return htmltext; } - // public void onCreatureSee(OnCreatureSee event) + // public String onCreatureSee(Npc npc, Creature creature) // { // final Npc npc = (Npc) event.getCreature(); // final Creature creature = event.getSeen(); diff --git a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java index 55ecc5ec16..406a6a0b26 100644 --- a/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java +++ b/L2J_Mobius_5.5_EtinasFate/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java @@ -19,7 +19,6 @@ package quests.Q10829_InSearchOfTheCause; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -45,7 +44,7 @@ public class Q10829_InSearchOfTheCause extends Quest super(10829); addStartNpc(SERESIN); addTalkId(SERESIN, BELAS, FERIN, CYPHONIA); - setCreatureSeeId(this::onCreatureSee, BELAS); + addCreatureSeeId(BELAS); addCondMinLevel(MIN_LEVEL, "30657-00.htm"); } @@ -168,9 +167,9 @@ public class Q10829_InSearchOfTheCause extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final QuestState qs = getQuestState((PlayerInstance) creature, true); @@ -179,5 +178,6 @@ public class Q10829_InSearchOfTheCause extends Quest qs.setCond(2, true); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/quest/Quest.java b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/quest/Quest.java index 60f15e3e1b..6484555ecf 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/quest/Quest.java +++ b/L2J_Mobius_5.5_EtinasFate/java/org/l2jmobius/gameserver/model/quest/Quest.java @@ -818,6 +818,36 @@ public class Quest extends AbstractScript implements IIdentifiable showResult(player, res); } + /** + * @param npc the NPC that sees the creature + * @param creature the creature seen by the NPC + */ + public void notifyCreatureSee(Npc npc, Creature creature) + { + PlayerInstance player = null; + if (creature.isPlayer()) + { + player = creature.getActingPlayer(); + } + String res = null; + try + { + res = onCreatureSee(npc, creature); + } + catch (Exception e) + { + if (player != null) + { + showError(player, e); + } + return; + } + if (player != null) + { + showResult(player, res); + } + } + /** * @param eventName - name of event * @param sender - NPC, who sent event @@ -1282,6 +1312,17 @@ public class Quest extends AbstractScript implements IIdentifiable return null; } + /** + * This function is called whenever an NPC "sees" a creature. + * @param npc the NPC who sees the creature + * @param creature the creature seen by the NPC + * @return + */ + public String onCreatureSee(Npc npc, Creature creature) + { + return null; + } + /** * This function is called whenever a player enters the game. * @param player this parameter contains a reference to the exact instance of the player who is entering to the world. @@ -2059,6 +2100,22 @@ public class Quest extends AbstractScript implements IIdentifiable setAttackableAggroRangeEnterId(event -> notifyAggroRangeEnter(event.getNpc(), event.getActiveChar(), event.isSummon()), npcIds); } + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(int... npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(Collection npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + /** * Register onEnterZone trigger for zone * @param zoneId the ID of the zone to register diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java index 5da0f89b23..7c28509deb 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class MercenaryCaptain extends AbstractNpcAI private MercenaryCaptain() { - setCreatureSeeId(this::onCreatureSee, MERCENARY_CAPTAIN); + addCreatureSeeId(MERCENARY_CAPTAIN); } @Override @@ -50,14 +49,14 @@ public class MercenaryCaptain extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/DragonValley/Namo.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/DragonValley/Namo.java index ba5afc9fca..6eabcccae7 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/DragonValley/Namo.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/DragonValley/Namo.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class Namo extends AbstractNpcAI private Namo() { - setCreatureSeeId(this::onCreatureSee, NAMO); + addCreatureSeeId(NAMO); } @Override @@ -50,14 +49,14 @@ public class Namo extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java index 9e1a9eed0c..2be4ef7954 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class Rakun extends AbstractNpcAI private Rakun() { - setCreatureSeeId(this::onCreatureSee, RAKUN); + addCreatureSeeId(RAKUN); } @Override @@ -50,14 +49,14 @@ public class Rakun extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java index 8b976bfedb..409b886c34 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java @@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import ai.AbstractNpcAI; @@ -46,7 +45,7 @@ public class Wisp extends AbstractNpcAI private Wisp() { addSpawnId(WISP); - setCreatureSeeId(this::onCreatureSee, WISP, LARGE_WISP); + addCreatureSeeId(WISP, LARGE_WISP); } @Override @@ -70,26 +69,24 @@ public class Wisp extends AbstractNpcAI { final Spawn spawn = npc.getSpawn(); spawn.stopRespawn(); - if ((npc.getId() == WISP) && (getRandom(100) < 10)) { addSpawn(LARGE_WISP, npc); npc.deleteMe(); } - return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); if (creature.isPlayer() || creature.isFakePlayer()) { npc.setTarget(creature); npc.doCast(npc.getId() == WISP ? WISP_HEAL.getSkill() : LARGE_WISP_HEAL.getSkill()); getTimers().addTimer("DELETE_NPC", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java index fb6ab8e213..bdcd4312f0 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import ai.AbstractNpcAI; @@ -80,7 +79,7 @@ public class Rooney extends AbstractNpcAI private Rooney() { - setCreatureSeeId(this::onCreatureSee, ROONEY); + addCreatureSeeId(ROONEY); addSpawn(ROONEY, getRandomEntry(LOCATIONS), false, 0); } @@ -125,19 +124,16 @@ public class Rooney extends AbstractNpcAI return null; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); - startQuestTimer("teleport", 60000, npc, null); - npc.setScriptValue(1); - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); + startQuestTimer("teleport", 60000, npc, null); + npc.setScriptValue(1); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java index aad5e6f05b..5becdce40e 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import ai.AbstractNpcAI; @@ -45,7 +44,7 @@ public class GardenWatchman extends AbstractNpcAI public GardenWatchman() { addSpawnId(GARDEN_WATCHMAN); - setCreatureSeeId(this::onCreatureSee, GENESIS_TRAP_1, GENESIS_TRAP_2); + addCreatureSeeId(GENESIS_TRAP_1, GENESIS_TRAP_2); } @Override @@ -90,14 +89,14 @@ public class GardenWatchman extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer()) { startQuestTimer("DEBUFF", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java index 3968ed6d26..68ea79dbbe 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.network.serverpackets.OnEventTrigger; @@ -57,7 +56,7 @@ public class EntrancePortalToCrystalCaverns extends AbstractNpcAI addTalkId(CAVERNS_ENTRACE); addFirstTalkId(CAVERNS_ENTRACE); addSpawnId(CAVERNS_ENTRACE); - setCreatureSeeId(this::onCreatureSee, CAVERNS_ENTRACE); + addCreatureSeeId(CAVERNS_ENTRACE); } @Override @@ -117,15 +116,16 @@ public class EntrancePortalToCrystalCaverns extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { creature.getActingPlayer().sendPacket(new OnEventTrigger(PRISON_ENTRACE_TRIGGER_1, true)); creature.getActingPlayer().sendPacket(new OnEventTrigger(PRISON_ENTRACE_TRIGGER_2, true)); updateTriggersForPlayer(creature.getActingPlayer(), getCurrentInstanceTemplateId()); } + return super.onCreatureSee(npc, creature); } public void updateTriggersForPlayer(PlayerInstance player, int currentTemplateId) diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java index db667c5622..750745cb72 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -116,8 +115,8 @@ public class PrimevalIsle extends AbstractNpcAI addAttackId(TREX); addAttackId(MONSTERS); addKillId(EGG, SAILREN, DEINO, ORNIT); - setCreatureSeeId(this::onCreatureSee, TREX); - setCreatureSeeId(this::onCreatureSee, MONSTERS); + addCreatureSeeId(TREX); + addCreatureSeeId(MONSTERS); } @Override @@ -243,10 +242,9 @@ public class PrimevalIsle extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (CommonUtil.contains(MONSTERS, npc.getId())) { if (creature.isPlayer()) @@ -300,6 +298,7 @@ public class PrimevalIsle extends AbstractNpcAI npc.setRunning(); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java index a98bccb9c9..03ee3fca70 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -45,7 +44,7 @@ public class AltarOfSacrifice extends AbstractNpcAI private AltarOfSacrifice() { addSpawnId(IMMERIAL, JENNAS_GUARD, GIGGLE); - setCreatureSeeId(this::onCreatureSee, JENNAS_GUARD); + addCreatureSeeId(JENNAS_GUARD); } @Override @@ -72,15 +71,15 @@ public class AltarOfSacrifice extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if ((creature != null) && creature.isPlayer() && _jenas_guard.isScriptValue(0)) { startQuestTimer("msg_text", 3000, npc, null); _jenas_guard.setScriptValue(1); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java index d1f759948c..506f8fd7a2 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java @@ -32,7 +32,6 @@ 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.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import ai.AbstractNpcAI; @@ -80,7 +79,7 @@ public class Wastelands extends AbstractNpcAI { addKillId(REGENERATED_POSLOF, SAKUM); addSpawnId(COMMANDER, GUARD, DECO_GUARD, REGENERATED_KANILOV, REGENERATED_POSLOF, SAKUM); - setCreatureSeeId(this::onCreatureSee, JOEL, SCHUAZEN, COMMANDO, COMMANDO_CAPTAIN); + addCreatureSeeId(JOEL, SCHUAZEN, COMMANDO, COMMANDO_CAPTAIN); } @Override @@ -188,14 +187,14 @@ public class Wastelands extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ATTACK)) { startQuestTimer("START_ATTACK", 250, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Baium/Baium.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Baium/Baium.java index d7f73aa15c..e3f2a97bb1 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Baium/Baium.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Baium/Baium.java @@ -34,7 +34,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -112,7 +111,7 @@ public class Baium extends AbstractNpcAI addAttackId(BAIUM, ARCHANGEL); addKillId(BAIUM); addSpellFinishedId(BAIUM); - setCreatureSeeId(this::onCreatureSee, BAIUM); + addCreatureSeeId(BAIUM); final StatSet info = GrandBossManager.getInstance().getStatSet(BAIUM); @@ -561,12 +560,12 @@ public class Baium extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (!zone.isInsideZone(creature) || (creature.isNpc() && (creature.getId() == BAIUM_STONE))) { - return; + return super.onCreatureSee(npc, creature); } if (creature.isPlayer() && !creature.isDead() && (_standbyPlayer == null)) @@ -574,7 +573,6 @@ public class Baium extends AbstractNpcAI _standbyPlayer = (PlayerInstance) creature; } - final Npc npc = (Npc) event.getCreature(); if (creature.isInCategory(CategoryType.CLERIC_GROUP)) { if (npc.getCurrentHp() < (npc.getMaxHp() * 0.25)) @@ -599,6 +597,8 @@ public class Baium extends AbstractNpcAI refreshAiParams(creature, npc, 10000, 1000); } manageSkills(npc); + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java index fa14563861..4937e76f83 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.BuffInfo; @@ -103,7 +102,7 @@ public class BalokWarzone extends AbstractInstance addSkillSeeId(BALOK); addKillId(BALOK, MINION); addSpellFinishedId(BALOK); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_1); + addCreatureSeeId(INVISIBLE_NPC_1); } @Override @@ -293,16 +292,16 @@ public class BalokWarzone extends AbstractInstance return super.onKill(npc, player, isPet); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); getTimers().addTimer("stage_1_start", 60000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java index 5b4e3fb6c8..bdfd45f12a 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.DoorInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -62,7 +61,7 @@ public class BaylorWarzone extends AbstractInstance addInstanceCreatedId(TEMPLATE_ID); addSpawnId(INVISIBLE_NPC_1); addSpellFinishedId(INVISIBLE_NPC_1); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_1); + addCreatureSeeId(INVISIBLE_NPC_1); setCreatureKillId(this::onBossKill, BAYLOR); } @@ -304,16 +303,16 @@ public class BaylorWarzone extends AbstractInstance } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); getTimers().addTimer("START_SCENE_01", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } /** diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java index 340dd5e151..10e422ce25 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -62,7 +61,7 @@ public class IceQueensCastle extends AbstractInstance addTalkId(JINIA); addSpawnId(FREYA); addSpellFinishedId(FREYA); - setCreatureSeeId(this::onCreatureSee, BATTALION_LEADER, LEGIONNAIRE, MERCENARY_ARCHER); + addCreatureSeeId(BATTALION_LEADER, LEGIONNAIRE, MERCENARY_ARCHER); } @Override @@ -140,10 +139,9 @@ public class IceQueensCastle extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); @@ -159,6 +157,7 @@ public class IceQueensCastle extends AbstractInstance }); startQuestTimer("ATTACK_KNIGHT", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java index 1692f91226..58f65e79c2 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.NpcStringId; @@ -78,7 +77,7 @@ public class KimerianCommon extends AbstractInstance addSpawnId(FAIRY_REBEL, NEOMI_KASHERON); addAttackId(KIMERIAN); addKillId(KIMERIAN_GHOST, KIMERIAN); - setCreatureSeeId(this::onCreatureSee, FAIRY_REBEL, NEOMI_KASHERON, INVISIBLE_NPC, KIMERIAN); + addCreatureSeeId(FAIRY_REBEL, NEOMI_KASHERON, INVISIBLE_NPC, KIMERIAN); setCreatureKillId(this::onCreatureKill, FAIRY_REBEL, NEOMI_KASHERON); } @@ -334,14 +333,12 @@ public class KimerianCommon extends AbstractInstance return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final StatSet npcParams = npc.getParameters(); final StatSet npcVars = npc.getVariables(); final Instance instance = npc.getInstanceWorld(); - if (isInInstance(instance)) { switch (npc.getId()) @@ -412,6 +409,7 @@ public class KimerianCommon extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } private void spawnHollow(Npc npc, PlayerInstance player, boolean isHollow) diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java index caab21e1d3..f0200d1563 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java @@ -46,7 +46,6 @@ 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.OnCreatureDamageReceived; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -208,7 +207,7 @@ public class Lindvior extends AbstractNpcAI addSkillSeeId(NPC_GENERATOR); addFirstTalkId(NPC_GENERATOR); addSpawnId(NPC_ATTACKER_GENERATORS, NPC_ATTACKER_GENERATORS_1, LYN_DRACO_ATTACKER_GENERATORS, GENERATOR_GUARD, NPC_GENERATOR); - setCreatureSeeId(this::onCreatureSee, INVISIBLE); + addCreatureSeeId(INVISIBLE); _zoneLair = ZoneManager.getInstance().getZoneById(ZONE_ID, NoSummonFriendZone.class); // Unlock final StatSet info = GrandBossManager.getInstance().getStatSet(LINDVIOR_RAID); @@ -509,12 +508,13 @@ public class Lindvior extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); setLindviorSpawnTask(); npc.getSpawn().stopRespawn(); npc.deleteMe(); + return super.onCreatureSee(npc, creature); } private void nextStage(int taskId) diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java index 4b49959ccb..610906bb55 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java @@ -22,9 +22,9 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.World; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.serverpackets.FlyToLocation; import org.l2jmobius.gameserver.network.serverpackets.ValidateLocation; @@ -44,7 +44,7 @@ public class Vortex extends AbstractNpcAI { super(); addSpawnId(SMALL_VORTEX, BIG_VORTEX); - setCreatureSeeId(this::onCreatureSee, SMALL_VORTEX, BIG_VORTEX); + addCreatureSeeId(SMALL_VORTEX, BIG_VORTEX); } @Override @@ -112,9 +112,9 @@ public class Vortex extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); switch (npc.getId()) { case SMALL_VORTEX: @@ -128,6 +128,7 @@ public class Vortex extends AbstractNpcAI break; } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java index 0f7f84f52e..d0cf7094cf 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -118,7 +117,7 @@ public class OctavisWarzone extends AbstractInstance addMoveFinishedId(GLADIATORS); addSpellFinishedId(OCTAVIS_STAGE_2); addEnterZoneId(TELEPORT_ZONE.getId()); - setCreatureSeeId(this::onCreatureSee, DOOR_MANAGER); + addCreatureSeeId(DOOR_MANAGER); addInstanceCreatedId(TEMPLATE_ID, EXTREME_TEMPLATE_ID); } @@ -562,10 +561,9 @@ public class OctavisWarzone extends AbstractInstance return super.onSpellFinished(npc, player, skill); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { @@ -574,6 +572,7 @@ public class OctavisWarzone extends AbstractInstance getTimers().addTimer("SECOND_DOOR_OPEN", 3000, npc, null); getTimers().addTimer("CLOSE_DOORS", 60000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java index c7b5762bdb..3f6a2cdb0c 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java @@ -37,7 +37,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.DoorInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestTimer; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -137,7 +136,7 @@ public class Ramona extends AbstractNpcAI addKillId(MP_CONTROL, RAMONA_1, RAMONA_2, RAMONA_3); addAttackId(MP_CONTROL, RAMONA_1, RAMONA_2, RAMONA_3); addSpawnId(RAMONA_1, RAMONA_2, RAMONA_3); - setCreatureSeeId(this::onCreatureSee, MP_CONTROL); + addCreatureSeeId(MP_CONTROL); final long temp = GlobalVariablesManager.getInstance().getLong(RAMONA_RESPAWN_VAR, 0) - Chronos.currentTimeMillis(); if (temp > 0) @@ -551,16 +550,15 @@ public class Ramona extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); npc.setInvul(true); - - final Creature creature = event.getSeen(); if (creature.isPlayer()) { startQuestTimer("SPAWN_MS", 10000, npc, null, true); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java index 32ff487818..f876b87a40 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -101,7 +100,7 @@ public class TeredorWarzone extends AbstractInstance addEventReceivedId(EGG_2); addAttackId(TEREDOR); addKillId(EGG_2, TEREDOR); - setCreatureSeeId(this::onCreatureSee, BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR); + addCreatureSeeId(BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR); } @Override @@ -272,10 +271,9 @@ public class TeredorWarzone extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance)) { @@ -361,6 +359,7 @@ public class TeredorWarzone extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java index 5915de7581..b5ea301ac1 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java @@ -37,7 +37,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.BuffInfo; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -318,7 +317,7 @@ public class Trasken extends AbstractNpcAI addExitZoneId(ZONE_ID); addEnterZoneId(ZONE_ID_HEART); addExitZoneId(ZONE_ID_HEART); - setCreatureSeeId(this::onCreatureSee, LAVRA_1, LAVRA_2, LAVRA_3, TRADJAN, TIE, BIG_TIE); + addCreatureSeeId(LAVRA_1, LAVRA_2, LAVRA_3, TRADJAN, TIE, BIG_TIE); init(); if (DoorData.getInstance().getDoor(DOOR) != null) { @@ -539,12 +538,12 @@ public class Trasken extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); if (npc.isDead()) { - return; + return super.onCreatureSee(npc, creature); } if ((npc.getId() == LAVRA_1) || (npc.getId() == LAVRA_2) || (npc.getId() == LAVRA_3) || (npc.getId() == TRADJAN)) @@ -553,7 +552,6 @@ public class Trasken extends AbstractNpcAI } else if ((npc.getId() == TIE) || (npc.getId() == BIG_TIE)) { - final Creature creature = event.getSeen(); if (getRandom(100) < 60) { npc.setTarget(creature); @@ -567,6 +565,8 @@ public class Trasken extends AbstractNpcAI addAttackPlayerDesire(npc, (Playable) creature); } } + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java index 63d7403ff7..3792822735 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MerchantInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.clan.ClanPrivilege; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.residences.ClanHall; import org.l2jmobius.gameserver.model.residences.ResidenceFunction; @@ -102,7 +101,7 @@ public class ClanHallManager extends AbstractNpcAI addStartNpc(CLANHALL_MANAGERS); addTalkId(CLANHALL_MANAGERS); addFirstTalkId(CLANHALL_MANAGERS); - setCreatureSeeId(this::onCreatureSee, CLANHALL_MANAGERS); + addCreatureSeeId(CLANHALL_MANAGERS); } @Override @@ -484,18 +483,18 @@ public class ClanHallManager extends AbstractNpcAI return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final ClanHall clanHall = npc.getClanHall(); if (clanHall != null) { creature.getActingPlayer().sendPacket(new AgitDecoInfo(clanHall)); } } + return super.onCreatureSee(npc, creature); } private void updateVisualEffects(ClanHall clanHall, Npc npc) diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/others/Gordon.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/others/Gordon.java index a2d9276bf5..6d7312128b 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/others/Gordon.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/ai/others/Gordon.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import ai.AbstractNpcAI; @@ -35,17 +34,17 @@ public class Gordon extends AbstractNpcAI private Gordon() { addSpawnId(GORDON); - setCreatureSeeId(this::onCreatureSee, GORDON); + addCreatureSeeId(GORDON); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer() && ((PlayerInstance) creature).isCursedWeaponEquipped()) { - final Npc npc = (Npc) event.getCreature(); addAttackPlayerDesire(npc, (PlayerInstance) creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java index c69ca36aae..fa6dadd15b 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; @@ -67,7 +66,7 @@ public class ChamberOfProphecies extends AbstractInstance addStartNpc(KAIN_VAN_HALTER); addFirstTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD); addTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD); - setCreatureSeeId(this::onCreatureSee, FERIN, VAN_HALTER); + addCreatureSeeId(FERIN, VAN_HALTER); } @Override @@ -501,13 +500,12 @@ public class ChamberOfProphecies extends AbstractInstance return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (world != null) { - final Creature creature = event.getSeen(); switch (npc.getId()) { case FERIN: @@ -528,6 +526,7 @@ public class ChamberOfProphecies extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java index ac9290a099..2451279b0c 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -76,7 +75,7 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance addSpellFinishedId(WATER_CANNON_SKILL); addInstanceEnterId(TEMPLATE_ID); addInstanceLeaveId(TEMPLATE_ID); - setCreatureSeeId(this::onCreatureSee, WATER_CANNON); + addCreatureSeeId(WATER_CANNON); } @Override @@ -380,10 +379,9 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if ((world != null) && creature.isPlayer() && npc.isScriptValue(0)) { @@ -391,6 +389,7 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance npc.setDisplayEffect(1); getTimers().addRepeatingTimer("CANNON_LOOP_ATTACK", 1000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java index 1cd4834736..6882879232 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -79,7 +78,7 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance addInstanceCreatedId(TEMPLATE_ID); addInstanceEnterId(TEMPLATE_ID); addInstanceLeaveId(TEMPLATE_ID); - setCreatureSeeId(this::onCreatureSee, PLAYER_DETECTOR); + addCreatureSeeId(PLAYER_DETECTOR); } @Override @@ -361,10 +360,9 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance return super.onKill(npc, killer, isSummon); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance) && creature.isPlayer()) { @@ -381,6 +379,7 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance npc.deleteMe(); } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java index e6e27df357..eb1f18e412 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/HarnakUndergroundRuins/HarnakUndergroundRuins.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -98,7 +97,7 @@ public class HarnakUndergroundRuins extends AbstractInstance { super(TEMPLATE_ID); registerMobs(KRAKIA_BATHUS, KRAKIA_CARCASS, KRAKIA_LOTUS, RAKZAN, WEISS_KHAN, BAMONTI, SEKNUS, WEISS_ELE, HARNAKS_WRAITH); - setCreatureSeeId(this::onCreatureSee, POWER_SOURCES); + addCreatureSeeId(POWER_SOURCES); addEnterZoneId(ZONE_ROOM_2, ZONE_ROOM_3); addFirstTalkId(SEAL_CONTROL_DEVICE); addTalkId(HADEL); @@ -674,18 +673,18 @@ public class HarnakUndergroundRuins extends AbstractInstance return super.onAttack(npc, player, damage, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("cast_release_power", 2000, npc, creature.getActingPlayer()); if (npc.getId() == POWER_SOURCE) { startQuestTimer("whisper_to_player", 2000, npc, creature.getActingPlayer()); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java index c0b58def5b..2a98135f75 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java @@ -31,7 +31,6 @@ import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -91,9 +90,9 @@ public class KartiaHelperAdolph extends AbstractNpcAI private KartiaHelperAdolph() { addSpellFinishedId(KARTIA_ADOLPH); + addCreatureSeeId(KARTIA_ADOLPH); setCreatureKillId(this::onCreatureKill, KARTIA_ADOLPH); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_ADOLPH); - setCreatureSeeId(this::onCreatureSee, KARTIA_ADOLPH); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -288,14 +287,14 @@ public class KartiaHelperAdolph extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java index 5d6a180033..479bde56c6 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -86,9 +85,9 @@ public class KartiaHelperBarton extends AbstractNpcAI private KartiaHelperBarton() { + addCreatureSeeId(KARTIA_BARTON); setCreatureKillId(this::onCreatureKill, KARTIA_BARTON); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_BARTON); - setCreatureSeeId(this::onCreatureSee, KARTIA_BARTON); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -146,17 +145,18 @@ public class KartiaHelperBarton extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java index 6212649204..000919660b 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java @@ -33,7 +33,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -110,8 +109,8 @@ public class KartiaHelperElise extends AbstractNpcAI private KartiaHelperElise() { + addCreatureSeeId(KARTIA_ELISE); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); - setCreatureSeeId(this::onCreatureSee, KARTIA_ELISE); setCreatureKillId(this::onCreatureKill, KARTIA_ELISE); } @@ -243,12 +242,11 @@ public class KartiaHelperElise extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer() || (creature instanceof FriendlyNpcInstance)) { - final Npc npc = (Npc) event.getCreature(); final StatSet npcVars = npc.getVariables(); if (creature.isPlayer()) { @@ -271,6 +269,7 @@ public class KartiaHelperElise extends AbstractNpcAI npcVars.set("HAYUK_OBJECT", creature); } } + return super.onCreatureSee(npc, creature); } public void onCreatureKill(OnCreatureDeath event) diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java index 3b59fd7514..404b7722b2 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -81,9 +80,9 @@ public class KartiaHelperEliyah extends AbstractNpcAI private KartiaHelperEliyah() { + addCreatureSeeId(KARTIA_ELIYAH); setCreatureKillId(this::onCreatureKill, KARTIA_ELIYAH); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_ELIYAH); - setCreatureSeeId(this::onCreatureSee, KARTIA_ELIYAH); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -137,17 +136,18 @@ public class KartiaHelperEliyah extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void onCreatureAttacked(OnCreatureAttacked event) diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java index 865762b4d4..230656b816 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java @@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -90,9 +89,9 @@ public class KartiaHelperGuardian extends AbstractNpcAI private KartiaHelperGuardian() { + addCreatureSeeId(KARTIA_GUARDIANS); setCreatureKillId(this::onCreatureKill, KARTIA_GUARDIANS); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_GUARDIANS); - setCreatureSeeId(this::onCreatureSee, KARTIA_GUARDIANS); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -155,21 +154,22 @@ public class KartiaHelperGuardian extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } else if (CommonUtil.contains(KARTIA_ELIYAH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ELIYAH_OBJECT", creature); + npc.getVariables().set("ELIYAH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java index 2892d96e3e..ba13eb1888 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -87,9 +86,9 @@ public class KartiaHelperHayuk extends AbstractNpcAI private KartiaHelperHayuk() { + addCreatureSeeId(KARTIA_HAYUK); setCreatureKillId(this::onCreatureKill, KARTIA_HAYUK); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_HAYUK); - setCreatureSeeId(this::onCreatureSee, KARTIA_HAYUK); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -152,17 +151,18 @@ public class KartiaHelperHayuk extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java index 33ba6a3bbb..0cf9e476d3 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java @@ -31,7 +31,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -186,13 +185,13 @@ public class KartiasLabyrinth extends AbstractInstance addMoveFinishedId(MINI_BOSSES); addMoveFinishedId(PRISONERS); addRouteFinishedId(MONSTERS); - setCreatureKillId(this::onCreatureKill, MONSTERS); - setCreatureKillId(this::onBossKill, BOSSES); - setCreatureSeeId(this::onCreatureSee, MONSTERS); + addCreatureSeeId(MONSTERS); addEnterZoneId(KARTIA_85_DETECT_1, KARTIA_85_DETECT_2); addEnterZoneId(KARTIA_90_DETECT_1, KARTIA_90_DETECT_2); addEnterZoneId(KARTIA_95_DETECT_1, KARTIA_95_DETECT_2); addInstanceCreatedId(TEMPLATE_ID_SOLO_85, TEMPLATE_ID_SOLO_90, TEMPLATE_ID_SOLO_95, TEMPLATE_ID_GROUP_85, TEMPLATE_ID_GROUP_90, TEMPLATE_ID_GROUP_95); + setCreatureKillId(this::onCreatureKill, MONSTERS); + setCreatureKillId(this::onBossKill, BOSSES); } @Override @@ -873,10 +872,9 @@ public class KartiasLabyrinth extends AbstractInstance } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if ((world != null) && (creature.isPlayer() || creature.getInstanceType().isType(InstanceType.FriendlyNpcInstance)) && npc.isScriptValue(1)) { @@ -892,6 +890,7 @@ public class KartiasLabyrinth extends AbstractInstance addAttackDesire(npc, creature); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java index 52fde99b20..014e294ffe 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/MemoryOfDisaster/MemoryOfDisaster.java @@ -40,7 +40,6 @@ 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.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerCallToChangeClass; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLevelChanged; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerLogin; @@ -201,10 +200,10 @@ public class MemoryOfDisaster extends AbstractInstance addMoveFinishedId(ROGIN, SOLDIER, WIRPHY, SILVERA); addMoveFinishedId(DWARVES); addSpellFinishedId(SIEGE_GOLEM, INVISIBLE_NPC, TEREDOR_TRANSPARENT, EARTH_WYRM_TRASKEN, SWOOP_CANNON); + addCreatureSeeId(TENTACLE, SOLDIER, SOLDIER2, TEREDOR, INVISIBLE_NPC, CONTROL_DARKELF_AWAKE); + addEventReceivedId(SACRIFICED_DARK_ELF); setCreatureKillId(this::onCreatureKill, BRONK, SILVERA); setCreatureAttackedId(this::onCreatureAttacked, BRONK, TENTACLE, SOLDIER, SOLDIER2, TEREDOR, SIEGE_GOLEM, WIRPHY, SILVERA); - setCreatureSeeId(this::onCreatureSee, TENTACLE, SOLDIER, SOLDIER2, TEREDOR, INVISIBLE_NPC, CONTROL_DARKELF_AWAKE); - addEventReceivedId(SACRIFICED_DARK_ELF); } @Override @@ -343,10 +342,9 @@ public class MemoryOfDisaster extends AbstractInstance return super.onSpawn(npc); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world)) { @@ -423,6 +421,7 @@ public class MemoryOfDisaster extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java index 9cb99c665f..855babef3b 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -90,7 +89,7 @@ public class NornilsGarden extends AbstractInstance addKillId(ATTACABLE_MONSTERS); addKillId(SPICULA_ZERO); addKillId(BOZ_STAGE1, BOZ_STAGE2, BOZ_STAGE3, BOZ_STAGE4); - setCreatureSeeId(this::onCreatureSee, BOZ_STAGE1); + addCreatureSeeId(BOZ_STAGE1); } @Override @@ -283,12 +282,11 @@ public class NornilsGarden extends AbstractInstance return "33781.html"; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayable()) { - final Npc npc = (Npc) event.getCreature(); if (npc.isScriptValue(0)) { startQuestTimer("stage1", 3000, npc, null); @@ -296,6 +294,7 @@ public class NornilsGarden extends AbstractInstance npc.setScriptValue(1); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java index 78e794dd45..2161022d2f 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/PailakaInjuredDragon/PailakaInjuredDragon.java @@ -29,7 +29,6 @@ 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.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.npc.OnAttackableFactionCall; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -133,8 +132,8 @@ public class PailakaInjuredDragon extends AbstractInstance addAttackId(LATANA); addSpawnId(TELEPORT_TRAP, DRAGON_TARGET, LATANA_SKILL_USE, DRAGON_CAMERA_2); addSpawnId(WIZARDS); - setCreatureSeeId(this::onCreatureSee, WIZARDS); - setCreatureSeeId(this::onCreatureSee, LATANA); + addCreatureSeeId(WIZARDS); + addCreatureSeeId(LATANA); addKillId(ANIMALS); addKillId(LATANA); } @@ -475,10 +474,9 @@ public class PailakaInjuredDragon extends AbstractInstance return super.onSpawn(npc); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world)) { @@ -510,6 +508,7 @@ public class PailakaInjuredDragon extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java index d6edf4ddef..012e3f391e 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; import org.l2jmobius.gameserver.network.NpcStringId; @@ -60,7 +59,7 @@ public class PailakaSongOfIceAndFire extends AbstractInstance addExitZoneId(ZONE); addSpawnId(BLOOM); addKillId(BLOOM); - setCreatureSeeId(this::onCreatureSee, GARGOS); + addCreatureSeeId(GARGOS); } @Override @@ -169,18 +168,15 @@ public class PailakaSongOfIceAndFire extends AbstractInstance return super.onExitZone(creature, zone); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - npc.setScriptValue(1); - startQuestTimer("GARGOS_LAUGH", 1000, npc, creature.getActingPlayer()); - } + npc.setScriptValue(1); + startQuestTimer("GARGOS_LAUGH", 1000, npc, creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java index 1f2f3fb59a..03f45281cd 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -116,7 +115,7 @@ public class PrisonOfDarkness extends AbstractInstance addTalkId(SPEZION_HEADSTONE, WARP_POINT, TIME_BOMB_1, STARLIGHT_LATTICE, JOSEPHINA); addSpawnId(WARP_POINT, ESCORT_WARRIOR); addSpellFinishedId(MONSTERS); - setCreatureSeeId(this::onCreatureSee, EXIT_PORTAL); + addCreatureSeeId(EXIT_PORTAL); addKillId(SPEZIONS_PAWN); addFirstTalkId(JOSEPHINA); } @@ -343,31 +342,36 @@ public class PrisonOfDarkness extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance) && (npc.getId() == EXIT_PORTAL)) { final StatSet npcVars = npc.getVariables(); - switch (npcVars.getInt("PORTAL_STATE", 0)) { case 0: + { takeItems(creature.getActingPlayer(), GIANT_CANNONBALL, -1); creature.teleToLocation(getRandomEntry(PLAYERS_RANDOM_LOCS)); showOnScreenMsg(creature.getActingPlayer(), NpcStringId.YOU_NEED_TO_FIND_ESCAPE_DEVICE_RE_ENTRY_IS_NOT_ALLOWED_ONCE_YOU_VE_LEFT_THE_INSTANT_ZONE, ExShowScreenMessage.TOP_CENTER, 4000); instance.getParameters().increaseInt("PLAYERS_COUNT", 0, 1); break; + } case 1: + { creature.teleToLocation(ORBIS_LOCATION); break; + } case 2: + { creature.teleToLocation(SPEZION_LAIR); break; + } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java index 28208a3ce2..66a7865113 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/instances/TalkingIslandPast/TalkingIslandPast.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -57,7 +56,7 @@ public class TalkingIslandPast extends AbstractInstance addTalkId(DARIN, ROXXY, MYSTERIOUS_DARK_KNIGHT); addFirstTalkId(DARIN, ROXXY, MYSTERIOUS_DARK_KNIGHT); addExitZoneId(TALKING_ISLAND_ZONE); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_TI_NPC); + addCreatureSeeId(INVISIBLE_TI_NPC); } @Override @@ -104,10 +103,9 @@ public class TalkingIslandPast extends AbstractInstance return super.onExitZone(creature, zone); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); if (creature.isPlayer()) { final Instance instance = creature.getInstanceWorld(); @@ -124,6 +122,7 @@ public class TalkingIslandPast extends AbstractInstance getTimers().addTimer("MSG", null, 5000, npc, player, n -> showOnScreenMsg(n.getPlayer(), NpcStringId.TALK_TO_THE_MYSTERIOUS_DARK_KNIGHT, ExShowScreenMessage.TOP_CENTER, 5000)); } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java index 0f9ff6f98c..5ae6b98102 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java @@ -31,7 +31,6 @@ 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.OnCreatureSee; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -59,7 +58,7 @@ public class Q00454_CompletelyLost extends Quest addStartNpc(INJURED_SOLDIER); addTalkId(INJURED_SOLDIER, ERMIAN); addMoveFinishedId(INJURED_SOLDIER); - setCreatureSeeId(this::onCreatureSee, INJURED_SOLDIER); + addCreatureSeeId(INJURED_SOLDIER); addEventReceivedId(INJURED_SOLDIER); } @@ -398,17 +397,14 @@ public class Q00454_CompletelyLost extends Quest } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - addAttackPlayerDesire(npc, creature.getActingPlayer(), 10); - } + addAttackPlayerDesire(npc, creature.getActingPlayer(), 10); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java index 53c4e8a863..cba0f398c1 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java @@ -24,9 +24,9 @@ import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.enums.QuestSound; import org.l2jmobius.gameserver.enums.QuestType; import org.l2jmobius.gameserver.model.Party; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.NpcLogListHolder; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -60,8 +60,8 @@ public class Q00833_DevilsTreasureTauti extends Quest addStartNpc(DETON); addTalkId(SETTLEN); addKillId(FLAME_SCORPION, FLAME_GOLEM, FLAME_SCARAB, SEAL_TOMBSTONE); + addCreatureSeeId(DETON); registerQuestItems(FLAME_FLOWER); - setCreatureSeeId(this::onCreatureSee, DETON); } @Override @@ -115,9 +115,10 @@ public class Q00833_DevilsTreasureTauti extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final PlayerInstance player = event.getSeen().getActingPlayer(); + final PlayerInstance player = creature.getActingPlayer(); if (player != null) { final QuestState qs = getQuestState(player, true); @@ -127,6 +128,7 @@ public class Q00833_DevilsTreasureTauti extends Quest qs.startQuest(); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java index bebeea1946..8ae58bb610 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java @@ -19,9 +19,9 @@ package quests.Q00835_PitiableMelisa; import org.l2jmobius.Config; import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.enums.QuestType; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -56,8 +56,8 @@ public class Q00835_PitiableMelisa extends Quest addStartNpc(KANNA); addTalkId(SETTLEN); addKillId(MONSTERS); + addCreatureSeeId(KANNA); registerQuestItems(ICE_CRYSTAL_SHARD); - setCreatureSeeId(this::onCreatureSee, KANNA); } @Override @@ -119,9 +119,10 @@ public class Q00835_PitiableMelisa extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final PlayerInstance player = event.getSeen().getActingPlayer(); + final PlayerInstance player = creature.getActingPlayer(); if (player != null) { final QuestState qs = getQuestState(player, true); @@ -131,6 +132,7 @@ public class Q00835_PitiableMelisa extends Quest qs.startQuest(); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java index c34fcaaf71..b924b2a79e 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10369_NoblesseSoulTesting/Q10369_NoblesseSoulTesting.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -118,8 +117,8 @@ public class Q10369_NoblesseSoulTesting extends Quest addFirstTalkId(FLAME_FLOWER, HELPING_TREE_SUMMON_DEVICE, HELPING_TREE); addCondMinLevel(MIN_LEVEL, "31281-13.htm"); addCondIsSubClassActive(""); + addCreatureSeeId(INVISIBLE_NPC_NOBLE); registerQuestItems(SUMMONING_STONE, NOVELLA_PROPHECY, EMPTY_HOT_SPRINGS_WATER_BOTTLE, HOT_SPRINGS_WATER_BOTTLE, DURABLE_LEATHER, TROWEL, FIRE_ENERGY, HARD_FOSSIL_CONTAINING_WATER_ENERGY, HELPING_SEED, ASHES_OF_REMNANTS, SOE_HOT_SPRINGS, SOE_ADEN_CASTLE, SOE_RUNE_CASTLE, SOE_ISLE_OF_PRAYER, SOE_FORGE_OF_GODS, SOE_SECRET_ROOM); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_NOBLE); } @Override @@ -498,9 +497,9 @@ public class Q10369_NoblesseSoulTesting extends Quest return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -527,6 +526,7 @@ public class Q10369_NoblesseSoulTesting extends Quest } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java index 0d0cc62d34..5dc406d528 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10385_RedThreadOfFate/Q10385_RedThreadOfFate.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.events.EventType; import org.l2jmobius.gameserver.model.events.ListenerRegisterType; import org.l2jmobius.gameserver.model.events.annotations.RegisterEvent; import org.l2jmobius.gameserver.model.events.annotations.RegisterType; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerSocialAction; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -116,7 +115,7 @@ public class Q10385_RedThreadOfFate extends Quest addKillId(SHILEN_MESSENGER); addCondMinLevel(MIN_LEVEL, "33491-08.html"); addCondNotRace(Race.ERTHEIA, "33491-09.html"); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_ANGHEL_WATERFALL_NPC); + addCreatureSeeId(INVISIBLE_ANGHEL_WATERFALL_NPC); registerQuestItems(MYSTERIOUS_LETTER, HEINE_FROM_THE_GARDEN_OF_EVA, CLEAREST_WATER, BRIGHTEST_LIGHT, PUREST_SOUL, FIERCEST_FLAME, FONDEST_HEART, VULCUN_TRUE_GOLD, VULCUN_PURE_SILVER, VULCUN_BLOOD_FIRE, SCROLL_OF_ESCAPE_VALLEY_OF_SAINTS, SCROLL_OF_ESCAPE_FORGE_OF_THE_GODS, SCROLL_OF_ESCAPE_IVORY_TOWER, SCROLL_OF_ESCAPE_DWARVEN_VILLAGE); } @@ -691,12 +690,11 @@ public class Q10385_RedThreadOfFate extends Quest return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final PlayerInstance player = creature.getActingPlayer(); final QuestState qs = getQuestState(player, false); if ((npc.getId() == INVISIBLE_ANGHEL_WATERFALL_NPC) && (qs != null) && qs.isCond(7)) @@ -704,6 +702,7 @@ public class Q10385_RedThreadOfFate extends Quest showOnScreenMsg(player, NpcStringId.YOU_HAVE_REACHED_ANGHEL_WATERFALL_GO_INSIDE_THE_CAVE, ExShowScreenMessage.TOP_CENTER, 5000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java index 0d299e9027..b617c976a0 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10390_KekropusLetter/Q10390_KekropusLetter.java @@ -19,7 +19,6 @@ package quests.Q10390_KekropusLetter; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -62,9 +61,9 @@ public class Q10390_KekropusLetter extends Quest super(10390); addStartNpc(RAYMOND, RAINS, TOBIAS, DRIKUS, MENDIO, GERSHWIN, ESRANDELL, ELLENIA); addTalkId(RAYMOND, RAINS, TOBIAS, DRIKUS, MENDIO, GERSHWIN, ESRANDELL, ELLENIA, BATHIS, GOSTA, ELI); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); - registerQuestItems(KEKROPUS_LETTER, HAINE_SOE, ALLIGATOR_ISLAND_SOE); + addCreatureSeeId(INVISIBLE_NPC); addCondCompletedQuest(Q10360_CertificationOfFate.class.getSimpleName(), ""); + registerQuestItems(KEKROPUS_LETTER, HAINE_SOE, ALLIGATOR_ISLAND_SOE); } @Override @@ -295,9 +294,9 @@ public class Q10390_KekropusLetter extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -307,6 +306,7 @@ public class Q10390_KekropusLetter extends Quest showOnScreenMsg(player, NpcStringId.ALLIGATOR_ISLAND_IS_A_GOOD_HUNTING_ZONE_FOR_LV_40_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } private boolean isRightMaster(Npc npc, PlayerInstance player) diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java index 38d75d7e3d..811b8cebe5 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10393_KekropusLetterAClueCompleted/Q10393_KekropusLetterAClueCompleted.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,7 +49,7 @@ public class Q10393_KekropusLetterAClueCompleted extends LetterQuest { super(10393); addTalkId(FLUTER, KELIOS); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_2"); @@ -125,9 +124,9 @@ public class Q10393_KekropusLetterAClueCompleted extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -137,5 +136,6 @@ public class Q10393_KekropusLetterAClueCompleted extends LetterQuest showOnScreenMsg(player, NpcStringId.OUTLAW_FOREST_IS_A_GOOD_HUNTING_ZONE_FOR_LV_46_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java index 13f21b32f6..3a3d4f172c 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10401_KekropusLetterDecodingTheBadge/Q10401_KekropusLetterDecodingTheBadge.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10401_KekropusLetterDecodingTheBadge extends LetterQuest { super(10401); addTalkId(PATERSON, EBLUNE); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_4"); setStartLocation(SOE_TOWN_OF_ADEN, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_ADEN, SOE_FORSAKEN_PLAINS); } @@ -128,9 +127,9 @@ public class Q10401_KekropusLetterDecodingTheBadge extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -140,5 +139,6 @@ public class Q10401_KekropusLetterDecodingTheBadge extends LetterQuest showOnScreenMsg(player, NpcStringId.FORSAKEN_PLAINS_IA_A_GOOD_HUNTING_ZONE_FOR_LV_58_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java index a6bd1d2ed1..b7615296ad 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10404_KekropusLetterAHiddenMeaning/Q10404_KekropusLetterAHiddenMeaning.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10404_KekropusLetterAHiddenMeaning extends LetterQuest { super(10404); addTalkId(PATERSON, SHUVANN); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartLocation(SOE_TOWN_OF_ADEN, TELEPORT_LOC); setStartQuestSound("Npcdialog1.kekrops_quest_5"); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_ADEN, SOE_FIELDS_OF_MASSACRE); } @@ -128,9 +127,9 @@ public class Q10404_KekropusLetterAHiddenMeaning extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -140,5 +139,6 @@ public class Q10404_KekropusLetterAHiddenMeaning extends LetterQuest showOnScreenMsg(player, NpcStringId.FIELDS_OF_MASSACRE_IS_A_GOOD_HUNTING_ZONE_FOR_LV_61_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java index ff48e1026b..3ce76ca1a9 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10408_KekropusLetterTheSwampOfScreams/Q10408_KekropusLetterTheSwampOfScreams.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10408_KekropusLetterTheSwampOfScreams extends LetterQuest { super(10408); addTalkId(MATHIAS, DOKARA); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_6"); setStartLocation(SOE_TOWN_OF_RUNE, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_RUNE, SOE_SWAMP_OF_SCREAMS); } @@ -129,9 +128,9 @@ public class Q10408_KekropusLetterTheSwampOfScreams extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -141,6 +140,7 @@ public class Q10408_KekropusLetterTheSwampOfScreams extends LetterQuest showOnScreenMsg(player, NpcStringId.SWAMP_OF_SCREAMS_IA_A_GOOD_HUNTING_ZONE_FOR_LV_65_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java index 403e3d3fd8..c2fba40643 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10411_KekropusLetterTheForestOfTheDead/Q10411_KekropusLetterTheForestOfTheDead.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10411_KekropusLetterTheForestOfTheDead extends LetterQuest { super(10411); addTalkId(MATHIAS, HATUBA); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_7"); setStartLocation(SOE_TOWN_OF_RUNE, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_RUNE, SOE_FOREST_OF_THE_DEAD); } @@ -129,9 +128,9 @@ public class Q10411_KekropusLetterTheForestOfTheDead extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -141,6 +140,7 @@ public class Q10411_KekropusLetterTheForestOfTheDead extends LetterQuest showOnScreenMsg(player, NpcStringId.FOREST_OF_THE_DEAD_IS_A_GOOD_HUNTING_ZONE_FOR_LV_65_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java index 319dfb7548..510d50b910 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10414_KekropusLetterWithCourage/Q10414_KekropusLetterWithCourage.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10414_KekropusLetterWithCourage extends LetterQuest { super(10414); addTalkId(ANDREI, JANITT); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_8"); setStartLocation(SOE_TOWN_OF_GODDARD, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GODDARD, SOE_WALL_OF_ARGOS); } @@ -129,9 +128,9 @@ public class Q10414_KekropusLetterWithCourage extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -141,6 +140,7 @@ public class Q10414_KekropusLetterWithCourage extends LetterQuest showOnScreenMsg(player, NpcStringId.WALL_OF_ARGOS_IS_A_GOOD_HUNTING_ZONE_FOR_LV_70_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java index 42eddfb129..fb35aed1aa 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10415_KekropusLetterWithWisdom/Q10415_KekropusLetterWithWisdom.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -51,7 +50,7 @@ public class Q10415_KekropusLetterWithWisdom extends LetterQuest { super(10415); addTalkId(ANDREI, JANITT); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_8"); @@ -125,9 +124,9 @@ public class Q10415_KekropusLetterWithWisdom extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -137,6 +136,7 @@ public class Q10415_KekropusLetterWithWisdom extends LetterQuest showOnScreenMsg(player, NpcStringId.WALL_OF_ARGOS_IS_A_GOOD_HUNTING_ZONE_FOR_LV_70_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java index 8cbbe3fc89..b1e766b8ec 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10419_KekropusLetterKampfsWhereabouts/Q10419_KekropusLetterKampfsWhereabouts.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10419_KekropusLetterKampfsWhereabouts extends LetterQuest { super(10419); addTalkId(ANDREI, HANSEN); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_9"); setStartLocation(SOE_TOWN_OF_GODDARD, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GODDARD, SOE_VARKA_SILENOS_BARRACKS); } @@ -129,9 +128,9 @@ public class Q10419_KekropusLetterKampfsWhereabouts extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -141,6 +140,7 @@ public class Q10419_KekropusLetterKampfsWhereabouts extends LetterQuest showOnScreenMsg(player, NpcStringId.VARKA_SILENOS_BARRACKS_IS_A_GOOD_HUNTING_ZONE_FOR_LV_76_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java index 5c21c31570..2d7d67d0dd 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10424_KekropusLetterBelosWhereabouts/Q10424_KekropusLetterBelosWhereabouts.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -50,11 +49,11 @@ public class Q10424_KekropusLetterBelosWhereabouts extends LetterQuest { super(10424); addTalkId(ANDREI, LUGONNES); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_10"); setStartLocation(SOE_TOWN_OF_GODDARD, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GODDARD, SOE_KETRA_ORC_OUTPOST); } @@ -129,9 +128,9 @@ public class Q10424_KekropusLetterBelosWhereabouts extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -141,6 +140,7 @@ public class Q10424_KekropusLetterBelosWhereabouts extends LetterQuest showOnScreenMsg(player, NpcStringId.KETRA_ORC_OUTPOST_IS_A_GOOD_HUNTING_ZONE_FOR_LV_76_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10530_KekropusLetterTheDragonsTransition/Q10530_KekropusLetterTheDragonsTransition.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10530_KekropusLetterTheDragonsTransition/Q10530_KekropusLetterTheDragonsTransition.java index b7b494dba2..4d80087e23 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10530_KekropusLetterTheDragonsTransition/Q10530_KekropusLetterTheDragonsTransition.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10530_KekropusLetterTheDragonsTransition/Q10530_KekropusLetterTheDragonsTransition.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; @@ -53,11 +52,11 @@ public class Q10530_KekropusLetterTheDragonsTransition extends LetterQuest { super(10530); addTalkId(JERONIN, NAMO); + addCreatureSeeId(INVISIBLE_NPC); setIsErtheiaQuest(false); setLevel(MIN_LEVEL, MAX_LEVEL); setStartQuestSound("Npcdialog1.kekrops_quest_15"); setStartLocation(SOE_TOWN_OF_GIRAN, TELEPORT_LOC); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC); registerQuestItems(SOE_TOWN_OF_GIRAN, SOE_DRAGON_VALLEY); } @@ -133,9 +132,9 @@ public class Q10530_KekropusLetterTheDragonsTransition extends LetterQuest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance player = creature.getActingPlayer(); @@ -145,5 +144,6 @@ public class Q10530_KekropusLetterTheDragonsTransition extends LetterQuest showOnScreenMsg(player, NpcStringId.DEN_OF_EVIL_IS_A_GOOD_HUNTING_ZONE_FOR_LV_81_OR_ABOVE, ExShowScreenMessage.TOP_CENTER, 6000); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java index eec2975f12..f4673effa4 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java @@ -76,7 +76,7 @@ public class Q10537_KamaelDisarray extends Quest addKillId(LESSER_GIANT_SOLDIER); addSkillSeeId(ESSENCE_LASSER_GIANTS, ROOT_LASSER_GIANTS); registerQuestItems(MINIONS_REPOT); - // setCreatureSeeId(this::onCreatureSee, RETBACH, STHOR, VETLE); + // addCreatureSeeId(RETBACH, STHOR, VETLE); addFactionLevel(Faction.GIANT_TRACKERS, 2, "34237-00.htm"); addCondMinLevel(MIN_LEVEL, "34237-00.htm"); } @@ -258,7 +258,7 @@ public class Q10537_KamaelDisarray extends Quest return htmltext; } - // public void onCreatureSee(OnCreatureSee event) + // public String onCreatureSee(Npc npc, Creature creature) // { // final Npc npc = (Npc) event.getCreature(); // final Creature creature = event.getSeen(); diff --git a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java index 55ecc5ec16..406a6a0b26 100644 --- a/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java +++ b/L2J_Mobius_6.0_Fafurion/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java @@ -19,7 +19,6 @@ package quests.Q10829_InSearchOfTheCause; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -45,7 +44,7 @@ public class Q10829_InSearchOfTheCause extends Quest super(10829); addStartNpc(SERESIN); addTalkId(SERESIN, BELAS, FERIN, CYPHONIA); - setCreatureSeeId(this::onCreatureSee, BELAS); + addCreatureSeeId(BELAS); addCondMinLevel(MIN_LEVEL, "30657-00.htm"); } @@ -168,9 +167,9 @@ public class Q10829_InSearchOfTheCause extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final QuestState qs = getQuestState((PlayerInstance) creature, true); @@ -179,5 +178,6 @@ public class Q10829_InSearchOfTheCause extends Quest qs.setCond(2, true); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/quest/Quest.java b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/quest/Quest.java index 60f15e3e1b..6484555ecf 100644 --- a/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/quest/Quest.java +++ b/L2J_Mobius_6.0_Fafurion/java/org/l2jmobius/gameserver/model/quest/Quest.java @@ -818,6 +818,36 @@ public class Quest extends AbstractScript implements IIdentifiable showResult(player, res); } + /** + * @param npc the NPC that sees the creature + * @param creature the creature seen by the NPC + */ + public void notifyCreatureSee(Npc npc, Creature creature) + { + PlayerInstance player = null; + if (creature.isPlayer()) + { + player = creature.getActingPlayer(); + } + String res = null; + try + { + res = onCreatureSee(npc, creature); + } + catch (Exception e) + { + if (player != null) + { + showError(player, e); + } + return; + } + if (player != null) + { + showResult(player, res); + } + } + /** * @param eventName - name of event * @param sender - NPC, who sent event @@ -1282,6 +1312,17 @@ public class Quest extends AbstractScript implements IIdentifiable return null; } + /** + * This function is called whenever an NPC "sees" a creature. + * @param npc the NPC who sees the creature + * @param creature the creature seen by the NPC + * @return + */ + public String onCreatureSee(Npc npc, Creature creature) + { + return null; + } + /** * This function is called whenever a player enters the game. * @param player this parameter contains a reference to the exact instance of the player who is entering to the world. @@ -2059,6 +2100,22 @@ public class Quest extends AbstractScript implements IIdentifiable setAttackableAggroRangeEnterId(event -> notifyAggroRangeEnter(event.getNpc(), event.getActiveChar(), event.isSummon()), npcIds); } + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(int... npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(Collection npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + /** * Register onEnterZone trigger for zone * @param zoneId the ID of the zone to register diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java index 5da0f89b23..7c28509deb 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class MercenaryCaptain extends AbstractNpcAI private MercenaryCaptain() { - setCreatureSeeId(this::onCreatureSee, MERCENARY_CAPTAIN); + addCreatureSeeId(MERCENARY_CAPTAIN); } @Override @@ -50,14 +49,14 @@ public class MercenaryCaptain extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/DragonValley/Namo.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/DragonValley/Namo.java index ba5afc9fca..6eabcccae7 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/DragonValley/Namo.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/DragonValley/Namo.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class Namo extends AbstractNpcAI private Namo() { - setCreatureSeeId(this::onCreatureSee, NAMO); + addCreatureSeeId(NAMO); } @Override @@ -50,14 +49,14 @@ public class Namo extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java index 9e1a9eed0c..2be4ef7954 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class Rakun extends AbstractNpcAI private Rakun() { - setCreatureSeeId(this::onCreatureSee, RAKUN); + addCreatureSeeId(RAKUN); } @Override @@ -50,14 +49,14 @@ public class Rakun extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java index 8b976bfedb..409b886c34 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java @@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import ai.AbstractNpcAI; @@ -46,7 +45,7 @@ public class Wisp extends AbstractNpcAI private Wisp() { addSpawnId(WISP); - setCreatureSeeId(this::onCreatureSee, WISP, LARGE_WISP); + addCreatureSeeId(WISP, LARGE_WISP); } @Override @@ -70,26 +69,24 @@ public class Wisp extends AbstractNpcAI { final Spawn spawn = npc.getSpawn(); spawn.stopRespawn(); - if ((npc.getId() == WISP) && (getRandom(100) < 10)) { addSpawn(LARGE_WISP, npc); npc.deleteMe(); } - return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); if (creature.isPlayer() || creature.isFakePlayer()) { npc.setTarget(creature); npc.doCast(npc.getId() == WISP ? WISP_HEAL.getSkill() : LARGE_WISP_HEAL.getSkill()); getTimers().addTimer("DELETE_NPC", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java index 8ec553e1e8..2c1e3462d6 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import ai.AbstractNpcAI; @@ -80,7 +79,7 @@ public class Rooney extends AbstractNpcAI private Rooney() { - setCreatureSeeId(this::onCreatureSee, ROONEY); + addCreatureSeeId(ROONEY); addSpawn(ROONEY, getRandomEntry(LOCATIONS), false, 0); } @@ -125,19 +124,16 @@ public class Rooney extends AbstractNpcAI return null; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); - startQuestTimer("teleport", 60000, npc, null); - npc.setScriptValue(1); - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); + startQuestTimer("teleport", 60000, npc, null); + npc.setScriptValue(1); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java index aad5e6f05b..5becdce40e 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import ai.AbstractNpcAI; @@ -45,7 +44,7 @@ public class GardenWatchman extends AbstractNpcAI public GardenWatchman() { addSpawnId(GARDEN_WATCHMAN); - setCreatureSeeId(this::onCreatureSee, GENESIS_TRAP_1, GENESIS_TRAP_2); + addCreatureSeeId(GENESIS_TRAP_1, GENESIS_TRAP_2); } @Override @@ -90,14 +89,14 @@ public class GardenWatchman extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer()) { startQuestTimer("DEBUFF", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java index 3968ed6d26..68ea79dbbe 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.network.serverpackets.OnEventTrigger; @@ -57,7 +56,7 @@ public class EntrancePortalToCrystalCaverns extends AbstractNpcAI addTalkId(CAVERNS_ENTRACE); addFirstTalkId(CAVERNS_ENTRACE); addSpawnId(CAVERNS_ENTRACE); - setCreatureSeeId(this::onCreatureSee, CAVERNS_ENTRACE); + addCreatureSeeId(CAVERNS_ENTRACE); } @Override @@ -117,15 +116,16 @@ public class EntrancePortalToCrystalCaverns extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { creature.getActingPlayer().sendPacket(new OnEventTrigger(PRISON_ENTRACE_TRIGGER_1, true)); creature.getActingPlayer().sendPacket(new OnEventTrigger(PRISON_ENTRACE_TRIGGER_2, true)); updateTriggersForPlayer(creature.getActingPlayer(), getCurrentInstanceTemplateId()); } + return super.onCreatureSee(npc, creature); } public void updateTriggersForPlayer(PlayerInstance player, int currentTemplateId) diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java index a98bccb9c9..03ee3fca70 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -45,7 +44,7 @@ public class AltarOfSacrifice extends AbstractNpcAI private AltarOfSacrifice() { addSpawnId(IMMERIAL, JENNAS_GUARD, GIGGLE); - setCreatureSeeId(this::onCreatureSee, JENNAS_GUARD); + addCreatureSeeId(JENNAS_GUARD); } @Override @@ -72,15 +71,15 @@ public class AltarOfSacrifice extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if ((creature != null) && creature.isPlayer() && _jenas_guard.isScriptValue(0)) { startQuestTimer("msg_text", 3000, npc, null); _jenas_guard.setScriptValue(1); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java index d1f759948c..506f8fd7a2 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java @@ -32,7 +32,6 @@ 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.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import ai.AbstractNpcAI; @@ -80,7 +79,7 @@ public class Wastelands extends AbstractNpcAI { addKillId(REGENERATED_POSLOF, SAKUM); addSpawnId(COMMANDER, GUARD, DECO_GUARD, REGENERATED_KANILOV, REGENERATED_POSLOF, SAKUM); - setCreatureSeeId(this::onCreatureSee, JOEL, SCHUAZEN, COMMANDO, COMMANDO_CAPTAIN); + addCreatureSeeId(JOEL, SCHUAZEN, COMMANDO, COMMANDO_CAPTAIN); } @Override @@ -188,14 +187,14 @@ public class Wastelands extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ATTACK)) { startQuestTimer("START_ATTACK", 250, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Baium/Baium.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Baium/Baium.java index 1abf4b976f..305df34294 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Baium/Baium.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Baium/Baium.java @@ -34,7 +34,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -110,7 +109,7 @@ public class Baium extends AbstractNpcAI addAttackId(BAIUM, ARCHANGEL); addKillId(BAIUM); addSpellFinishedId(BAIUM); - setCreatureSeeId(this::onCreatureSee, BAIUM); + addCreatureSeeId(BAIUM); final StatSet info = GrandBossManager.getInstance().getStatSet(BAIUM); @@ -554,14 +553,12 @@ public class Baium extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); - if (!zone.isInsideZone(creature) || (creature.isNpc() && (creature.getId() == BAIUM_STONE))) { - return; + return super.onCreatureSee(npc, creature); } if (creature.isPlayer() && !creature.isDead() && (_standbyPlayer == null)) @@ -593,6 +590,8 @@ public class Baium extends AbstractNpcAI refreshAiParams(creature, npc, 10000, 1000); } manageSkills(npc); + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java index fa14563861..4937e76f83 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.BuffInfo; @@ -103,7 +102,7 @@ public class BalokWarzone extends AbstractInstance addSkillSeeId(BALOK); addKillId(BALOK, MINION); addSpellFinishedId(BALOK); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_1); + addCreatureSeeId(INVISIBLE_NPC_1); } @Override @@ -293,16 +292,16 @@ public class BalokWarzone extends AbstractInstance return super.onKill(npc, player, isPet); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); getTimers().addTimer("stage_1_start", 60000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java index 5b4e3fb6c8..bdfd45f12a 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.DoorInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -62,7 +61,7 @@ public class BaylorWarzone extends AbstractInstance addInstanceCreatedId(TEMPLATE_ID); addSpawnId(INVISIBLE_NPC_1); addSpellFinishedId(INVISIBLE_NPC_1); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_1); + addCreatureSeeId(INVISIBLE_NPC_1); setCreatureKillId(this::onBossKill, BAYLOR); } @@ -304,16 +303,16 @@ public class BaylorWarzone extends AbstractInstance } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); getTimers().addTimer("START_SCENE_01", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } /** diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java index 340dd5e151..10e422ce25 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -62,7 +61,7 @@ public class IceQueensCastle extends AbstractInstance addTalkId(JINIA); addSpawnId(FREYA); addSpellFinishedId(FREYA); - setCreatureSeeId(this::onCreatureSee, BATTALION_LEADER, LEGIONNAIRE, MERCENARY_ARCHER); + addCreatureSeeId(BATTALION_LEADER, LEGIONNAIRE, MERCENARY_ARCHER); } @Override @@ -140,10 +139,9 @@ public class IceQueensCastle extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); @@ -159,6 +157,7 @@ public class IceQueensCastle extends AbstractInstance }); startQuestTimer("ATTACK_KNIGHT", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java index 1692f91226..58f65e79c2 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.NpcStringId; @@ -78,7 +77,7 @@ public class KimerianCommon extends AbstractInstance addSpawnId(FAIRY_REBEL, NEOMI_KASHERON); addAttackId(KIMERIAN); addKillId(KIMERIAN_GHOST, KIMERIAN); - setCreatureSeeId(this::onCreatureSee, FAIRY_REBEL, NEOMI_KASHERON, INVISIBLE_NPC, KIMERIAN); + addCreatureSeeId(FAIRY_REBEL, NEOMI_KASHERON, INVISIBLE_NPC, KIMERIAN); setCreatureKillId(this::onCreatureKill, FAIRY_REBEL, NEOMI_KASHERON); } @@ -334,14 +333,12 @@ public class KimerianCommon extends AbstractInstance return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final StatSet npcParams = npc.getParameters(); final StatSet npcVars = npc.getVariables(); final Instance instance = npc.getInstanceWorld(); - if (isInInstance(instance)) { switch (npc.getId()) @@ -412,6 +409,7 @@ public class KimerianCommon extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } private void spawnHollow(Npc npc, PlayerInstance player, boolean isHollow) diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java index caab21e1d3..f0200d1563 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java @@ -46,7 +46,6 @@ 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.OnCreatureDamageReceived; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -208,7 +207,7 @@ public class Lindvior extends AbstractNpcAI addSkillSeeId(NPC_GENERATOR); addFirstTalkId(NPC_GENERATOR); addSpawnId(NPC_ATTACKER_GENERATORS, NPC_ATTACKER_GENERATORS_1, LYN_DRACO_ATTACKER_GENERATORS, GENERATOR_GUARD, NPC_GENERATOR); - setCreatureSeeId(this::onCreatureSee, INVISIBLE); + addCreatureSeeId(INVISIBLE); _zoneLair = ZoneManager.getInstance().getZoneById(ZONE_ID, NoSummonFriendZone.class); // Unlock final StatSet info = GrandBossManager.getInstance().getStatSet(LINDVIOR_RAID); @@ -509,12 +508,13 @@ public class Lindvior extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); setLindviorSpawnTask(); npc.getSpawn().stopRespawn(); npc.deleteMe(); + return super.onCreatureSee(npc, creature); } private void nextStage(int taskId) diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java index 4b49959ccb..610906bb55 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java @@ -22,9 +22,9 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.World; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.serverpackets.FlyToLocation; import org.l2jmobius.gameserver.network.serverpackets.ValidateLocation; @@ -44,7 +44,7 @@ public class Vortex extends AbstractNpcAI { super(); addSpawnId(SMALL_VORTEX, BIG_VORTEX); - setCreatureSeeId(this::onCreatureSee, SMALL_VORTEX, BIG_VORTEX); + addCreatureSeeId(SMALL_VORTEX, BIG_VORTEX); } @Override @@ -112,9 +112,9 @@ public class Vortex extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); switch (npc.getId()) { case SMALL_VORTEX: @@ -128,6 +128,7 @@ public class Vortex extends AbstractNpcAI break; } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java index 0f7f84f52e..d0cf7094cf 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -118,7 +117,7 @@ public class OctavisWarzone extends AbstractInstance addMoveFinishedId(GLADIATORS); addSpellFinishedId(OCTAVIS_STAGE_2); addEnterZoneId(TELEPORT_ZONE.getId()); - setCreatureSeeId(this::onCreatureSee, DOOR_MANAGER); + addCreatureSeeId(DOOR_MANAGER); addInstanceCreatedId(TEMPLATE_ID, EXTREME_TEMPLATE_ID); } @@ -562,10 +561,9 @@ public class OctavisWarzone extends AbstractInstance return super.onSpellFinished(npc, player, skill); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { @@ -574,6 +572,7 @@ public class OctavisWarzone extends AbstractInstance getTimers().addTimer("SECOND_DOOR_OPEN", 3000, npc, null); getTimers().addTimer("CLOSE_DOORS", 60000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java index c7b5762bdb..3f6a2cdb0c 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java @@ -37,7 +37,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.DoorInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestTimer; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -137,7 +136,7 @@ public class Ramona extends AbstractNpcAI addKillId(MP_CONTROL, RAMONA_1, RAMONA_2, RAMONA_3); addAttackId(MP_CONTROL, RAMONA_1, RAMONA_2, RAMONA_3); addSpawnId(RAMONA_1, RAMONA_2, RAMONA_3); - setCreatureSeeId(this::onCreatureSee, MP_CONTROL); + addCreatureSeeId(MP_CONTROL); final long temp = GlobalVariablesManager.getInstance().getLong(RAMONA_RESPAWN_VAR, 0) - Chronos.currentTimeMillis(); if (temp > 0) @@ -551,16 +550,15 @@ public class Ramona extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); npc.setInvul(true); - - final Creature creature = event.getSeen(); if (creature.isPlayer()) { startQuestTimer("SPAWN_MS", 10000, npc, null, true); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java index 32ff487818..f876b87a40 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -101,7 +100,7 @@ public class TeredorWarzone extends AbstractInstance addEventReceivedId(EGG_2); addAttackId(TEREDOR); addKillId(EGG_2, TEREDOR); - setCreatureSeeId(this::onCreatureSee, BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR); + addCreatureSeeId(BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR); } @Override @@ -272,10 +271,9 @@ public class TeredorWarzone extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance)) { @@ -361,6 +359,7 @@ public class TeredorWarzone extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java index 5915de7581..b5ea301ac1 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java @@ -37,7 +37,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.BuffInfo; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -318,7 +317,7 @@ public class Trasken extends AbstractNpcAI addExitZoneId(ZONE_ID); addEnterZoneId(ZONE_ID_HEART); addExitZoneId(ZONE_ID_HEART); - setCreatureSeeId(this::onCreatureSee, LAVRA_1, LAVRA_2, LAVRA_3, TRADJAN, TIE, BIG_TIE); + addCreatureSeeId(LAVRA_1, LAVRA_2, LAVRA_3, TRADJAN, TIE, BIG_TIE); init(); if (DoorData.getInstance().getDoor(DOOR) != null) { @@ -539,12 +538,12 @@ public class Trasken extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); if (npc.isDead()) { - return; + return super.onCreatureSee(npc, creature); } if ((npc.getId() == LAVRA_1) || (npc.getId() == LAVRA_2) || (npc.getId() == LAVRA_3) || (npc.getId() == TRADJAN)) @@ -553,7 +552,6 @@ public class Trasken extends AbstractNpcAI } else if ((npc.getId() == TIE) || (npc.getId() == BIG_TIE)) { - final Creature creature = event.getSeen(); if (getRandom(100) < 60) { npc.setTarget(creature); @@ -567,6 +565,8 @@ public class Trasken extends AbstractNpcAI addAttackPlayerDesire(npc, (Playable) creature); } } + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java index 63d7403ff7..3792822735 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MerchantInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.clan.ClanPrivilege; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.residences.ClanHall; import org.l2jmobius.gameserver.model.residences.ResidenceFunction; @@ -102,7 +101,7 @@ public class ClanHallManager extends AbstractNpcAI addStartNpc(CLANHALL_MANAGERS); addTalkId(CLANHALL_MANAGERS); addFirstTalkId(CLANHALL_MANAGERS); - setCreatureSeeId(this::onCreatureSee, CLANHALL_MANAGERS); + addCreatureSeeId(CLANHALL_MANAGERS); } @Override @@ -484,18 +483,18 @@ public class ClanHallManager extends AbstractNpcAI return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final ClanHall clanHall = npc.getClanHall(); if (clanHall != null) { creature.getActingPlayer().sendPacket(new AgitDecoInfo(clanHall)); } } + return super.onCreatureSee(npc, creature); } private void updateVisualEffects(ClanHall clanHall, Npc npc) diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/others/Gordon.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/others/Gordon.java index a2d9276bf5..6d7312128b 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/others/Gordon.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/ai/others/Gordon.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import ai.AbstractNpcAI; @@ -35,17 +34,17 @@ public class Gordon extends AbstractNpcAI private Gordon() { addSpawnId(GORDON); - setCreatureSeeId(this::onCreatureSee, GORDON); + addCreatureSeeId(GORDON); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer() && ((PlayerInstance) creature).isCursedWeaponEquipped()) { - final Npc npc = (Npc) event.getCreature(); addAttackPlayerDesire(npc, (PlayerInstance) creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java index 7a078de314..07a7200e91 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; @@ -67,7 +66,7 @@ public class ChamberOfProphecies extends AbstractInstance addStartNpc(KAIN_VAN_HALTER); addFirstTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD); addTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD); - setCreatureSeeId(this::onCreatureSee, FERIN, VAN_HALTER); + addCreatureSeeId(FERIN, VAN_HALTER); } @Override @@ -501,13 +500,12 @@ public class ChamberOfProphecies extends AbstractInstance return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (world != null) { - final Creature creature = event.getSeen(); switch (npc.getId()) { case FERIN: @@ -528,6 +526,7 @@ public class ChamberOfProphecies extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java index ac9290a099..2451279b0c 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -76,7 +75,7 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance addSpellFinishedId(WATER_CANNON_SKILL); addInstanceEnterId(TEMPLATE_ID); addInstanceLeaveId(TEMPLATE_ID); - setCreatureSeeId(this::onCreatureSee, WATER_CANNON); + addCreatureSeeId(WATER_CANNON); } @Override @@ -380,10 +379,9 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if ((world != null) && creature.isPlayer() && npc.isScriptValue(0)) { @@ -391,6 +389,7 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance npc.setDisplayEffect(1); getTimers().addRepeatingTimer("CANNON_LOOP_ATTACK", 1000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java index 1cd4834736..6882879232 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -79,7 +78,7 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance addInstanceCreatedId(TEMPLATE_ID); addInstanceEnterId(TEMPLATE_ID); addInstanceLeaveId(TEMPLATE_ID); - setCreatureSeeId(this::onCreatureSee, PLAYER_DETECTOR); + addCreatureSeeId(PLAYER_DETECTOR); } @Override @@ -361,10 +360,9 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance return super.onKill(npc, killer, isSummon); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance) && creature.isPlayer()) { @@ -381,6 +379,7 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance npc.deleteMe(); } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java index 54fcf8ce18..7e090d3b9c 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java @@ -31,7 +31,6 @@ import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -91,9 +90,9 @@ public class KartiaHelperAdolph extends AbstractNpcAI private KartiaHelperAdolph() { addSpellFinishedId(KARTIA_ADOLPH); + addCreatureSeeId(KARTIA_ADOLPH); setCreatureKillId(this::onCreatureKill, KARTIA_ADOLPH); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_ADOLPH); - setCreatureSeeId(this::onCreatureSee, KARTIA_ADOLPH); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -288,14 +287,14 @@ public class KartiaHelperAdolph extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java index 3dd08a63e5..eb1f914e0c 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -86,9 +85,9 @@ public class KartiaHelperBarton extends AbstractNpcAI private KartiaHelperBarton() { + addCreatureSeeId(KARTIA_BARTON); setCreatureKillId(this::onCreatureKill, KARTIA_BARTON); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_BARTON); - setCreatureSeeId(this::onCreatureSee, KARTIA_BARTON); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -149,17 +148,18 @@ public class KartiaHelperBarton extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java index 6212649204..000919660b 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java @@ -33,7 +33,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -110,8 +109,8 @@ public class KartiaHelperElise extends AbstractNpcAI private KartiaHelperElise() { + addCreatureSeeId(KARTIA_ELISE); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); - setCreatureSeeId(this::onCreatureSee, KARTIA_ELISE); setCreatureKillId(this::onCreatureKill, KARTIA_ELISE); } @@ -243,12 +242,11 @@ public class KartiaHelperElise extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer() || (creature instanceof FriendlyNpcInstance)) { - final Npc npc = (Npc) event.getCreature(); final StatSet npcVars = npc.getVariables(); if (creature.isPlayer()) { @@ -271,6 +269,7 @@ public class KartiaHelperElise extends AbstractNpcAI npcVars.set("HAYUK_OBJECT", creature); } } + return super.onCreatureSee(npc, creature); } public void onCreatureKill(OnCreatureDeath event) diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java index 3b59fd7514..404b7722b2 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -81,9 +80,9 @@ public class KartiaHelperEliyah extends AbstractNpcAI private KartiaHelperEliyah() { + addCreatureSeeId(KARTIA_ELIYAH); setCreatureKillId(this::onCreatureKill, KARTIA_ELIYAH); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_ELIYAH); - setCreatureSeeId(this::onCreatureSee, KARTIA_ELIYAH); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -137,17 +136,18 @@ public class KartiaHelperEliyah extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void onCreatureAttacked(OnCreatureAttacked event) diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java index 865762b4d4..230656b816 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java @@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -90,9 +89,9 @@ public class KartiaHelperGuardian extends AbstractNpcAI private KartiaHelperGuardian() { + addCreatureSeeId(KARTIA_GUARDIANS); setCreatureKillId(this::onCreatureKill, KARTIA_GUARDIANS); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_GUARDIANS); - setCreatureSeeId(this::onCreatureSee, KARTIA_GUARDIANS); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -155,21 +154,22 @@ public class KartiaHelperGuardian extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } else if (CommonUtil.contains(KARTIA_ELIYAH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ELIYAH_OBJECT", creature); + npc.getVariables().set("ELIYAH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java index 33b6a58a54..e6d6a415b1 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -87,9 +86,9 @@ public class KartiaHelperHayuk extends AbstractNpcAI private KartiaHelperHayuk() { + addCreatureSeeId(KARTIA_HAYUK); setCreatureKillId(this::onCreatureKill, KARTIA_HAYUK); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_HAYUK); - setCreatureSeeId(this::onCreatureSee, KARTIA_HAYUK); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -150,17 +149,18 @@ public class KartiaHelperHayuk extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java index 33ba6a3bbb..0cf9e476d3 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java @@ -31,7 +31,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -186,13 +185,13 @@ public class KartiasLabyrinth extends AbstractInstance addMoveFinishedId(MINI_BOSSES); addMoveFinishedId(PRISONERS); addRouteFinishedId(MONSTERS); - setCreatureKillId(this::onCreatureKill, MONSTERS); - setCreatureKillId(this::onBossKill, BOSSES); - setCreatureSeeId(this::onCreatureSee, MONSTERS); + addCreatureSeeId(MONSTERS); addEnterZoneId(KARTIA_85_DETECT_1, KARTIA_85_DETECT_2); addEnterZoneId(KARTIA_90_DETECT_1, KARTIA_90_DETECT_2); addEnterZoneId(KARTIA_95_DETECT_1, KARTIA_95_DETECT_2); addInstanceCreatedId(TEMPLATE_ID_SOLO_85, TEMPLATE_ID_SOLO_90, TEMPLATE_ID_SOLO_95, TEMPLATE_ID_GROUP_85, TEMPLATE_ID_GROUP_90, TEMPLATE_ID_GROUP_95); + setCreatureKillId(this::onCreatureKill, MONSTERS); + setCreatureKillId(this::onBossKill, BOSSES); } @Override @@ -873,10 +872,9 @@ public class KartiasLabyrinth extends AbstractInstance } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if ((world != null) && (creature.isPlayer() || creature.getInstanceType().isType(InstanceType.FriendlyNpcInstance)) && npc.isScriptValue(1)) { @@ -892,6 +890,7 @@ public class KartiasLabyrinth extends AbstractInstance addAttackDesire(npc, creature); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java index 9cb99c665f..855babef3b 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -90,7 +89,7 @@ public class NornilsGarden extends AbstractInstance addKillId(ATTACABLE_MONSTERS); addKillId(SPICULA_ZERO); addKillId(BOZ_STAGE1, BOZ_STAGE2, BOZ_STAGE3, BOZ_STAGE4); - setCreatureSeeId(this::onCreatureSee, BOZ_STAGE1); + addCreatureSeeId(BOZ_STAGE1); } @Override @@ -283,12 +282,11 @@ public class NornilsGarden extends AbstractInstance return "33781.html"; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayable()) { - final Npc npc = (Npc) event.getCreature(); if (npc.isScriptValue(0)) { startQuestTimer("stage1", 3000, npc, null); @@ -296,6 +294,7 @@ public class NornilsGarden extends AbstractInstance npc.setScriptValue(1); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java index 9dc9a6c1d1..11dedd4b74 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -116,7 +115,7 @@ public class PrisonOfDarkness extends AbstractInstance addTalkId(SPEZION_HEADSTONE, WARP_POINT, TIME_BOMB_1, STARLIGHT_LATTICE, JOSEPHINA); addSpawnId(WARP_POINT, ESCORT_WARRIOR); addSpellFinishedId(MONSTERS); - setCreatureSeeId(this::onCreatureSee, EXIT_PORTAL); + addCreatureSeeId(EXIT_PORTAL); addKillId(SPEZIONS_PAWN); addFirstTalkId(JOSEPHINA); } @@ -343,10 +342,9 @@ public class PrisonOfDarkness extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance)) { @@ -373,6 +371,7 @@ public class PrisonOfDarkness extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java index 0f9ff6f98c..5ae6b98102 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java @@ -31,7 +31,6 @@ 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.OnCreatureSee; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -59,7 +58,7 @@ public class Q00454_CompletelyLost extends Quest addStartNpc(INJURED_SOLDIER); addTalkId(INJURED_SOLDIER, ERMIAN); addMoveFinishedId(INJURED_SOLDIER); - setCreatureSeeId(this::onCreatureSee, INJURED_SOLDIER); + addCreatureSeeId(INJURED_SOLDIER); addEventReceivedId(INJURED_SOLDIER); } @@ -398,17 +397,14 @@ public class Q00454_CompletelyLost extends Quest } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - addAttackPlayerDesire(npc, creature.getActingPlayer(), 10); - } + addAttackPlayerDesire(npc, creature.getActingPlayer(), 10); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java index 53c4e8a863..cba0f398c1 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java @@ -24,9 +24,9 @@ import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.enums.QuestSound; import org.l2jmobius.gameserver.enums.QuestType; import org.l2jmobius.gameserver.model.Party; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.NpcLogListHolder; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -60,8 +60,8 @@ public class Q00833_DevilsTreasureTauti extends Quest addStartNpc(DETON); addTalkId(SETTLEN); addKillId(FLAME_SCORPION, FLAME_GOLEM, FLAME_SCARAB, SEAL_TOMBSTONE); + addCreatureSeeId(DETON); registerQuestItems(FLAME_FLOWER); - setCreatureSeeId(this::onCreatureSee, DETON); } @Override @@ -115,9 +115,10 @@ public class Q00833_DevilsTreasureTauti extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final PlayerInstance player = event.getSeen().getActingPlayer(); + final PlayerInstance player = creature.getActingPlayer(); if (player != null) { final QuestState qs = getQuestState(player, true); @@ -127,6 +128,7 @@ public class Q00833_DevilsTreasureTauti extends Quest qs.startQuest(); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java index bebeea1946..8ae58bb610 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java @@ -19,9 +19,9 @@ package quests.Q00835_PitiableMelisa; import org.l2jmobius.Config; import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.enums.QuestType; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -56,8 +56,8 @@ public class Q00835_PitiableMelisa extends Quest addStartNpc(KANNA); addTalkId(SETTLEN); addKillId(MONSTERS); + addCreatureSeeId(KANNA); registerQuestItems(ICE_CRYSTAL_SHARD); - setCreatureSeeId(this::onCreatureSee, KANNA); } @Override @@ -119,9 +119,10 @@ public class Q00835_PitiableMelisa extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final PlayerInstance player = event.getSeen().getActingPlayer(); + final PlayerInstance player = creature.getActingPlayer(); if (player != null) { final QuestState qs = getQuestState(player, true); @@ -131,6 +132,7 @@ public class Q00835_PitiableMelisa extends Quest qs.startQuest(); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java index eec2975f12..f4673effa4 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10537_KamaelDisarray/Q10537_KamaelDisarray.java @@ -76,7 +76,7 @@ public class Q10537_KamaelDisarray extends Quest addKillId(LESSER_GIANT_SOLDIER); addSkillSeeId(ESSENCE_LASSER_GIANTS, ROOT_LASSER_GIANTS); registerQuestItems(MINIONS_REPOT); - // setCreatureSeeId(this::onCreatureSee, RETBACH, STHOR, VETLE); + // addCreatureSeeId(RETBACH, STHOR, VETLE); addFactionLevel(Faction.GIANT_TRACKERS, 2, "34237-00.htm"); addCondMinLevel(MIN_LEVEL, "34237-00.htm"); } @@ -258,7 +258,7 @@ public class Q10537_KamaelDisarray extends Quest return htmltext; } - // public void onCreatureSee(OnCreatureSee event) + // public String onCreatureSee(Npc npc, Creature creature) // { // final Npc npc = (Npc) event.getCreature(); // final Creature creature = event.getSeen(); diff --git a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java index 55ecc5ec16..406a6a0b26 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java +++ b/L2J_Mobius_7.0_PreludeOfWar/dist/game/data/scripts/quests/Q10829_InSearchOfTheCause/Q10829_InSearchOfTheCause.java @@ -19,7 +19,6 @@ package quests.Q10829_InSearchOfTheCause; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -45,7 +44,7 @@ public class Q10829_InSearchOfTheCause extends Quest super(10829); addStartNpc(SERESIN); addTalkId(SERESIN, BELAS, FERIN, CYPHONIA); - setCreatureSeeId(this::onCreatureSee, BELAS); + addCreatureSeeId(BELAS); addCondMinLevel(MIN_LEVEL, "30657-00.htm"); } @@ -168,9 +167,9 @@ public class Q10829_InSearchOfTheCause extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final QuestState qs = getQuestState((PlayerInstance) creature, true); @@ -179,5 +178,6 @@ public class Q10829_InSearchOfTheCause extends Quest qs.setCond(2, true); } } + return super.onCreatureSee(npc, creature); } } \ No newline at end of file diff --git a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/quest/Quest.java b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/quest/Quest.java index e3092a5a5f..00e8c37968 100644 --- a/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/quest/Quest.java +++ b/L2J_Mobius_7.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/quest/Quest.java @@ -828,6 +828,36 @@ public class Quest extends AbstractScript implements IIdentifiable showResult(player, res); } + /** + * @param npc the NPC that sees the creature + * @param creature the creature seen by the NPC + */ + public void notifyCreatureSee(Npc npc, Creature creature) + { + PlayerInstance player = null; + if (creature.isPlayer()) + { + player = creature.getActingPlayer(); + } + String res = null; + try + { + res = onCreatureSee(npc, creature); + } + catch (Exception e) + { + if (player != null) + { + showError(player, e); + } + return; + } + if (player != null) + { + showResult(player, res); + } + } + /** * @param eventName - name of event * @param sender - NPC, who sent event @@ -1292,6 +1322,17 @@ public class Quest extends AbstractScript implements IIdentifiable return null; } + /** + * This function is called whenever an NPC "sees" a creature. + * @param npc the NPC who sees the creature + * @param creature the creature seen by the NPC + * @return + */ + public String onCreatureSee(Npc npc, Creature creature) + { + return null; + } + /** * This function is called whenever a player enters the game. * @param player this parameter contains a reference to the exact instance of the player who is entering to the world. @@ -2069,6 +2110,22 @@ public class Quest extends AbstractScript implements IIdentifiable setAttackableAggroRangeEnterId(event -> notifyAggroRangeEnter(event.getNpc(), event.getActiveChar(), event.isSummon()), npcIds); } + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(int... npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(Collection npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + /** * Register onEnterZone trigger for zone * @param zoneId the ID of the zone to register diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java index 5da0f89b23..7c28509deb 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class MercenaryCaptain extends AbstractNpcAI private MercenaryCaptain() { - setCreatureSeeId(this::onCreatureSee, MERCENARY_CAPTAIN); + addCreatureSeeId(MERCENARY_CAPTAIN); } @Override @@ -50,14 +49,14 @@ public class MercenaryCaptain extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/DragonValley/Namo.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/DragonValley/Namo.java index ba5afc9fca..6eabcccae7 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/DragonValley/Namo.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/DragonValley/Namo.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class Namo extends AbstractNpcAI private Namo() { - setCreatureSeeId(this::onCreatureSee, NAMO); + addCreatureSeeId(NAMO); } @Override @@ -50,14 +49,14 @@ public class Namo extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java index 9e1a9eed0c..2be4ef7954 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class Rakun extends AbstractNpcAI private Rakun() { - setCreatureSeeId(this::onCreatureSee, RAKUN); + addCreatureSeeId(RAKUN); } @Override @@ -50,14 +49,14 @@ public class Rakun extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java index 8b976bfedb..409b886c34 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java @@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import ai.AbstractNpcAI; @@ -46,7 +45,7 @@ public class Wisp extends AbstractNpcAI private Wisp() { addSpawnId(WISP); - setCreatureSeeId(this::onCreatureSee, WISP, LARGE_WISP); + addCreatureSeeId(WISP, LARGE_WISP); } @Override @@ -70,26 +69,24 @@ public class Wisp extends AbstractNpcAI { final Spawn spawn = npc.getSpawn(); spawn.stopRespawn(); - if ((npc.getId() == WISP) && (getRandom(100) < 10)) { addSpawn(LARGE_WISP, npc); npc.deleteMe(); } - return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); if (creature.isPlayer() || creature.isFakePlayer()) { npc.setTarget(creature); npc.doCast(npc.getId() == WISP ? WISP_HEAL.getSkill() : LARGE_WISP_HEAL.getSkill()); getTimers().addTimer("DELETE_NPC", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java index 8ec553e1e8..2c1e3462d6 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import ai.AbstractNpcAI; @@ -80,7 +79,7 @@ public class Rooney extends AbstractNpcAI private Rooney() { - setCreatureSeeId(this::onCreatureSee, ROONEY); + addCreatureSeeId(ROONEY); addSpawn(ROONEY, getRandomEntry(LOCATIONS), false, 0); } @@ -125,19 +124,16 @@ public class Rooney extends AbstractNpcAI return null; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); - startQuestTimer("teleport", 60000, npc, null); - npc.setScriptValue(1); - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); + startQuestTimer("teleport", 60000, npc, null); + npc.setScriptValue(1); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java index aad5e6f05b..5becdce40e 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import ai.AbstractNpcAI; @@ -45,7 +44,7 @@ public class GardenWatchman extends AbstractNpcAI public GardenWatchman() { addSpawnId(GARDEN_WATCHMAN); - setCreatureSeeId(this::onCreatureSee, GENESIS_TRAP_1, GENESIS_TRAP_2); + addCreatureSeeId(GENESIS_TRAP_1, GENESIS_TRAP_2); } @Override @@ -90,14 +89,14 @@ public class GardenWatchman extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer()) { startQuestTimer("DEBUFF", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java index 3968ed6d26..68ea79dbbe 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.network.serverpackets.OnEventTrigger; @@ -57,7 +56,7 @@ public class EntrancePortalToCrystalCaverns extends AbstractNpcAI addTalkId(CAVERNS_ENTRACE); addFirstTalkId(CAVERNS_ENTRACE); addSpawnId(CAVERNS_ENTRACE); - setCreatureSeeId(this::onCreatureSee, CAVERNS_ENTRACE); + addCreatureSeeId(CAVERNS_ENTRACE); } @Override @@ -117,15 +116,16 @@ public class EntrancePortalToCrystalCaverns extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { creature.getActingPlayer().sendPacket(new OnEventTrigger(PRISON_ENTRACE_TRIGGER_1, true)); creature.getActingPlayer().sendPacket(new OnEventTrigger(PRISON_ENTRACE_TRIGGER_2, true)); updateTriggersForPlayer(creature.getActingPlayer(), getCurrentInstanceTemplateId()); } + return super.onCreatureSee(npc, creature); } public void updateTriggersForPlayer(PlayerInstance player, int currentTemplateId) diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java index a98bccb9c9..03ee3fca70 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -45,7 +44,7 @@ public class AltarOfSacrifice extends AbstractNpcAI private AltarOfSacrifice() { addSpawnId(IMMERIAL, JENNAS_GUARD, GIGGLE); - setCreatureSeeId(this::onCreatureSee, JENNAS_GUARD); + addCreatureSeeId(JENNAS_GUARD); } @Override @@ -72,15 +71,15 @@ public class AltarOfSacrifice extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if ((creature != null) && creature.isPlayer() && _jenas_guard.isScriptValue(0)) { startQuestTimer("msg_text", 3000, npc, null); _jenas_guard.setScriptValue(1); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java index d1f759948c..506f8fd7a2 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java @@ -32,7 +32,6 @@ 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.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import ai.AbstractNpcAI; @@ -80,7 +79,7 @@ public class Wastelands extends AbstractNpcAI { addKillId(REGENERATED_POSLOF, SAKUM); addSpawnId(COMMANDER, GUARD, DECO_GUARD, REGENERATED_KANILOV, REGENERATED_POSLOF, SAKUM); - setCreatureSeeId(this::onCreatureSee, JOEL, SCHUAZEN, COMMANDO, COMMANDO_CAPTAIN); + addCreatureSeeId(JOEL, SCHUAZEN, COMMANDO, COMMANDO_CAPTAIN); } @Override @@ -188,14 +187,14 @@ public class Wastelands extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ATTACK)) { startQuestTimer("START_ATTACK", 250, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Baium/Baium.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Baium/Baium.java index 1abf4b976f..305df34294 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Baium/Baium.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Baium/Baium.java @@ -34,7 +34,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -110,7 +109,7 @@ public class Baium extends AbstractNpcAI addAttackId(BAIUM, ARCHANGEL); addKillId(BAIUM); addSpellFinishedId(BAIUM); - setCreatureSeeId(this::onCreatureSee, BAIUM); + addCreatureSeeId(BAIUM); final StatSet info = GrandBossManager.getInstance().getStatSet(BAIUM); @@ -554,14 +553,12 @@ public class Baium extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); - if (!zone.isInsideZone(creature) || (creature.isNpc() && (creature.getId() == BAIUM_STONE))) { - return; + return super.onCreatureSee(npc, creature); } if (creature.isPlayer() && !creature.isDead() && (_standbyPlayer == null)) @@ -593,6 +590,8 @@ public class Baium extends AbstractNpcAI refreshAiParams(creature, npc, 10000, 1000); } manageSkills(npc); + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java index fa14563861..4937e76f83 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.BuffInfo; @@ -103,7 +102,7 @@ public class BalokWarzone extends AbstractInstance addSkillSeeId(BALOK); addKillId(BALOK, MINION); addSpellFinishedId(BALOK); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_1); + addCreatureSeeId(INVISIBLE_NPC_1); } @Override @@ -293,16 +292,16 @@ public class BalokWarzone extends AbstractInstance return super.onKill(npc, player, isPet); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); getTimers().addTimer("stage_1_start", 60000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java index 2176ec7064..0f469e8575 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.DoorInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -64,7 +63,7 @@ public class BaylorWarzone extends AbstractInstance addTalkId(BENUSTA); addInstanceCreatedId(TEMPLATE_ID); addSpellFinishedId(INVISIBLE_NPC_1); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_1); + addCreatureSeeId(INVISIBLE_NPC_1); setCreatureKillId(this::onBossKill, BAYLOR); } @@ -310,16 +309,16 @@ public class BaylorWarzone extends AbstractInstance } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); getTimers().addTimer("START_SCENE_01", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } /** diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java index ba64784ee3..9ee1188c0e 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -60,7 +59,7 @@ public class IceQueensCastle extends AbstractInstance addTalkId(JINIA); addSpawnId(FREYA); addSpellFinishedId(FREYA); - setCreatureSeeId(this::onCreatureSee, BATTALION_LEADER, LEGIONNAIRE, MERCENARY_ARCHER); + addCreatureSeeId(BATTALION_LEADER, LEGIONNAIRE, MERCENARY_ARCHER); } @Override @@ -132,10 +131,9 @@ public class IceQueensCastle extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); @@ -151,6 +149,7 @@ public class IceQueensCastle extends AbstractInstance }); startQuestTimer("ATTACK_KNIGHT", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java index 1692f91226..58f65e79c2 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.NpcStringId; @@ -78,7 +77,7 @@ public class KimerianCommon extends AbstractInstance addSpawnId(FAIRY_REBEL, NEOMI_KASHERON); addAttackId(KIMERIAN); addKillId(KIMERIAN_GHOST, KIMERIAN); - setCreatureSeeId(this::onCreatureSee, FAIRY_REBEL, NEOMI_KASHERON, INVISIBLE_NPC, KIMERIAN); + addCreatureSeeId(FAIRY_REBEL, NEOMI_KASHERON, INVISIBLE_NPC, KIMERIAN); setCreatureKillId(this::onCreatureKill, FAIRY_REBEL, NEOMI_KASHERON); } @@ -334,14 +333,12 @@ public class KimerianCommon extends AbstractInstance return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final StatSet npcParams = npc.getParameters(); final StatSet npcVars = npc.getVariables(); final Instance instance = npc.getInstanceWorld(); - if (isInInstance(instance)) { switch (npc.getId()) @@ -412,6 +409,7 @@ public class KimerianCommon extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } private void spawnHollow(Npc npc, PlayerInstance player, boolean isHollow) diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java index caab21e1d3..f0200d1563 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java @@ -46,7 +46,6 @@ 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.OnCreatureDamageReceived; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -208,7 +207,7 @@ public class Lindvior extends AbstractNpcAI addSkillSeeId(NPC_GENERATOR); addFirstTalkId(NPC_GENERATOR); addSpawnId(NPC_ATTACKER_GENERATORS, NPC_ATTACKER_GENERATORS_1, LYN_DRACO_ATTACKER_GENERATORS, GENERATOR_GUARD, NPC_GENERATOR); - setCreatureSeeId(this::onCreatureSee, INVISIBLE); + addCreatureSeeId(INVISIBLE); _zoneLair = ZoneManager.getInstance().getZoneById(ZONE_ID, NoSummonFriendZone.class); // Unlock final StatSet info = GrandBossManager.getInstance().getStatSet(LINDVIOR_RAID); @@ -509,12 +508,13 @@ public class Lindvior extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); setLindviorSpawnTask(); npc.getSpawn().stopRespawn(); npc.deleteMe(); + return super.onCreatureSee(npc, creature); } private void nextStage(int taskId) diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java index 4b49959ccb..610906bb55 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java @@ -22,9 +22,9 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.World; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.serverpackets.FlyToLocation; import org.l2jmobius.gameserver.network.serverpackets.ValidateLocation; @@ -44,7 +44,7 @@ public class Vortex extends AbstractNpcAI { super(); addSpawnId(SMALL_VORTEX, BIG_VORTEX); - setCreatureSeeId(this::onCreatureSee, SMALL_VORTEX, BIG_VORTEX); + addCreatureSeeId(SMALL_VORTEX, BIG_VORTEX); } @Override @@ -112,9 +112,9 @@ public class Vortex extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); switch (npc.getId()) { case SMALL_VORTEX: @@ -128,6 +128,7 @@ public class Vortex extends AbstractNpcAI break; } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java index 0f7f84f52e..d0cf7094cf 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -118,7 +117,7 @@ public class OctavisWarzone extends AbstractInstance addMoveFinishedId(GLADIATORS); addSpellFinishedId(OCTAVIS_STAGE_2); addEnterZoneId(TELEPORT_ZONE.getId()); - setCreatureSeeId(this::onCreatureSee, DOOR_MANAGER); + addCreatureSeeId(DOOR_MANAGER); addInstanceCreatedId(TEMPLATE_ID, EXTREME_TEMPLATE_ID); } @@ -562,10 +561,9 @@ public class OctavisWarzone extends AbstractInstance return super.onSpellFinished(npc, player, skill); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { @@ -574,6 +572,7 @@ public class OctavisWarzone extends AbstractInstance getTimers().addTimer("SECOND_DOOR_OPEN", 3000, npc, null); getTimers().addTimer("CLOSE_DOORS", 60000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java index c7b5762bdb..3f6a2cdb0c 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java @@ -37,7 +37,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.DoorInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestTimer; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -137,7 +136,7 @@ public class Ramona extends AbstractNpcAI addKillId(MP_CONTROL, RAMONA_1, RAMONA_2, RAMONA_3); addAttackId(MP_CONTROL, RAMONA_1, RAMONA_2, RAMONA_3); addSpawnId(RAMONA_1, RAMONA_2, RAMONA_3); - setCreatureSeeId(this::onCreatureSee, MP_CONTROL); + addCreatureSeeId(MP_CONTROL); final long temp = GlobalVariablesManager.getInstance().getLong(RAMONA_RESPAWN_VAR, 0) - Chronos.currentTimeMillis(); if (temp > 0) @@ -551,16 +550,15 @@ public class Ramona extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); npc.setInvul(true); - - final Creature creature = event.getSeen(); if (creature.isPlayer()) { startQuestTimer("SPAWN_MS", 10000, npc, null, true); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java index 32ff487818..f876b87a40 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -101,7 +100,7 @@ public class TeredorWarzone extends AbstractInstance addEventReceivedId(EGG_2); addAttackId(TEREDOR); addKillId(EGG_2, TEREDOR); - setCreatureSeeId(this::onCreatureSee, BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR); + addCreatureSeeId(BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR); } @Override @@ -272,10 +271,9 @@ public class TeredorWarzone extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance)) { @@ -361,6 +359,7 @@ public class TeredorWarzone extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java index a4a1c9830f..4125ec92e8 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java @@ -37,7 +37,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.BuffInfo; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -318,7 +317,7 @@ public class Trasken extends AbstractNpcAI addExitZoneId(ZONE_ID); addEnterZoneId(ZONE_ID_HEART); addExitZoneId(ZONE_ID_HEART); - setCreatureSeeId(this::onCreatureSee, LAVRA_1, LAVRA_2, LAVRA_3, TRADJAN, TIE, BIG_TIE); + addCreatureSeeId(LAVRA_1, LAVRA_2, LAVRA_3, TRADJAN, TIE, BIG_TIE); init(); if (DoorData.getInstance().getDoor(DOOR) != null) { @@ -539,12 +538,12 @@ public class Trasken extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); if (npc.isDead()) { - return; + return super.onCreatureSee(npc, creature); } if ((npc.getId() == LAVRA_1) || (npc.getId() == LAVRA_2) || (npc.getId() == LAVRA_3) || (npc.getId() == TRADJAN)) @@ -553,7 +552,6 @@ public class Trasken extends AbstractNpcAI } else if ((npc.getId() == TIE) || (npc.getId() == BIG_TIE)) { - final Creature creature = event.getSeen(); if (getRandom(100) < 60) { npc.setTarget(creature); @@ -567,6 +565,8 @@ public class Trasken extends AbstractNpcAI addAttackPlayerDesire(npc, (Playable) creature); } } + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java index f2ff2cdc22..f4e4ba5751 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MerchantInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.clan.ClanPrivilege; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.residences.ClanHall; import org.l2jmobius.gameserver.model.residences.ResidenceFunction; @@ -100,7 +99,7 @@ public class ClanHallManager extends AbstractNpcAI addStartNpc(CLANHALL_MANAGERS); addTalkId(CLANHALL_MANAGERS); addFirstTalkId(CLANHALL_MANAGERS); - setCreatureSeeId(this::onCreatureSee, CLANHALL_MANAGERS); + addCreatureSeeId(CLANHALL_MANAGERS); } @Override @@ -482,18 +481,18 @@ public class ClanHallManager extends AbstractNpcAI return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final ClanHall clanHall = npc.getClanHall(); if (clanHall != null) { creature.getActingPlayer().sendPacket(new AgitDecoInfo(clanHall)); } } + return super.onCreatureSee(npc, creature); } private void updateVisualEffects(ClanHall clanHall, Npc npc) diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/others/Gordon.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/others/Gordon.java index a2d9276bf5..6d7312128b 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/others/Gordon.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/ai/others/Gordon.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import ai.AbstractNpcAI; @@ -35,17 +34,17 @@ public class Gordon extends AbstractNpcAI private Gordon() { addSpawnId(GORDON); - setCreatureSeeId(this::onCreatureSee, GORDON); + addCreatureSeeId(GORDON); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer() && ((PlayerInstance) creature).isCursedWeaponEquipped()) { - final Npc npc = (Npc) event.getCreature(); addAttackPlayerDesire(npc, (PlayerInstance) creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java index 882e69c38a..3df710f2ee 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; @@ -67,7 +66,7 @@ public class ChamberOfProphecies extends AbstractInstance addStartNpc(KAIN_VAN_HALTER); addFirstTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD); addTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD); - setCreatureSeeId(this::onCreatureSee, FERIN, VAN_HALTER); + addCreatureSeeId(FERIN, VAN_HALTER); } @Override @@ -501,13 +500,12 @@ public class ChamberOfProphecies extends AbstractInstance return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (world != null) { - final Creature creature = event.getSeen(); switch (npc.getId()) { case FERIN: @@ -528,6 +526,7 @@ public class ChamberOfProphecies extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java index ac9290a099..2451279b0c 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -76,7 +75,7 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance addSpellFinishedId(WATER_CANNON_SKILL); addInstanceEnterId(TEMPLATE_ID); addInstanceLeaveId(TEMPLATE_ID); - setCreatureSeeId(this::onCreatureSee, WATER_CANNON); + addCreatureSeeId(WATER_CANNON); } @Override @@ -380,10 +379,9 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if ((world != null) && creature.isPlayer() && npc.isScriptValue(0)) { @@ -391,6 +389,7 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance npc.setDisplayEffect(1); getTimers().addRepeatingTimer("CANNON_LOOP_ATTACK", 1000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java index 1cd4834736..6882879232 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -79,7 +78,7 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance addInstanceCreatedId(TEMPLATE_ID); addInstanceEnterId(TEMPLATE_ID); addInstanceLeaveId(TEMPLATE_ID); - setCreatureSeeId(this::onCreatureSee, PLAYER_DETECTOR); + addCreatureSeeId(PLAYER_DETECTOR); } @Override @@ -361,10 +360,9 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance return super.onKill(npc, killer, isSummon); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance) && creature.isPlayer()) { @@ -381,6 +379,7 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance npc.deleteMe(); } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperAliber.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperAliber.java index 756c93eea0..590d0bf8ad 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperAliber.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperAliber.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -92,8 +91,8 @@ public class EtinaHelperAliber extends AbstractNpcAI private EtinaHelperAliber() { addSpellFinishedId(ETINA_HELPER_ALIBER); + addCreatureSeeId(ETINA_HELPER_ALIBER); setCreatureAttackedId(this::onCreatureAttacked, ETINA_HELPER_ALIBER); - setCreatureSeeId(this::onCreatureSee, ETINA_HELPER_ALIBER); setInstanceStatusChangeId(this::onInstanceStatusChange, ETINA_SOLO_INSTANCES); } @@ -267,14 +266,14 @@ public class EtinaHelperAliber extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperDevianne.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperDevianne.java index 72431619a9..0ac475b5c7 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperDevianne.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperDevianne.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.NpcStringId; @@ -73,8 +72,8 @@ public class EtinaHelperDevianne extends AbstractNpcAI private EtinaHelperDevianne() { addSpellFinishedId(ETINA_HELPER_DEVIANNE); + addCreatureSeeId(ETINA_HELPER_DEVIANNE); setCreatureAttackedId(this::onCreatureAttacked, ETINA_HELPER_DEVIANNE); - setCreatureSeeId(this::onCreatureSee, ETINA_HELPER_DEVIANNE); setInstanceStatusChangeId(this::onInstanceStatusChange, ETINA_SOLO_INSTANCES); } @@ -155,14 +154,14 @@ public class EtinaHelperDevianne extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperElikia.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperElikia.java index ad1bd016dc..2f3e42c2c4 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperElikia.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperElikia.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.NpcStringId; @@ -73,8 +72,8 @@ public class EtinaHelperElikia extends AbstractNpcAI private EtinaHelperElikia() { addSpellFinishedId(ETINA_HELPER_ELIKIA); + addCreatureSeeId(ETINA_HELPER_ELIKIA); setCreatureAttackedId(this::onCreatureAttacked, ETINA_HELPER_ELIKIA); - setCreatureSeeId(this::onCreatureSee, ETINA_HELPER_ELIKIA); setInstanceStatusChangeId(this::onInstanceStatusChange, ETINA_SOLO_INSTANCES); } @@ -154,14 +153,14 @@ public class EtinaHelperElikia extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperLeona.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperLeona.java index 6c22eb1c5d..5ff5113840 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperLeona.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperLeona.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.NpcStringId; @@ -78,8 +77,8 @@ public class EtinaHelperLeona extends AbstractNpcAI private EtinaHelperLeona() { addSpellFinishedId(ETINA_HELPER_LEONA); + addCreatureSeeId(ETINA_HELPER_LEONA); setCreatureAttackedId(this::onCreatureAttacked, ETINA_HELPER_LEONA); - setCreatureSeeId(this::onCreatureSee, ETINA_HELPER_LEONA); setInstanceStatusChangeId(this::onInstanceStatusChange, ETINA_SOLO_INSTANCES); } @@ -187,14 +186,14 @@ public class EtinaHelperLeona extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperSporcha.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperSporcha.java index 74bf57db3d..e93eeeeb67 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperSporcha.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperSporcha.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.NpcStringId; @@ -73,8 +72,8 @@ public class EtinaHelperSporcha extends AbstractNpcAI private EtinaHelperSporcha() { addSpellFinishedId(ETINA_HELPER_SPORCHA); + addCreatureSeeId(ETINA_HELPER_SPORCHA); setCreatureAttackedId(this::onCreatureAttacked, ETINA_HELPER_SPORCHA); - setCreatureSeeId(this::onCreatureSee, ETINA_HELPER_SPORCHA); setInstanceStatusChangeId(this::onInstanceStatusChange, ETINA_SOLO_INSTANCES); } @@ -154,14 +153,14 @@ public class EtinaHelperSporcha extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java index 54fcf8ce18..7e090d3b9c 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java @@ -31,7 +31,6 @@ import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -91,9 +90,9 @@ public class KartiaHelperAdolph extends AbstractNpcAI private KartiaHelperAdolph() { addSpellFinishedId(KARTIA_ADOLPH); + addCreatureSeeId(KARTIA_ADOLPH); setCreatureKillId(this::onCreatureKill, KARTIA_ADOLPH); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_ADOLPH); - setCreatureSeeId(this::onCreatureSee, KARTIA_ADOLPH); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -288,14 +287,14 @@ public class KartiaHelperAdolph extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java index 3dd08a63e5..eb1f914e0c 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -86,9 +85,9 @@ public class KartiaHelperBarton extends AbstractNpcAI private KartiaHelperBarton() { + addCreatureSeeId(KARTIA_BARTON); setCreatureKillId(this::onCreatureKill, KARTIA_BARTON); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_BARTON); - setCreatureSeeId(this::onCreatureSee, KARTIA_BARTON); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -149,17 +148,18 @@ public class KartiaHelperBarton extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java index 6212649204..000919660b 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java @@ -33,7 +33,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -110,8 +109,8 @@ public class KartiaHelperElise extends AbstractNpcAI private KartiaHelperElise() { + addCreatureSeeId(KARTIA_ELISE); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); - setCreatureSeeId(this::onCreatureSee, KARTIA_ELISE); setCreatureKillId(this::onCreatureKill, KARTIA_ELISE); } @@ -243,12 +242,11 @@ public class KartiaHelperElise extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer() || (creature instanceof FriendlyNpcInstance)) { - final Npc npc = (Npc) event.getCreature(); final StatSet npcVars = npc.getVariables(); if (creature.isPlayer()) { @@ -271,6 +269,7 @@ public class KartiaHelperElise extends AbstractNpcAI npcVars.set("HAYUK_OBJECT", creature); } } + return super.onCreatureSee(npc, creature); } public void onCreatureKill(OnCreatureDeath event) diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java index 3b59fd7514..404b7722b2 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -81,9 +80,9 @@ public class KartiaHelperEliyah extends AbstractNpcAI private KartiaHelperEliyah() { + addCreatureSeeId(KARTIA_ELIYAH); setCreatureKillId(this::onCreatureKill, KARTIA_ELIYAH); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_ELIYAH); - setCreatureSeeId(this::onCreatureSee, KARTIA_ELIYAH); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -137,17 +136,18 @@ public class KartiaHelperEliyah extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void onCreatureAttacked(OnCreatureAttacked event) diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java index 865762b4d4..230656b816 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java @@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -90,9 +89,9 @@ public class KartiaHelperGuardian extends AbstractNpcAI private KartiaHelperGuardian() { + addCreatureSeeId(KARTIA_GUARDIANS); setCreatureKillId(this::onCreatureKill, KARTIA_GUARDIANS); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_GUARDIANS); - setCreatureSeeId(this::onCreatureSee, KARTIA_GUARDIANS); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -155,21 +154,22 @@ public class KartiaHelperGuardian extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } else if (CommonUtil.contains(KARTIA_ELIYAH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ELIYAH_OBJECT", creature); + npc.getVariables().set("ELIYAH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java index 33b6a58a54..e6d6a415b1 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -87,9 +86,9 @@ public class KartiaHelperHayuk extends AbstractNpcAI private KartiaHelperHayuk() { + addCreatureSeeId(KARTIA_HAYUK); setCreatureKillId(this::onCreatureKill, KARTIA_HAYUK); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_HAYUK); - setCreatureSeeId(this::onCreatureSee, KARTIA_HAYUK); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -150,17 +149,18 @@ public class KartiaHelperHayuk extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java index 33ba6a3bbb..0cf9e476d3 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java @@ -31,7 +31,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -186,13 +185,13 @@ public class KartiasLabyrinth extends AbstractInstance addMoveFinishedId(MINI_BOSSES); addMoveFinishedId(PRISONERS); addRouteFinishedId(MONSTERS); - setCreatureKillId(this::onCreatureKill, MONSTERS); - setCreatureKillId(this::onBossKill, BOSSES); - setCreatureSeeId(this::onCreatureSee, MONSTERS); + addCreatureSeeId(MONSTERS); addEnterZoneId(KARTIA_85_DETECT_1, KARTIA_85_DETECT_2); addEnterZoneId(KARTIA_90_DETECT_1, KARTIA_90_DETECT_2); addEnterZoneId(KARTIA_95_DETECT_1, KARTIA_95_DETECT_2); addInstanceCreatedId(TEMPLATE_ID_SOLO_85, TEMPLATE_ID_SOLO_90, TEMPLATE_ID_SOLO_95, TEMPLATE_ID_GROUP_85, TEMPLATE_ID_GROUP_90, TEMPLATE_ID_GROUP_95); + setCreatureKillId(this::onCreatureKill, MONSTERS); + setCreatureKillId(this::onBossKill, BOSSES); } @Override @@ -873,10 +872,9 @@ public class KartiasLabyrinth extends AbstractInstance } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if ((world != null) && (creature.isPlayer() || creature.getInstanceType().isType(InstanceType.FriendlyNpcInstance)) && npc.isScriptValue(1)) { @@ -892,6 +890,7 @@ public class KartiasLabyrinth extends AbstractInstance addAttackDesire(npc, creature); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java index 9cb99c665f..855babef3b 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -90,7 +89,7 @@ public class NornilsGarden extends AbstractInstance addKillId(ATTACABLE_MONSTERS); addKillId(SPICULA_ZERO); addKillId(BOZ_STAGE1, BOZ_STAGE2, BOZ_STAGE3, BOZ_STAGE4); - setCreatureSeeId(this::onCreatureSee, BOZ_STAGE1); + addCreatureSeeId(BOZ_STAGE1); } @Override @@ -283,12 +282,11 @@ public class NornilsGarden extends AbstractInstance return "33781.html"; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayable()) { - final Npc npc = (Npc) event.getCreature(); if (npc.isScriptValue(0)) { startQuestTimer("stage1", 3000, npc, null); @@ -296,6 +294,7 @@ public class NornilsGarden extends AbstractInstance npc.setScriptValue(1); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java index 9dc9a6c1d1..11dedd4b74 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -116,7 +115,7 @@ public class PrisonOfDarkness extends AbstractInstance addTalkId(SPEZION_HEADSTONE, WARP_POINT, TIME_BOMB_1, STARLIGHT_LATTICE, JOSEPHINA); addSpawnId(WARP_POINT, ESCORT_WARRIOR); addSpellFinishedId(MONSTERS); - setCreatureSeeId(this::onCreatureSee, EXIT_PORTAL); + addCreatureSeeId(EXIT_PORTAL); addKillId(SPEZIONS_PAWN); addFirstTalkId(JOSEPHINA); } @@ -343,10 +342,9 @@ public class PrisonOfDarkness extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance)) { @@ -373,6 +371,7 @@ public class PrisonOfDarkness extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java index 53c4e8a863..cba0f398c1 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java @@ -24,9 +24,9 @@ import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.enums.QuestSound; import org.l2jmobius.gameserver.enums.QuestType; import org.l2jmobius.gameserver.model.Party; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.NpcLogListHolder; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -60,8 +60,8 @@ public class Q00833_DevilsTreasureTauti extends Quest addStartNpc(DETON); addTalkId(SETTLEN); addKillId(FLAME_SCORPION, FLAME_GOLEM, FLAME_SCARAB, SEAL_TOMBSTONE); + addCreatureSeeId(DETON); registerQuestItems(FLAME_FLOWER); - setCreatureSeeId(this::onCreatureSee, DETON); } @Override @@ -115,9 +115,10 @@ public class Q00833_DevilsTreasureTauti extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final PlayerInstance player = event.getSeen().getActingPlayer(); + final PlayerInstance player = creature.getActingPlayer(); if (player != null) { final QuestState qs = getQuestState(player, true); @@ -127,6 +128,7 @@ public class Q00833_DevilsTreasureTauti extends Quest qs.startQuest(); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java index bebeea1946..8ae58bb610 100644 --- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java +++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java @@ -19,9 +19,9 @@ package quests.Q00835_PitiableMelisa; import org.l2jmobius.Config; import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.enums.QuestType; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -56,8 +56,8 @@ public class Q00835_PitiableMelisa extends Quest addStartNpc(KANNA); addTalkId(SETTLEN); addKillId(MONSTERS); + addCreatureSeeId(KANNA); registerQuestItems(ICE_CRYSTAL_SHARD); - setCreatureSeeId(this::onCreatureSee, KANNA); } @Override @@ -119,9 +119,10 @@ public class Q00835_PitiableMelisa extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final PlayerInstance player = event.getSeen().getActingPlayer(); + final PlayerInstance player = creature.getActingPlayer(); if (player != null) { final QuestState qs = getQuestState(player, true); @@ -131,6 +132,7 @@ public class Q00835_PitiableMelisa extends Quest qs.startQuest(); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/quest/Quest.java b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/quest/Quest.java index e3092a5a5f..00e8c37968 100644 --- a/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/quest/Quest.java +++ b/L2J_Mobius_8.0_Homunculus/java/org/l2jmobius/gameserver/model/quest/Quest.java @@ -828,6 +828,36 @@ public class Quest extends AbstractScript implements IIdentifiable showResult(player, res); } + /** + * @param npc the NPC that sees the creature + * @param creature the creature seen by the NPC + */ + public void notifyCreatureSee(Npc npc, Creature creature) + { + PlayerInstance player = null; + if (creature.isPlayer()) + { + player = creature.getActingPlayer(); + } + String res = null; + try + { + res = onCreatureSee(npc, creature); + } + catch (Exception e) + { + if (player != null) + { + showError(player, e); + } + return; + } + if (player != null) + { + showResult(player, res); + } + } + /** * @param eventName - name of event * @param sender - NPC, who sent event @@ -1292,6 +1322,17 @@ public class Quest extends AbstractScript implements IIdentifiable return null; } + /** + * This function is called whenever an NPC "sees" a creature. + * @param npc the NPC who sees the creature + * @param creature the creature seen by the NPC + * @return + */ + public String onCreatureSee(Npc npc, Creature creature) + { + return null; + } + /** * This function is called whenever a player enters the game. * @param player this parameter contains a reference to the exact instance of the player who is entering to the world. @@ -2069,6 +2110,22 @@ public class Quest extends AbstractScript implements IIdentifiable setAttackableAggroRangeEnterId(event -> notifyAggroRangeEnter(event.getNpc(), event.getActiveChar(), event.isSummon()), npcIds); } + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(int... npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(Collection npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + /** * Register onEnterZone trigger for zone * @param zoneId the ID of the zone to register diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java index 5da0f89b23..7c28509deb 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/DragonValley/MercenaryCaptain.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class MercenaryCaptain extends AbstractNpcAI private MercenaryCaptain() { - setCreatureSeeId(this::onCreatureSee, MERCENARY_CAPTAIN); + addCreatureSeeId(MERCENARY_CAPTAIN); } @Override @@ -50,14 +49,14 @@ public class MercenaryCaptain extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/DragonValley/Namo.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/DragonValley/Namo.java index ba5afc9fca..6eabcccae7 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/DragonValley/Namo.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/DragonValley/Namo.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class Namo extends AbstractNpcAI private Namo() { - setCreatureSeeId(this::onCreatureSee, NAMO); + addCreatureSeeId(NAMO); } @Override @@ -50,14 +49,14 @@ public class Namo extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java index 9e1a9eed0c..2be4ef7954 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/DragonValley/Rakun.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -37,7 +36,7 @@ public class Rakun extends AbstractNpcAI private Rakun() { - setCreatureSeeId(this::onCreatureSee, RAKUN); + addCreatureSeeId(RAKUN); } @Override @@ -50,14 +49,14 @@ public class Rakun extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); startQuestTimer("BROADCAST_TEXT", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java index 8b976bfedb..409b886c34 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/FairySettlement/Wisp.java @@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import ai.AbstractNpcAI; @@ -46,7 +45,7 @@ public class Wisp extends AbstractNpcAI private Wisp() { addSpawnId(WISP); - setCreatureSeeId(this::onCreatureSee, WISP, LARGE_WISP); + addCreatureSeeId(WISP, LARGE_WISP); } @Override @@ -70,26 +69,24 @@ public class Wisp extends AbstractNpcAI { final Spawn spawn = npc.getSpawn(); spawn.stopRespawn(); - if ((npc.getId() == WISP) && (getRandom(100) < 10)) { addSpawn(LARGE_WISP, npc); npc.deleteMe(); } - return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); if (creature.isPlayer() || creature.isFakePlayer()) { npc.setTarget(creature); npc.doCast(npc.getId() == WISP ? WISP_HEAL.getSkill() : LARGE_WISP_HEAL.getSkill()); getTimers().addTimer("DELETE_NPC", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java index 8ec553e1e8..2c1e3462d6 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import ai.AbstractNpcAI; @@ -80,7 +79,7 @@ public class Rooney extends AbstractNpcAI private Rooney() { - setCreatureSeeId(this::onCreatureSee, ROONEY); + addCreatureSeeId(ROONEY); addSpawn(ROONEY, getRandomEntry(LOCATIONS), false, 0); } @@ -125,19 +124,16 @@ public class Rooney extends AbstractNpcAI return null; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); - startQuestTimer("teleport", 60000, npc, null); - npc.setScriptValue(1); - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); + startQuestTimer("teleport", 60000, npc, null); + npc.setScriptValue(1); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java index aad5e6f05b..5becdce40e 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/GardenOfGenesis/GardenWatchman.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import ai.AbstractNpcAI; @@ -45,7 +44,7 @@ public class GardenWatchman extends AbstractNpcAI public GardenWatchman() { addSpawnId(GARDEN_WATCHMAN); - setCreatureSeeId(this::onCreatureSee, GENESIS_TRAP_1, GENESIS_TRAP_2); + addCreatureSeeId(GENESIS_TRAP_1, GENESIS_TRAP_2); } @Override @@ -90,14 +89,14 @@ public class GardenWatchman extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer()) { startQuestTimer("DEBUFF", 3000, npc, null, true); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java index 3968ed6d26..68ea79dbbe 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/Parnassus/EntrancePortalToCrystalCaverns/EntrancePortalToCrystalCaverns.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.network.serverpackets.OnEventTrigger; @@ -57,7 +56,7 @@ public class EntrancePortalToCrystalCaverns extends AbstractNpcAI addTalkId(CAVERNS_ENTRACE); addFirstTalkId(CAVERNS_ENTRACE); addSpawnId(CAVERNS_ENTRACE); - setCreatureSeeId(this::onCreatureSee, CAVERNS_ENTRACE); + addCreatureSeeId(CAVERNS_ENTRACE); } @Override @@ -117,15 +116,16 @@ public class EntrancePortalToCrystalCaverns extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { creature.getActingPlayer().sendPacket(new OnEventTrigger(PRISON_ENTRACE_TRIGGER_1, true)); creature.getActingPlayer().sendPacket(new OnEventTrigger(PRISON_ENTRACE_TRIGGER_2, true)); updateTriggersForPlayer(creature.getActingPlayer(), getCurrentInstanceTemplateId()); } + return super.onCreatureSee(npc, creature); } public void updateTriggersForPlayer(PlayerInstance player, int currentTemplateId) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java index a98bccb9c9..03ee3fca70 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/Rune/AltarOfSacrifice/AltarOfSacrifice.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import org.l2jmobius.gameserver.network.serverpackets.NpcSay; @@ -45,7 +44,7 @@ public class AltarOfSacrifice extends AbstractNpcAI private AltarOfSacrifice() { addSpawnId(IMMERIAL, JENNAS_GUARD, GIGGLE); - setCreatureSeeId(this::onCreatureSee, JENNAS_GUARD); + addCreatureSeeId(JENNAS_GUARD); } @Override @@ -72,15 +71,15 @@ public class AltarOfSacrifice extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if ((creature != null) && creature.isPlayer() && _jenas_guard.isScriptValue(0)) { startQuestTimer("msg_text", 3000, npc, null); _jenas_guard.setScriptValue(1); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java index d1f759948c..506f8fd7a2 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/areas/Wastelands/Wastelands.java @@ -32,7 +32,6 @@ 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.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import ai.AbstractNpcAI; @@ -80,7 +79,7 @@ public class Wastelands extends AbstractNpcAI { addKillId(REGENERATED_POSLOF, SAKUM); addSpawnId(COMMANDER, GUARD, DECO_GUARD, REGENERATED_KANILOV, REGENERATED_POSLOF, SAKUM); - setCreatureSeeId(this::onCreatureSee, JOEL, SCHUAZEN, COMMANDO, COMMANDO_CAPTAIN); + addCreatureSeeId(JOEL, SCHUAZEN, COMMANDO, COMMANDO_CAPTAIN); } @Override @@ -188,14 +187,14 @@ public class Wastelands extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer() && (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ATTACK)) { startQuestTimer("START_ATTACK", 250, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Baium/Baium.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Baium/Baium.java index 1abf4b976f..305df34294 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Baium/Baium.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Baium/Baium.java @@ -34,7 +34,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -110,7 +109,7 @@ public class Baium extends AbstractNpcAI addAttackId(BAIUM, ARCHANGEL); addKillId(BAIUM); addSpellFinishedId(BAIUM); - setCreatureSeeId(this::onCreatureSee, BAIUM); + addCreatureSeeId(BAIUM); final StatSet info = GrandBossManager.getInstance().getStatSet(BAIUM); @@ -554,14 +553,12 @@ public class Baium extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); - if (!zone.isInsideZone(creature) || (creature.isNpc() && (creature.getId() == BAIUM_STONE))) { - return; + return super.onCreatureSee(npc, creature); } if (creature.isPlayer() && !creature.isDead() && (_standbyPlayer == null)) @@ -593,6 +590,8 @@ public class Baium extends AbstractNpcAI refreshAiParams(creature, npc, 10000, 1000); } manageSkills(npc); + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java index fa14563861..4937e76f83 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Balok/BalokWarzone.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.BuffInfo; @@ -103,7 +102,7 @@ public class BalokWarzone extends AbstractInstance addSkillSeeId(BALOK); addKillId(BALOK, MINION); addSpellFinishedId(BALOK); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_1); + addCreatureSeeId(INVISIBLE_NPC_1); } @Override @@ -293,16 +292,16 @@ public class BalokWarzone extends AbstractInstance return super.onKill(npc, player, isPet); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); getTimers().addTimer("stage_1_start", 60000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java index 2176ec7064..0f469e8575 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Baylor/BaylorWarzone.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.DoorInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.ItemHolder; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -64,7 +63,7 @@ public class BaylorWarzone extends AbstractInstance addTalkId(BENUSTA); addInstanceCreatedId(TEMPLATE_ID); addSpellFinishedId(INVISIBLE_NPC_1); - setCreatureSeeId(this::onCreatureSee, INVISIBLE_NPC_1); + addCreatureSeeId(INVISIBLE_NPC_1); setCreatureKillId(this::onBossKill, BAYLOR); } @@ -310,16 +309,16 @@ public class BaylorWarzone extends AbstractInstance } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); getTimers().addTimer("START_SCENE_01", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } /** diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java index ba64784ee3..9ee1188c0e 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Freya/IceQueensCastle/IceQueensCastle.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -60,7 +59,7 @@ public class IceQueensCastle extends AbstractInstance addTalkId(JINIA); addSpawnId(FREYA); addSpellFinishedId(FREYA); - setCreatureSeeId(this::onCreatureSee, BATTALION_LEADER, LEGIONNAIRE, MERCENARY_ARCHER); + addCreatureSeeId(BATTALION_LEADER, LEGIONNAIRE, MERCENARY_ARCHER); } @Override @@ -132,10 +131,9 @@ public class IceQueensCastle extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer() && npc.isScriptValue(0)) { npc.setScriptValue(1); @@ -151,6 +149,7 @@ public class IceQueensCastle extends AbstractInstance }); startQuestTimer("ATTACK_KNIGHT", 5000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java index 1692f91226..58f65e79c2 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Kimerian/KimerianCommon.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.NpcStringId; @@ -78,7 +77,7 @@ public class KimerianCommon extends AbstractInstance addSpawnId(FAIRY_REBEL, NEOMI_KASHERON); addAttackId(KIMERIAN); addKillId(KIMERIAN_GHOST, KIMERIAN); - setCreatureSeeId(this::onCreatureSee, FAIRY_REBEL, NEOMI_KASHERON, INVISIBLE_NPC, KIMERIAN); + addCreatureSeeId(FAIRY_REBEL, NEOMI_KASHERON, INVISIBLE_NPC, KIMERIAN); setCreatureKillId(this::onCreatureKill, FAIRY_REBEL, NEOMI_KASHERON); } @@ -334,14 +333,12 @@ public class KimerianCommon extends AbstractInstance return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final StatSet npcParams = npc.getParameters(); final StatSet npcVars = npc.getVariables(); final Instance instance = npc.getInstanceWorld(); - if (isInInstance(instance)) { switch (npc.getId()) @@ -412,6 +409,7 @@ public class KimerianCommon extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } private void spawnHollow(Npc npc, PlayerInstance player, boolean isHollow) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java index caab21e1d3..f0200d1563 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Lindvior/Lindvior.java @@ -46,7 +46,6 @@ 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.OnCreatureDamageReceived; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -208,7 +207,7 @@ public class Lindvior extends AbstractNpcAI addSkillSeeId(NPC_GENERATOR); addFirstTalkId(NPC_GENERATOR); addSpawnId(NPC_ATTACKER_GENERATORS, NPC_ATTACKER_GENERATORS_1, LYN_DRACO_ATTACKER_GENERATORS, GENERATOR_GUARD, NPC_GENERATOR); - setCreatureSeeId(this::onCreatureSee, INVISIBLE); + addCreatureSeeId(INVISIBLE); _zoneLair = ZoneManager.getInstance().getZoneById(ZONE_ID, NoSummonFriendZone.class); // Unlock final StatSet info = GrandBossManager.getInstance().getStatSet(LINDVIOR_RAID); @@ -509,12 +508,13 @@ public class Lindvior extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); setLindviorSpawnTask(); npc.getSpawn().stopRespawn(); npc.deleteMe(); + return super.onCreatureSee(npc, creature); } private void nextStage(int taskId) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java index 4b49959ccb..610906bb55 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Lindvior/Vortex.java @@ -22,9 +22,9 @@ import org.l2jmobius.gameserver.ai.CtrlIntention; import org.l2jmobius.gameserver.geoengine.GeoEngine; import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.World; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.serverpackets.FlyToLocation; import org.l2jmobius.gameserver.network.serverpackets.ValidateLocation; @@ -44,7 +44,7 @@ public class Vortex extends AbstractNpcAI { super(); addSpawnId(SMALL_VORTEX, BIG_VORTEX); - setCreatureSeeId(this::onCreatureSee, SMALL_VORTEX, BIG_VORTEX); + addCreatureSeeId(SMALL_VORTEX, BIG_VORTEX); } @Override @@ -112,9 +112,9 @@ public class Vortex extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); switch (npc.getId()) { case SMALL_VORTEX: @@ -128,6 +128,7 @@ public class Vortex extends AbstractNpcAI break; } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java index 0f7f84f52e..d0cf7094cf 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Octavis/OctavisWarzone.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -118,7 +117,7 @@ public class OctavisWarzone extends AbstractInstance addMoveFinishedId(GLADIATORS); addSpellFinishedId(OCTAVIS_STAGE_2); addEnterZoneId(TELEPORT_ZONE.getId()); - setCreatureSeeId(this::onCreatureSee, DOOR_MANAGER); + addCreatureSeeId(DOOR_MANAGER); addInstanceCreatedId(TEMPLATE_ID, EXTREME_TEMPLATE_ID); } @@ -562,10 +561,9 @@ public class OctavisWarzone extends AbstractInstance return super.onSpellFinished(npc, player, skill); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (isInInstance(world) && creature.isPlayer() && npc.isScriptValue(0)) { @@ -574,6 +572,7 @@ public class OctavisWarzone extends AbstractInstance getTimers().addTimer("SECOND_DOOR_OPEN", 3000, npc, null); getTimers().addTimer("CLOSE_DOORS", 60000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java index c7b5762bdb..3f6a2cdb0c 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Ramona/Ramona.java @@ -37,7 +37,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.DoorInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestTimer; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -137,7 +136,7 @@ public class Ramona extends AbstractNpcAI addKillId(MP_CONTROL, RAMONA_1, RAMONA_2, RAMONA_3); addAttackId(MP_CONTROL, RAMONA_1, RAMONA_2, RAMONA_3); addSpawnId(RAMONA_1, RAMONA_2, RAMONA_3); - setCreatureSeeId(this::onCreatureSee, MP_CONTROL); + addCreatureSeeId(MP_CONTROL); final long temp = GlobalVariablesManager.getInstance().getLong(RAMONA_RESPAWN_VAR, 0) - Chronos.currentTimeMillis(); if (temp > 0) @@ -551,16 +550,15 @@ public class Ramona extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); npc.setInvul(true); - - final Creature creature = event.getSeen(); if (creature.isPlayer()) { startQuestTimer("SPAWN_MS", 10000, npc, null, true); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java index 32ff487818..f876b87a40 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Teredor/TeredorWarzone.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -101,7 +100,7 @@ public class TeredorWarzone extends AbstractInstance addEventReceivedId(EGG_2); addAttackId(TEREDOR); addKillId(EGG_2, TEREDOR); - setCreatureSeeId(this::onCreatureSee, BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR); + addCreatureSeeId(BEETLE, POS_CHECKER, EGG_2, FAKE_TEREDOR); } @Override @@ -272,10 +271,9 @@ public class TeredorWarzone extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance)) { @@ -361,6 +359,7 @@ public class TeredorWarzone extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java index a4a1c9830f..4125ec92e8 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/bosses/Trasken/Trasken.java @@ -37,7 +37,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.BuffInfo; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -318,7 +317,7 @@ public class Trasken extends AbstractNpcAI addExitZoneId(ZONE_ID); addEnterZoneId(ZONE_ID_HEART); addExitZoneId(ZONE_ID_HEART); - setCreatureSeeId(this::onCreatureSee, LAVRA_1, LAVRA_2, LAVRA_3, TRADJAN, TIE, BIG_TIE); + addCreatureSeeId(LAVRA_1, LAVRA_2, LAVRA_3, TRADJAN, TIE, BIG_TIE); init(); if (DoorData.getInstance().getDoor(DOOR) != null) { @@ -539,12 +538,12 @@ public class Trasken extends AbstractNpcAI return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); if (npc.isDead()) { - return; + return super.onCreatureSee(npc, creature); } if ((npc.getId() == LAVRA_1) || (npc.getId() == LAVRA_2) || (npc.getId() == LAVRA_3) || (npc.getId() == TRADJAN)) @@ -553,7 +552,6 @@ public class Trasken extends AbstractNpcAI } else if ((npc.getId() == TIE) || (npc.getId() == BIG_TIE)) { - final Creature creature = event.getSeen(); if (getRandom(100) < 60) { npc.setTarget(creature); @@ -567,6 +565,8 @@ public class Trasken extends AbstractNpcAI addAttackPlayerDesire(npc, (Playable) creature); } } + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java index f2ff2cdc22..f4e4ba5751 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MerchantInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.clan.ClanPrivilege; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.residences.ClanHall; import org.l2jmobius.gameserver.model.residences.ResidenceFunction; @@ -100,7 +99,7 @@ public class ClanHallManager extends AbstractNpcAI addStartNpc(CLANHALL_MANAGERS); addTalkId(CLANHALL_MANAGERS); addFirstTalkId(CLANHALL_MANAGERS); - setCreatureSeeId(this::onCreatureSee, CLANHALL_MANAGERS); + addCreatureSeeId(CLANHALL_MANAGERS); } @Override @@ -482,18 +481,18 @@ public class ClanHallManager extends AbstractNpcAI return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final ClanHall clanHall = npc.getClanHall(); if (clanHall != null) { creature.getActingPlayer().sendPacket(new AgitDecoInfo(clanHall)); } } + return super.onCreatureSee(npc, creature); } private void updateVisualEffects(ClanHall clanHall, Npc npc) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/Gordon.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/Gordon.java index a2d9276bf5..6d7312128b 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/Gordon.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/ai/others/Gordon.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import ai.AbstractNpcAI; @@ -35,17 +34,17 @@ public class Gordon extends AbstractNpcAI private Gordon() { addSpawnId(GORDON); - setCreatureSeeId(this::onCreatureSee, GORDON); + addCreatureSeeId(GORDON); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer() && ((PlayerInstance) creature).isCursedWeaponEquipped()) { - final Npc npc = (Npc) event.getCreature(); addAttackPlayerDesire(npc, (PlayerInstance) creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java index 882e69c38a..3df710f2ee 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; @@ -67,7 +66,7 @@ public class ChamberOfProphecies extends AbstractInstance addStartNpc(KAIN_VAN_HALTER); addFirstTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD); addTalkId(KAIN_VAN_HALTER, GRAIL, MYSTERIOUS_WIZARD); - setCreatureSeeId(this::onCreatureSee, FERIN, VAN_HALTER); + addCreatureSeeId(FERIN, VAN_HALTER); } @Override @@ -501,13 +500,12 @@ public class ChamberOfProphecies extends AbstractInstance return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if (world != null) { - final Creature creature = event.getSeen(); switch (npc.getId()) { case FERIN: @@ -528,6 +526,7 @@ public class ChamberOfProphecies extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java index ac9290a099..2451279b0c 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsEmeraldSquare.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -76,7 +75,7 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance addSpellFinishedId(WATER_CANNON_SKILL); addInstanceEnterId(TEMPLATE_ID); addInstanceLeaveId(TEMPLATE_ID); - setCreatureSeeId(this::onCreatureSee, WATER_CANNON); + addCreatureSeeId(WATER_CANNON); } @Override @@ -380,10 +379,9 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if ((world != null) && creature.isPlayer() && npc.isScriptValue(0)) { @@ -391,6 +389,7 @@ public class CrystalCavernsEmeraldSquare extends AbstractInstance npc.setDisplayEffect(1); getTimers().addRepeatingTimer("CANNON_LOOP_ATTACK", 1000, npc, null); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java index 1cd4834736..6882879232 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/CrystalCaverns/CrystalCavernsSteamCorridor.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -79,7 +78,7 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance addInstanceCreatedId(TEMPLATE_ID); addInstanceEnterId(TEMPLATE_ID); addInstanceLeaveId(TEMPLATE_ID); - setCreatureSeeId(this::onCreatureSee, PLAYER_DETECTOR); + addCreatureSeeId(PLAYER_DETECTOR); } @Override @@ -361,10 +360,9 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance return super.onKill(npc, killer, isSummon); } - private void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance) && creature.isPlayer()) { @@ -381,6 +379,7 @@ public class CrystalCavernsSteamCorridor extends AbstractInstance npc.deleteMe(); } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperAliber.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperAliber.java index 756c93eea0..590d0bf8ad 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperAliber.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperAliber.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -92,8 +91,8 @@ public class EtinaHelperAliber extends AbstractNpcAI private EtinaHelperAliber() { addSpellFinishedId(ETINA_HELPER_ALIBER); + addCreatureSeeId(ETINA_HELPER_ALIBER); setCreatureAttackedId(this::onCreatureAttacked, ETINA_HELPER_ALIBER); - setCreatureSeeId(this::onCreatureSee, ETINA_HELPER_ALIBER); setInstanceStatusChangeId(this::onInstanceStatusChange, ETINA_SOLO_INSTANCES); } @@ -267,14 +266,14 @@ public class EtinaHelperAliber extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperDevianne.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperDevianne.java index 72431619a9..0ac475b5c7 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperDevianne.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperDevianne.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.NpcStringId; @@ -73,8 +72,8 @@ public class EtinaHelperDevianne extends AbstractNpcAI private EtinaHelperDevianne() { addSpellFinishedId(ETINA_HELPER_DEVIANNE); + addCreatureSeeId(ETINA_HELPER_DEVIANNE); setCreatureAttackedId(this::onCreatureAttacked, ETINA_HELPER_DEVIANNE); - setCreatureSeeId(this::onCreatureSee, ETINA_HELPER_DEVIANNE); setInstanceStatusChangeId(this::onInstanceStatusChange, ETINA_SOLO_INSTANCES); } @@ -155,14 +154,14 @@ public class EtinaHelperDevianne extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperElikia.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperElikia.java index ad1bd016dc..2f3e42c2c4 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperElikia.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperElikia.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.NpcStringId; @@ -73,8 +72,8 @@ public class EtinaHelperElikia extends AbstractNpcAI private EtinaHelperElikia() { addSpellFinishedId(ETINA_HELPER_ELIKIA); + addCreatureSeeId(ETINA_HELPER_ELIKIA); setCreatureAttackedId(this::onCreatureAttacked, ETINA_HELPER_ELIKIA); - setCreatureSeeId(this::onCreatureSee, ETINA_HELPER_ELIKIA); setInstanceStatusChangeId(this::onInstanceStatusChange, ETINA_SOLO_INSTANCES); } @@ -154,14 +153,14 @@ public class EtinaHelperElikia extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperLeona.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperLeona.java index 6c22eb1c5d..5ff5113840 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperLeona.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperLeona.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.NpcStringId; @@ -78,8 +77,8 @@ public class EtinaHelperLeona extends AbstractNpcAI private EtinaHelperLeona() { addSpellFinishedId(ETINA_HELPER_LEONA); + addCreatureSeeId(ETINA_HELPER_LEONA); setCreatureAttackedId(this::onCreatureAttacked, ETINA_HELPER_LEONA); - setCreatureSeeId(this::onCreatureSee, ETINA_HELPER_LEONA); setInstanceStatusChangeId(this::onInstanceStatusChange, ETINA_SOLO_INSTANCES); } @@ -187,14 +186,14 @@ public class EtinaHelperLeona extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperSporcha.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperSporcha.java index 74bf57db3d..e93eeeeb67 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperSporcha.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperSporcha.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.events.impl.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.NpcStringId; @@ -73,8 +72,8 @@ public class EtinaHelperSporcha extends AbstractNpcAI private EtinaHelperSporcha() { addSpellFinishedId(ETINA_HELPER_SPORCHA); + addCreatureSeeId(ETINA_HELPER_SPORCHA); setCreatureAttackedId(this::onCreatureAttacked, ETINA_HELPER_SPORCHA); - setCreatureSeeId(this::onCreatureSee, ETINA_HELPER_SPORCHA); setInstanceStatusChangeId(this::onInstanceStatusChange, ETINA_SOLO_INSTANCES); } @@ -154,14 +153,14 @@ public class EtinaHelperSporcha extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java index 54fcf8ce18..7e090d3b9c 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperAdolph.java @@ -31,7 +31,6 @@ import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -91,9 +90,9 @@ public class KartiaHelperAdolph extends AbstractNpcAI private KartiaHelperAdolph() { addSpellFinishedId(KARTIA_ADOLPH); + addCreatureSeeId(KARTIA_ADOLPH); setCreatureKillId(this::onCreatureKill, KARTIA_ADOLPH); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_ADOLPH); - setCreatureSeeId(this::onCreatureSee, KARTIA_ADOLPH); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -288,14 +287,14 @@ public class KartiaHelperAdolph extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java index 3dd08a63e5..eb1f914e0c 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperBarton.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -86,9 +85,9 @@ public class KartiaHelperBarton extends AbstractNpcAI private KartiaHelperBarton() { + addCreatureSeeId(KARTIA_BARTON); setCreatureKillId(this::onCreatureKill, KARTIA_BARTON); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_BARTON); - setCreatureSeeId(this::onCreatureSee, KARTIA_BARTON); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -149,17 +148,18 @@ public class KartiaHelperBarton extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java index 6212649204..000919660b 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperElise.java @@ -33,7 +33,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -110,8 +109,8 @@ public class KartiaHelperElise extends AbstractNpcAI private KartiaHelperElise() { + addCreatureSeeId(KARTIA_ELISE); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); - setCreatureSeeId(this::onCreatureSee, KARTIA_ELISE); setCreatureKillId(this::onCreatureKill, KARTIA_ELISE); } @@ -243,12 +242,11 @@ public class KartiaHelperElise extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer() || (creature instanceof FriendlyNpcInstance)) { - final Npc npc = (Npc) event.getCreature(); final StatSet npcVars = npc.getVariables(); if (creature.isPlayer()) { @@ -271,6 +269,7 @@ public class KartiaHelperElise extends AbstractNpcAI npcVars.set("HAYUK_OBJECT", creature); } } + return super.onCreatureSee(npc, creature); } public void onCreatureKill(OnCreatureDeath event) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java index 3b59fd7514..404b7722b2 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperEliyah.java @@ -25,7 +25,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -81,9 +80,9 @@ public class KartiaHelperEliyah extends AbstractNpcAI private KartiaHelperEliyah() { + addCreatureSeeId(KARTIA_ELIYAH); setCreatureKillId(this::onCreatureKill, KARTIA_ELIYAH); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_ELIYAH); - setCreatureSeeId(this::onCreatureSee, KARTIA_ELIYAH); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -137,17 +136,18 @@ public class KartiaHelperEliyah extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void onCreatureAttacked(OnCreatureAttacked event) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java index 865762b4d4..230656b816 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperGuardian.java @@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -90,9 +89,9 @@ public class KartiaHelperGuardian extends AbstractNpcAI private KartiaHelperGuardian() { + addCreatureSeeId(KARTIA_GUARDIANS); setCreatureKillId(this::onCreatureKill, KARTIA_GUARDIANS); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_GUARDIANS); - setCreatureSeeId(this::onCreatureSee, KARTIA_GUARDIANS); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -155,21 +154,22 @@ public class KartiaHelperGuardian extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } else if (CommonUtil.contains(KARTIA_ELIYAH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ELIYAH_OBJECT", creature); + npc.getVariables().set("ELIYAH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java index 33b6a58a54..e6d6a415b1 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiaHelperHayuk.java @@ -27,7 +27,6 @@ import org.l2jmobius.gameserver.model.actor.instance.FriendlyNpcInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureAttacked; 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.instance.OnInstanceStatusChange; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; @@ -87,9 +86,9 @@ public class KartiaHelperHayuk extends AbstractNpcAI private KartiaHelperHayuk() { + addCreatureSeeId(KARTIA_HAYUK); setCreatureKillId(this::onCreatureKill, KARTIA_HAYUK); setCreatureAttackedId(this::onCreatureAttacked, KARTIA_HAYUK); - setCreatureSeeId(this::onCreatureSee, KARTIA_HAYUK); setInstanceStatusChangeId(this::onInstanceStatusChange, KARTIA_SOLO_INSTANCES); } @@ -150,17 +149,18 @@ public class KartiaHelperHayuk extends AbstractNpcAI } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - ((Npc) event.getCreature()).getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); + npc.getVariables().set("PLAYER_OBJECT", creature.getActingPlayer()); } else if (CommonUtil.contains(KARTIA_ADOLPH, creature.getId())) { - ((Npc) event.getCreature()).getVariables().set("ADOLPH_OBJECT", creature); + npc.getVariables().set("ADOLPH_OBJECT", creature); } + return super.onCreatureSee(npc, creature); } public void useRandomSkill(Npc npc) diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java index 33ba6a3bbb..0cf9e476d3 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java @@ -31,7 +31,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureDeath; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.zone.ZoneType; @@ -186,13 +185,13 @@ public class KartiasLabyrinth extends AbstractInstance addMoveFinishedId(MINI_BOSSES); addMoveFinishedId(PRISONERS); addRouteFinishedId(MONSTERS); - setCreatureKillId(this::onCreatureKill, MONSTERS); - setCreatureKillId(this::onBossKill, BOSSES); - setCreatureSeeId(this::onCreatureSee, MONSTERS); + addCreatureSeeId(MONSTERS); addEnterZoneId(KARTIA_85_DETECT_1, KARTIA_85_DETECT_2); addEnterZoneId(KARTIA_90_DETECT_1, KARTIA_90_DETECT_2); addEnterZoneId(KARTIA_95_DETECT_1, KARTIA_95_DETECT_2); addInstanceCreatedId(TEMPLATE_ID_SOLO_85, TEMPLATE_ID_SOLO_90, TEMPLATE_ID_SOLO_95, TEMPLATE_ID_GROUP_85, TEMPLATE_ID_GROUP_90, TEMPLATE_ID_GROUP_95); + setCreatureKillId(this::onCreatureKill, MONSTERS); + setCreatureKillId(this::onBossKill, BOSSES); } @Override @@ -873,10 +872,9 @@ public class KartiasLabyrinth extends AbstractInstance } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance world = npc.getInstanceWorld(); if ((world != null) && (creature.isPlayer() || creature.getInstanceType().isType(InstanceType.FriendlyNpcInstance)) && npc.isScriptValue(1)) { @@ -892,6 +890,7 @@ public class KartiasLabyrinth extends AbstractInstance addAttackDesire(npc, creature); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java index 9cb99c665f..855babef3b 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/NornilsGarden/NornilsGarden.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.network.SystemMessageId; @@ -90,7 +89,7 @@ public class NornilsGarden extends AbstractInstance addKillId(ATTACABLE_MONSTERS); addKillId(SPICULA_ZERO); addKillId(BOZ_STAGE1, BOZ_STAGE2, BOZ_STAGE3, BOZ_STAGE4); - setCreatureSeeId(this::onCreatureSee, BOZ_STAGE1); + addCreatureSeeId(BOZ_STAGE1); } @Override @@ -283,12 +282,11 @@ public class NornilsGarden extends AbstractInstance return "33781.html"; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayable()) { - final Npc npc = (Npc) event.getCreature(); if (npc.isScriptValue(0)) { startQuestTimer("stage1", 3000, npc, null); @@ -296,6 +294,7 @@ public class NornilsGarden extends AbstractInstance npc.setScriptValue(1); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java index 9dc9a6c1d1..11dedd4b74 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/PrisonOfDarkness/PrisonOfDarkness.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -116,7 +115,7 @@ public class PrisonOfDarkness extends AbstractInstance addTalkId(SPEZION_HEADSTONE, WARP_POINT, TIME_BOMB_1, STARLIGHT_LATTICE, JOSEPHINA); addSpawnId(WARP_POINT, ESCORT_WARRIOR); addSpellFinishedId(MONSTERS); - setCreatureSeeId(this::onCreatureSee, EXIT_PORTAL); + addCreatureSeeId(EXIT_PORTAL); addKillId(SPEZIONS_PAWN); addFirstTalkId(JOSEPHINA); } @@ -343,10 +342,9 @@ public class PrisonOfDarkness extends AbstractInstance return super.onSpawn(npc); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - final Npc npc = (Npc) event.getCreature(); final Instance instance = npc.getInstanceWorld(); if (isInInstance(instance)) { @@ -373,6 +371,7 @@ public class PrisonOfDarkness extends AbstractInstance } } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java index 53c4e8a863..cba0f398c1 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00833_DevilsTreasureTauti/Q00833_DevilsTreasureTauti.java @@ -24,9 +24,9 @@ import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.enums.QuestSound; import org.l2jmobius.gameserver.enums.QuestType; import org.l2jmobius.gameserver.model.Party; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.NpcLogListHolder; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -60,8 +60,8 @@ public class Q00833_DevilsTreasureTauti extends Quest addStartNpc(DETON); addTalkId(SETTLEN); addKillId(FLAME_SCORPION, FLAME_GOLEM, FLAME_SCARAB, SEAL_TOMBSTONE); + addCreatureSeeId(DETON); registerQuestItems(FLAME_FLOWER); - setCreatureSeeId(this::onCreatureSee, DETON); } @Override @@ -115,9 +115,10 @@ public class Q00833_DevilsTreasureTauti extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final PlayerInstance player = event.getSeen().getActingPlayer(); + final PlayerInstance player = creature.getActingPlayer(); if (player != null) { final QuestState qs = getQuestState(player, true); @@ -127,6 +128,7 @@ public class Q00833_DevilsTreasureTauti extends Quest qs.startQuest(); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java index bebeea1946..8ae58bb610 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/dist/game/data/scripts/quests/Q00835_PitiableMelisa/Q00835_PitiableMelisa.java @@ -19,9 +19,9 @@ package quests.Q00835_PitiableMelisa; import org.l2jmobius.Config; import org.l2jmobius.gameserver.enums.Movie; import org.l2jmobius.gameserver.enums.QuestType; +import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -56,8 +56,8 @@ public class Q00835_PitiableMelisa extends Quest addStartNpc(KANNA); addTalkId(SETTLEN); addKillId(MONSTERS); + addCreatureSeeId(KANNA); registerQuestItems(ICE_CRYSTAL_SHARD); - setCreatureSeeId(this::onCreatureSee, KANNA); } @Override @@ -119,9 +119,10 @@ public class Q00835_PitiableMelisa extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final PlayerInstance player = event.getSeen().getActingPlayer(); + final PlayerInstance player = creature.getActingPlayer(); if (player != null) { final QuestState qs = getQuestState(player, true); @@ -131,6 +132,7 @@ public class Q00835_PitiableMelisa extends Quest qs.startQuest(); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/quest/Quest.java b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/quest/Quest.java index e3092a5a5f..00e8c37968 100644 --- a/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/quest/Quest.java +++ b/L2J_Mobius_9.0_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/quest/Quest.java @@ -828,6 +828,36 @@ public class Quest extends AbstractScript implements IIdentifiable showResult(player, res); } + /** + * @param npc the NPC that sees the creature + * @param creature the creature seen by the NPC + */ + public void notifyCreatureSee(Npc npc, Creature creature) + { + PlayerInstance player = null; + if (creature.isPlayer()) + { + player = creature.getActingPlayer(); + } + String res = null; + try + { + res = onCreatureSee(npc, creature); + } + catch (Exception e) + { + if (player != null) + { + showError(player, e); + } + return; + } + if (player != null) + { + showResult(player, res); + } + } + /** * @param eventName - name of event * @param sender - NPC, who sent event @@ -1292,6 +1322,17 @@ public class Quest extends AbstractScript implements IIdentifiable return null; } + /** + * This function is called whenever an NPC "sees" a creature. + * @param npc the NPC who sees the creature + * @param creature the creature seen by the NPC + * @return + */ + public String onCreatureSee(Npc npc, Creature creature) + { + return null; + } + /** * This function is called whenever a player enters the game. * @param player this parameter contains a reference to the exact instance of the player who is entering to the world. @@ -2069,6 +2110,22 @@ public class Quest extends AbstractScript implements IIdentifiable setAttackableAggroRangeEnterId(event -> notifyAggroRangeEnter(event.getNpc(), event.getActiveChar(), event.isSummon()), npcIds); } + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(int... npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(Collection npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + /** * Register onEnterZone trigger for zone * @param zoneId the ID of the zone to register diff --git a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java index bab171ae84..1f78929430 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java +++ b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import ai.AbstractNpcAI; @@ -80,7 +79,7 @@ public class Rooney extends AbstractNpcAI private Rooney() { - setCreatureSeeId(this::onCreatureSee, ROONEY); + addCreatureSeeId(ROONEY); addSpawn(ROONEY, getRandomEntry(LOCATIONS), false, 0); } @@ -125,19 +124,16 @@ public class Rooney extends AbstractNpcAI return null; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); - startQuestTimer("teleport", 60000, npc, null); - npc.setScriptValue(1); - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); + startQuestTimer("teleport", 60000, npc, null); + npc.setScriptValue(1); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java index 309058a2b6..848c886a84 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java +++ b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -116,8 +115,8 @@ public class PrimevalIsle extends AbstractNpcAI addAttackId(TREX); addAttackId(MONSTERS); addKillId(EGG, SAILREN, DEINO, ORNIT); - setCreatureSeeId(this::onCreatureSee, TREX); - setCreatureSeeId(this::onCreatureSee, MONSTERS); + addCreatureSeeId(TREX); + addCreatureSeeId(MONSTERS); } @Override @@ -243,10 +242,9 @@ public class PrimevalIsle extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (CommonUtil.contains(MONSTERS, npc.getId())) { if (creature.isPlayer()) @@ -300,6 +298,7 @@ public class PrimevalIsle extends AbstractNpcAI npc.setRunning(); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java index 3d6de70360..f28969e0c1 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java +++ b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java @@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.network.NpcStringId; @@ -66,8 +65,8 @@ public class SilentValley extends AbstractNpcAI addEventReceivedId(GUARD1, GUARD2); addKillId(MOBS); addSpawnId(CHEST, GUARD2); - setCreatureSeeId(this::onCreatureSee, GUARD1, GUARD2); - setCreatureSeeId(this::onCreatureSee, MOBS); + addCreatureSeeId(GUARD1, GUARD2); + addCreatureSeeId(MOBS); } @Override @@ -154,12 +153,11 @@ public class SilentValley extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayable()) { - final Npc npc = (Npc) event.getCreature(); final PlayerInstance player = (creature.isSummon()) ? ((Summon) creature).getOwner() : creature.getActingPlayer(); if ((npc.getId() == GUARD1) || (npc.getId() == GUARD2)) { @@ -172,6 +170,7 @@ public class SilentValley extends AbstractNpcAI addAttackDesire(npc, player); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/bosses/Baium/Baium.java b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/bosses/Baium/Baium.java index b833013a2c..cc4a2634a1 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/bosses/Baium/Baium.java +++ b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/bosses/Baium/Baium.java @@ -33,7 +33,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.variables.NpcVariables; @@ -110,7 +109,7 @@ public class Baium extends AbstractNpcAI addAttackId(BAIUM, ARCHANGEL); addKillId(BAIUM); addSpellFinishedId(BAIUM); - setCreatureSeeId(this::onCreatureSee, BAIUM); + addCreatureSeeId(BAIUM); final StatSet info = GrandBossManager.getInstance().getStatSet(BAIUM); final double curr_hp = info.getDouble("currentHP"); @@ -560,13 +559,12 @@ public class Baium extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (!zone.isInsideZone(creature) || (creature.isNpc() && (creature.getId() == BAIUM_STONE))) { - return; + return super.onCreatureSee(npc, creature); } if (creature.isInCategory(CategoryType.CLERIC_GROUP)) @@ -593,6 +591,8 @@ public class Baium extends AbstractNpcAI refreshAiParams(creature, npc, 10000, 1000); } manageSkills(npc); + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/others/Dorian/Dorian.java b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/others/Dorian/Dorian.java index ac76507742..9c185a9caa 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/others/Dorian/Dorian.java +++ b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/others/Dorian/Dorian.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; @@ -41,12 +40,12 @@ public class Dorian extends AbstractNpcAI private Dorian() { - setCreatureSeeId(this::onCreatureSee, DORIAN); + addCreatureSeeId(DORIAN); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance pl = creature.getActingPlayer(); @@ -56,10 +55,10 @@ public class Dorian extends AbstractNpcAI takeItems(pl, SILVER_CROSS, -1); giveItems(pl, BROKEN_SILVER_CROSS, 1); qs.setCond(4, true); - final Npc npc = (Npc) event.getCreature(); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.THAT_SIGN); } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/others/Gordon.java b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/others/Gordon.java index 787e79d237..6c4881bd5e 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/others/Gordon.java +++ b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/ai/others/Gordon.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import ai.AbstractNpcAI; @@ -35,17 +34,17 @@ public class Gordon extends AbstractNpcAI private Gordon() { addSpawnId(GORDON); - setCreatureSeeId(this::onCreatureSee, GORDON); + addCreatureSeeId(GORDON); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer() && ((PlayerInstance) creature).isCursedWeaponEquipped()) { - final Npc npc = (Npc) event.getCreature(); addAttackDesire(npc, creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java index c324a245aa..5991b5641a 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java +++ b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java @@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.InstanceWorld; import org.l2jmobius.gameserver.model.zone.ZoneType; import org.l2jmobius.gameserver.network.NpcStringId; @@ -60,7 +59,7 @@ public class PailakaSongOfIceAndFire extends AbstractInstance addExitZoneId(ZONE); addSpawnId(BLOOM); addKillId(BLOOM); - setCreatureSeeId(this::onCreatureSee, GARGOS); + addCreatureSeeId(GARGOS); } @Override @@ -179,18 +178,15 @@ public class PailakaSongOfIceAndFire extends AbstractInstance return super.onExitZone(creature, zone); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - npc.setScriptValue(1); - startQuestTimer("GARGOS_LAUGH", 1000, npc, creature.getActingPlayer()); - } + npc.setScriptValue(1); + startQuestTimer("GARGOS_LAUGH", 1000, npc, creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/quests/Q00021_HiddenTruth/Q00021_HiddenTruth.java b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/quests/Q00021_HiddenTruth/Q00021_HiddenTruth.java index 893d9cd6ba..1cb29df870 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/quests/Q00021_HiddenTruth/Q00021_HiddenTruth.java +++ b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/quests/Q00021_HiddenTruth/Q00021_HiddenTruth.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -69,7 +68,7 @@ public class Q00021_HiddenTruth extends Quest addStartNpc(MYSTERIOUS_WIZARD); addTalkId(MYSTERIOUS_WIZARD, TOMBSTONE, GHOST_OF_VON_HELLMAN, GHOST_OF_VON_HELLMANS_PAGE, BROKEN_BOOKSHELF, AGRIPEL, BENEDICT, DOMINIC, INNOCENTIN); addRouteFinishedId(GHOST_OF_VON_HELLMANS_PAGE); - setCreatureSeeId(this::onCreatureSee, GHOST_OF_VON_HELLMANS_PAGE); + addCreatureSeeId(GHOST_OF_VON_HELLMANS_PAGE); registerQuestItems(CROSS_OF_EINHASAD); } @@ -430,13 +429,14 @@ public class Q00021_HiddenTruth extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { playSound((PlayerInstance) creature, QuestSound.HORROR_01); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java index 3d3c06e08d..b42c9d571e 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java +++ b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java @@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.itemcontainer.Inventory; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -62,7 +61,7 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest addStartNpc(YUMI); addTalkId(YUMI, WENDY, BOX, STONES, NEWYEAR); addKillId(GUARDIAN); - setCreatureSeeId(this::onCreatureSee, STONES); + addCreatureSeeId(STONES); registerQuestItems(STARSTONE, STARSTONE2, DETCTOR, DETCTOR2, LETTER); } @@ -409,9 +408,9 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest return super.onKill(npc, player, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final QuestState qs = getQuestState(creature.getActingPlayer(), false); @@ -423,6 +422,7 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest showOnScreenMsg(creature.getActingPlayer(), NpcStringId.THE_RADIO_SIGNAL_DETECTOR_IS_RESPONDING_A_SUSPICIOUS_PILE_OF_STONES_CATCHES_YOUR_EYE, 2, 4500); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/quests/Q00144_PailakaInjuredDragon/Q00144_PailakaInjuredDragon.java b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/quests/Q00144_PailakaInjuredDragon/Q00144_PailakaInjuredDragon.java index 033cb43913..b8a355de88 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/quests/Q00144_PailakaInjuredDragon/Q00144_PailakaInjuredDragon.java +++ b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/quests/Q00144_PailakaInjuredDragon/Q00144_PailakaInjuredDragon.java @@ -36,7 +36,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.ItemChanceHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.instancezone.InstanceWorld; @@ -208,7 +207,7 @@ public class Q00144_PailakaInjuredDragon extends Quest addKillId(OTHER_MONSTERS); addKillId(LATANA); addEnterZoneId(NOEXIT_ZONES.keySet()); - setCreatureSeeId(this::onCreatureSee, LATANA); + addCreatureSeeId(LATANA); registerQuestItems(ITEMS); } @@ -834,22 +833,22 @@ public class Q00144_PailakaInjuredDragon extends Quest } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); if (npc.isScriptValue(0)) { final QuestState qs = getQuestState(creature.getActingPlayer(), false); if ((qs == null) || (qs.getState() != State.STARTED) || creature.isSummon()) { - return; + return super.onCreatureSee(npc, creature); } startQuestTimer("LATANA_INTRO_CAMERA_START", 600, npc, creature.getActingPlayer()); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java index a3cf9e9db3..295e690344 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java +++ b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -54,7 +53,7 @@ public class Q00275_DarkWingedSpies extends Quest addStartNpc(NERUGA_CHIEF_TANTUS); addTalkId(NERUGA_CHIEF_TANTUS); addKillId(DARKWING_BAT, VARANGKAS_TRACKER); - setCreatureSeeId(this::onCreatureSee, VARANGKAS_TRACKER); + addCreatureSeeId(VARANGKAS_TRACKER); registerQuestItems(DARKWING_BAT_FANG, VARANGKAS_PARASITE); } @@ -110,16 +109,16 @@ public class Q00275_DarkWingedSpies extends Quest return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.setRunning(); ((Attackable) npc).addDamageHate(creature, 0, 1); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/quest/Quest.java b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/quest/Quest.java index cb02fb5427..00126db0df 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/quest/Quest.java +++ b/L2J_Mobius_CT_2.4_Epilogue/java/org/l2jmobius/gameserver/model/quest/Quest.java @@ -764,6 +764,36 @@ public class Quest extends AbstractScript implements IIdentifiable showResult(player, res); } + /** + * @param npc the NPC that sees the creature + * @param creature the creature seen by the NPC + */ + public void notifyCreatureSee(Npc npc, Creature creature) + { + PlayerInstance player = null; + if (creature.isPlayer()) + { + player = creature.getActingPlayer(); + } + String res = null; + try + { + res = onCreatureSee(npc, creature); + } + catch (Exception e) + { + if (player != null) + { + showError(player, e); + } + return; + } + if (player != null) + { + showResult(player, res); + } + } + /** * @param eventName - name of event * @param sender - NPC, who sent event @@ -1189,6 +1219,17 @@ public class Quest extends AbstractScript implements IIdentifiable return null; } + /** + * This function is called whenever an NPC "sees" a creature. + * @param npc the NPC who sees the creature + * @param creature the creature seen by the NPC + * @return + */ + public String onCreatureSee(Npc npc, Creature creature) + { + return null; + } + /** * This function is called whenever a player enters the game. * @param player this parameter contains a reference to the exact instance of the player who is entering to the world. @@ -1840,6 +1881,22 @@ public class Quest extends AbstractScript implements IIdentifiable setAttackableAggroRangeEnterId(event -> notifyAggroRangeEnter(event.getNpc(), event.getActiveChar(), event.isSummon()), npcIds); } + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(int... npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(Collection npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + /** * Register onEnterZone trigger for zone * @param zoneId the ID of the zone to register diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java index bab171ae84..1f78929430 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/ForgeOfTheGods/Rooney.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.network.NpcStringId; import ai.AbstractNpcAI; @@ -80,7 +79,7 @@ public class Rooney extends AbstractNpcAI private Rooney() { - setCreatureSeeId(this::onCreatureSee, ROONEY); + addCreatureSeeId(ROONEY); addSpawn(ROONEY, getRandomEntry(LOCATIONS), false, 0); } @@ -125,19 +124,16 @@ public class Rooney extends AbstractNpcAI return null; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); - startQuestTimer("teleport", 60000, npc, null); - npc.setScriptValue(1); - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.WELCOME); + startQuestTimer("teleport", 60000, npc, null); + npc.setScriptValue(1); } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java index 309058a2b6..848c886a84 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -116,8 +115,8 @@ public class PrimevalIsle extends AbstractNpcAI addAttackId(TREX); addAttackId(MONSTERS); addKillId(EGG, SAILREN, DEINO, ORNIT); - setCreatureSeeId(this::onCreatureSee, TREX); - setCreatureSeeId(this::onCreatureSee, MONSTERS); + addCreatureSeeId(TREX); + addCreatureSeeId(MONSTERS); } @Override @@ -243,10 +242,9 @@ public class PrimevalIsle extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (CommonUtil.contains(MONSTERS, npc.getId())) { if (creature.isPlayer()) @@ -300,6 +298,7 @@ public class PrimevalIsle extends AbstractNpcAI npc.setRunning(); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java index 3d6de70360..f28969e0c1 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/areas/SilentValley/SilentValley.java @@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.network.NpcStringId; @@ -66,8 +65,8 @@ public class SilentValley extends AbstractNpcAI addEventReceivedId(GUARD1, GUARD2); addKillId(MOBS); addSpawnId(CHEST, GUARD2); - setCreatureSeeId(this::onCreatureSee, GUARD1, GUARD2); - setCreatureSeeId(this::onCreatureSee, MOBS); + addCreatureSeeId(GUARD1, GUARD2); + addCreatureSeeId(MOBS); } @Override @@ -154,12 +153,11 @@ public class SilentValley extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayable()) { - final Npc npc = (Npc) event.getCreature(); final PlayerInstance player = (creature.isSummon()) ? ((Summon) creature).getOwner() : creature.getActingPlayer(); if ((npc.getId() == GUARD1) || (npc.getId() == GUARD2)) { @@ -172,6 +170,7 @@ public class SilentValley extends AbstractNpcAI addAttackDesire(npc, player); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/bosses/Baium/Baium.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/bosses/Baium/Baium.java index b833013a2c..cc4a2634a1 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/bosses/Baium/Baium.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/bosses/Baium/Baium.java @@ -33,7 +33,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.variables.NpcVariables; @@ -110,7 +109,7 @@ public class Baium extends AbstractNpcAI addAttackId(BAIUM, ARCHANGEL); addKillId(BAIUM); addSpellFinishedId(BAIUM); - setCreatureSeeId(this::onCreatureSee, BAIUM); + addCreatureSeeId(BAIUM); final StatSet info = GrandBossManager.getInstance().getStatSet(BAIUM); final double curr_hp = info.getDouble("currentHP"); @@ -560,13 +559,12 @@ public class Baium extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (!zone.isInsideZone(creature) || (creature.isNpc() && (creature.getId() == BAIUM_STONE))) { - return; + return super.onCreatureSee(npc, creature); } if (creature.isInCategory(CategoryType.CLERIC_GROUP)) @@ -593,6 +591,8 @@ public class Baium extends AbstractNpcAI refreshAiParams(creature, npc, 10000, 1000); } manageSkills(npc); + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/BlackdaggerWing.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/BlackdaggerWing.java index 3c6ae79fc6..642893fba5 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/BlackdaggerWing.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/BlackdaggerWing.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.util.Util; @@ -53,7 +52,7 @@ public class BlackdaggerWing extends AbstractNpcAI { addAttackId(BLACKDAGGER_WING); addSpellFinishedId(BLACKDAGGER_WING); - setCreatureSeeId(this::onCreatureSee, BLACKDAGGER_WING); + addCreatureSeeId(BLACKDAGGER_WING); } @Override @@ -72,18 +71,18 @@ public class BlackdaggerWing extends AbstractNpcAI return super.onAttack(npc, attacker, damage, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); if (npc.getVariables().getBoolean(MID_HP_FLAG, false)) { - final Creature creature = event.getSeen(); final Creature mostHated = ((Attackable) npc).getMostHated(); if ((mostHated != null) && mostHated.isPlayer() && (mostHated != creature) && (getRandom(5) < 1)) { addSkillCastDesire(npc, creature, RANGE_MAGIC_ATTACK, 99999); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/Dorian/Dorian.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/Dorian/Dorian.java index ac76507742..9c185a9caa 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/Dorian/Dorian.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/Dorian/Dorian.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.enums.ChatType; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.network.NpcStringId; @@ -41,12 +40,12 @@ public class Dorian extends AbstractNpcAI private Dorian() { - setCreatureSeeId(this::onCreatureSee, DORIAN); + addCreatureSeeId(DORIAN); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final PlayerInstance pl = creature.getActingPlayer(); @@ -56,10 +55,10 @@ public class Dorian extends AbstractNpcAI takeItems(pl, SILVER_CROSS, -1); giveItems(pl, BROKEN_SILVER_CROSS, 1); qs.setCond(4, true); - final Npc npc = (Npc) event.getCreature(); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.THAT_SIGN); } } + return super.onCreatureSee(npc, creature); } public static void main(String[] args) diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/Gordon.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/Gordon.java index 787e79d237..6c4881bd5e 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/Gordon.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/Gordon.java @@ -20,7 +20,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import ai.AbstractNpcAI; @@ -35,17 +34,17 @@ public class Gordon extends AbstractNpcAI private Gordon() { addSpawnId(GORDON); - setCreatureSeeId(this::onCreatureSee, GORDON); + addCreatureSeeId(GORDON); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer() && ((PlayerInstance) creature).isCursedWeaponEquipped()) { - final Npc npc = (Npc) event.getCreature(); addAttackDesire(npc, creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/ShadowSummoner.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/ShadowSummoner.java index 80f0eadf22..07938e44f5 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/ShadowSummoner.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/ai/others/ShadowSummoner.java @@ -21,7 +21,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.util.Util; @@ -55,7 +54,7 @@ public class ShadowSummoner extends AbstractNpcAI public ShadowSummoner() { addAttackId(SHADOW_SUMMONER); - setCreatureSeeId(this::onCreatureSee, SHADOW_SUMMONER); + addCreatureSeeId(SHADOW_SUMMONER); } @Override @@ -76,15 +75,15 @@ public class ShadowSummoner extends AbstractNpcAI return super.onAttack(npc, attacker, damage, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (!creature.isPlayer() && (creature.getId() == DEMONS_BANQUET_2)) { - final Npc npc = (Npc) event.getCreature(); ((Attackable) npc).clearAggroList(); addAttackDesire(npc, creature, 99999); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/IceQueensCastle/IceQueensCastle.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/IceQueensCastle/IceQueensCastle.java index 3a74cc7e7d..00d2bfa3a0 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/IceQueensCastle/IceQueensCastle.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/IceQueensCastle/IceQueensCastle.java @@ -26,7 +26,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.instancezone.InstanceWorld; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -67,7 +66,7 @@ public class IceQueensCastle extends AbstractInstance addTalkId(JINIA); addSpawnId(FREYA); addSpellFinishedId(FREYA); - setCreatureSeeId(this::onCreatureSee, BATTALION_LEADER, LEGIONNAIRE, MERCENARY_ARCHER); + addCreatureSeeId(BATTALION_LEADER, LEGIONNAIRE, MERCENARY_ARCHER); } @Override @@ -133,10 +132,9 @@ public class IceQueensCastle extends AbstractInstance return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (creature.isPlayer() && npc.isScriptValue(0)) { World.getInstance().forEachVisibleObject(npc, Creature.class, character -> @@ -152,6 +150,7 @@ public class IceQueensCastle extends AbstractInstance }); npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.S1_MAY_THE_PROTECTION_OF_THE_GODS_BE_UPON_YOU, creature.getName()); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java index c324a245aa..5991b5641a 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/instances/PailakaSongOfIceAndFire/PailakaSongOfIceAndFire.java @@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.instancezone.InstanceWorld; import org.l2jmobius.gameserver.model.zone.ZoneType; import org.l2jmobius.gameserver.network.NpcStringId; @@ -60,7 +59,7 @@ public class PailakaSongOfIceAndFire extends AbstractInstance addExitZoneId(ZONE); addSpawnId(BLOOM); addKillId(BLOOM); - setCreatureSeeId(this::onCreatureSee, GARGOS); + addCreatureSeeId(GARGOS); } @Override @@ -179,18 +178,15 @@ public class PailakaSongOfIceAndFire extends AbstractInstance return super.onExitZone(creature, zone); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - npc.setScriptValue(1); - startQuestTimer("GARGOS_LAUGH", 1000, npc, creature.getActingPlayer()); - } + npc.setScriptValue(1); + startQuestTimer("GARGOS_LAUGH", 1000, npc, creature.getActingPlayer()); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/quests/Q00021_HiddenTruth/Q00021_HiddenTruth.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/quests/Q00021_HiddenTruth/Q00021_HiddenTruth.java index 893d9cd6ba..1cb29df870 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/quests/Q00021_HiddenTruth/Q00021_HiddenTruth.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/quests/Q00021_HiddenTruth/Q00021_HiddenTruth.java @@ -24,7 +24,6 @@ import org.l2jmobius.gameserver.model.World; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -69,7 +68,7 @@ public class Q00021_HiddenTruth extends Quest addStartNpc(MYSTERIOUS_WIZARD); addTalkId(MYSTERIOUS_WIZARD, TOMBSTONE, GHOST_OF_VON_HELLMAN, GHOST_OF_VON_HELLMANS_PAGE, BROKEN_BOOKSHELF, AGRIPEL, BENEDICT, DOMINIC, INNOCENTIN); addRouteFinishedId(GHOST_OF_VON_HELLMANS_PAGE); - setCreatureSeeId(this::onCreatureSee, GHOST_OF_VON_HELLMANS_PAGE); + addCreatureSeeId(GHOST_OF_VON_HELLMANS_PAGE); registerQuestItems(CROSS_OF_EINHASAD); } @@ -430,13 +429,14 @@ public class Q00021_HiddenTruth extends Quest return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { playSound((PlayerInstance) creature, QuestSound.HORROR_01); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java index 3d3c06e08d..b42c9d571e 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/quests/Q00114_ResurrectionOfAnOldManager/Q00114_ResurrectionOfAnOldManager.java @@ -22,7 +22,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.itemcontainer.Inventory; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -62,7 +61,7 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest addStartNpc(YUMI); addTalkId(YUMI, WENDY, BOX, STONES, NEWYEAR); addKillId(GUARDIAN); - setCreatureSeeId(this::onCreatureSee, STONES); + addCreatureSeeId(STONES); registerQuestItems(STARSTONE, STARSTONE2, DETCTOR, DETCTOR2, LETTER); } @@ -409,9 +408,9 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest return super.onKill(npc, player, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { final QuestState qs = getQuestState(creature.getActingPlayer(), false); @@ -423,6 +422,7 @@ public class Q00114_ResurrectionOfAnOldManager extends Quest showOnScreenMsg(creature.getActingPlayer(), NpcStringId.THE_RADIO_SIGNAL_DETECTOR_IS_RESPONDING_A_SUSPICIOUS_PILE_OF_STONES_CATCHES_YOUR_EYE, 2, 4500); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/quests/Q00144_PailakaInjuredDragon/Q00144_PailakaInjuredDragon.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/quests/Q00144_PailakaInjuredDragon/Q00144_PailakaInjuredDragon.java index 033cb43913..b8a355de88 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/quests/Q00144_PailakaInjuredDragon/Q00144_PailakaInjuredDragon.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/quests/Q00144_PailakaInjuredDragon/Q00144_PailakaInjuredDragon.java @@ -36,7 +36,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.ItemChanceHolder; import org.l2jmobius.gameserver.model.instancezone.Instance; import org.l2jmobius.gameserver.model.instancezone.InstanceWorld; @@ -208,7 +207,7 @@ public class Q00144_PailakaInjuredDragon extends Quest addKillId(OTHER_MONSTERS); addKillId(LATANA); addEnterZoneId(NOEXIT_ZONES.keySet()); - setCreatureSeeId(this::onCreatureSee, LATANA); + addCreatureSeeId(LATANA); registerQuestItems(ITEMS); } @@ -834,22 +833,22 @@ public class Q00144_PailakaInjuredDragon extends Quest } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); if (npc.isScriptValue(0)) { final QuestState qs = getQuestState(creature.getActingPlayer(), false); if ((qs == null) || (qs.getState() != State.STARTED) || creature.isSummon()) { - return; + return super.onCreatureSee(npc, creature); } startQuestTimer("LATANA_INTRO_CAMERA_START", 600, npc, creature.getActingPlayer()); } } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java index a3cf9e9db3..295e690344 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -54,7 +53,7 @@ public class Q00275_DarkWingedSpies extends Quest addStartNpc(NERUGA_CHIEF_TANTUS); addTalkId(NERUGA_CHIEF_TANTUS); addKillId(DARKWING_BAT, VARANGKAS_TRACKER); - setCreatureSeeId(this::onCreatureSee, VARANGKAS_TRACKER); + addCreatureSeeId(VARANGKAS_TRACKER); registerQuestItems(DARKWING_BAT_FANG, VARANGKAS_PARASITE); } @@ -110,16 +109,16 @@ public class Q00275_DarkWingedSpies extends Quest return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.setRunning(); ((Attackable) npc).addDamageHate(creature, 0, 1); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java index dd570f30ba..ccbcb95bf6 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/quests/Q00454_CompletelyLost/Q00454_CompletelyLost.java @@ -31,7 +31,6 @@ 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.OnCreatureSee; import org.l2jmobius.gameserver.model.events.returns.TerminateReturn; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; @@ -61,7 +60,7 @@ public class Q00454_CompletelyLost extends Quest addTalkId(INJURED_SOLDIER, ERMIAN); addMoveFinishedId(INJURED_SOLDIER); addEventReceivedId(INJURED_SOLDIER); - setCreatureSeeId(this::onCreatureSee, INJURED_SOLDIER); + addCreatureSeeId(INJURED_SOLDIER); } @Override @@ -399,17 +398,14 @@ public class Q00454_CompletelyLost extends Quest } } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); - if (creature.isPlayer()) + if (creature.isPlayer() && npc.isScriptValue(0)) { - final Npc npc = (Npc) event.getCreature(); - if (npc.isScriptValue(0)) - { - addAttackDesire(npc, creature.getActingPlayer(), 10); - } + addAttackDesire(npc, creature.getActingPlayer(), 10); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/quest/Quest.java b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/quest/Quest.java index 57dcb86173..71bacd693d 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/quest/Quest.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/org/l2jmobius/gameserver/model/quest/Quest.java @@ -766,6 +766,36 @@ public class Quest extends AbstractScript implements IIdentifiable showResult(player, res); } + /** + * @param npc the NPC that sees the creature + * @param creature the creature seen by the NPC + */ + public void notifyCreatureSee(Npc npc, Creature creature) + { + PlayerInstance player = null; + if (creature.isPlayer()) + { + player = creature.getActingPlayer(); + } + String res = null; + try + { + res = onCreatureSee(npc, creature); + } + catch (Exception e) + { + if (player != null) + { + showError(player, e); + } + return; + } + if (player != null) + { + showResult(player, res); + } + } + /** * @param eventName - name of event * @param sender - NPC, who sent event @@ -1208,6 +1238,17 @@ public class Quest extends AbstractScript implements IIdentifiable return null; } + /** + * This function is called whenever an NPC "sees" a creature. + * @param npc the NPC who sees the creature + * @param creature the creature seen by the NPC + * @return + */ + public String onCreatureSee(Npc npc, Creature creature) + { + return null; + } + /** * This function is called whenever a player enters the game. * @param player this parameter contains a reference to the exact instance of the player who is entering to the world. @@ -1878,6 +1919,22 @@ public class Quest extends AbstractScript implements IIdentifiable setAttackableAggroRangeEnterId(event -> notifyAggroRangeEnter(event.getNpc(), event.getActiveChar(), event.isSummon()), npcIds); } + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(int... npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(Collection npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + /** * Register onEnterZone trigger for zone * @param zoneId the ID of the zone to register diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/ai/bosses/Baium/Baium.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/ai/bosses/Baium/Baium.java index 46e9dbb113..e9c905b949 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/ai/bosses/Baium/Baium.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/ai/bosses/Baium/Baium.java @@ -34,7 +34,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -112,7 +111,7 @@ public class Baium extends AbstractNpcAI addAttackId(BAIUM, ARCHANGEL); addKillId(BAIUM); addSpellFinishedId(BAIUM); - setCreatureSeeId(this::onCreatureSee, BAIUM); + addCreatureSeeId(BAIUM); final StatSet info = GrandBossManager.getInstance().getStatSet(BAIUM); @@ -561,12 +560,12 @@ public class Baium extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (!zone.isInsideZone(creature) || (creature.isNpc() && (creature.getId() == BAIUM_STONE))) { - return; + return super.onCreatureSee(npc, creature); } if (creature.isPlayer() && !creature.isDead() && (_standbyPlayer == null)) @@ -574,7 +573,6 @@ public class Baium extends AbstractNpcAI _standbyPlayer = (PlayerInstance) creature; } - final Npc npc = (Npc) event.getCreature(); if (creature.isInCategory(CategoryType.CLERIC_GROUP)) { if (npc.getCurrentHp() < (npc.getMaxHp() * 0.25)) @@ -599,6 +597,8 @@ public class Baium extends AbstractNpcAI refreshAiParams(creature, npc, 10000, 1000); } manageSkills(npc); + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java index 420edea5b0..2881dbcf68 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MerchantInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.clan.ClanPrivilege; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.residences.ClanHall; import org.l2jmobius.gameserver.model.residences.ResidenceFunction; @@ -95,7 +94,7 @@ public class ClanHallManager extends AbstractNpcAI addStartNpc(CLANHALL_MANAGERS); addTalkId(CLANHALL_MANAGERS); addFirstTalkId(CLANHALL_MANAGERS); - setCreatureSeeId(this::onCreatureSee, CLANHALL_MANAGERS); + addCreatureSeeId(CLANHALL_MANAGERS); } @Override @@ -477,18 +476,18 @@ public class ClanHallManager extends AbstractNpcAI return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final ClanHall clanHall = npc.getClanHall(); if (clanHall != null) { creature.getActingPlayer().sendPacket(new AgitDecoInfo(clanHall)); } } + return super.onCreatureSee(npc, creature); } private void updateVisualEffects(ClanHall clanHall, Npc npc) diff --git a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java index bbe80fd15b..bc0205404f 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java +++ b/L2J_Mobius_Classic_2.0_Saviors/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -54,7 +53,7 @@ public class Q00275_DarkWingedSpies extends Quest addStartNpc(NERUGA_CHIEF_TANTUS); addTalkId(NERUGA_CHIEF_TANTUS); addKillId(DARKWING_BAT, VARANGKAS_TRACKER); - setCreatureSeeId(this::onCreatureSee, VARANGKAS_TRACKER); + addCreatureSeeId(VARANGKAS_TRACKER); registerQuestItems(DARKWING_BAT_FANG, VARANGKAS_PARASITE); } @@ -110,16 +109,16 @@ public class Q00275_DarkWingedSpies extends Quest return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.setRunning(); ((Attackable) npc).addDamageHate(creature, 0, 1); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/quest/Quest.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/quest/Quest.java index 10f4d12c9d..3ad02d7806 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/quest/Quest.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/quest/Quest.java @@ -816,6 +816,36 @@ public class Quest extends AbstractScript implements IIdentifiable showResult(player, res); } + /** + * @param npc the NPC that sees the creature + * @param creature the creature seen by the NPC + */ + public void notifyCreatureSee(Npc npc, Creature creature) + { + PlayerInstance player = null; + if (creature.isPlayer()) + { + player = creature.getActingPlayer(); + } + String res = null; + try + { + res = onCreatureSee(npc, creature); + } + catch (Exception e) + { + if (player != null) + { + showError(player, e); + } + return; + } + if (player != null) + { + showResult(player, res); + } + } + /** * @param eventName - name of event * @param sender - NPC, who sent event @@ -1264,6 +1294,17 @@ public class Quest extends AbstractScript implements IIdentifiable return null; } + /** + * This function is called whenever an NPC "sees" a creature. + * @param npc the NPC who sees the creature + * @param creature the creature seen by the NPC + * @return + */ + public String onCreatureSee(Npc npc, Creature creature) + { + return null; + } + /** * This function is called whenever a player enters the game. * @param player this parameter contains a reference to the exact instance of the player who is entering to the world. @@ -2031,6 +2072,22 @@ public class Quest extends AbstractScript implements IIdentifiable setAttackableAggroRangeEnterId(event -> notifyAggroRangeEnter(event.getNpc(), event.getActiveChar(), event.isSummon()), npcIds); } + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(int... npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(Collection npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + /** * Register onEnterZone trigger for zone * @param zoneId the ID of the zone to register diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/ai/bosses/Baium/Baium.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/ai/bosses/Baium/Baium.java index 46e9dbb113..e9c905b949 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/ai/bosses/Baium/Baium.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/ai/bosses/Baium/Baium.java @@ -34,7 +34,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -112,7 +111,7 @@ public class Baium extends AbstractNpcAI addAttackId(BAIUM, ARCHANGEL); addKillId(BAIUM); addSpellFinishedId(BAIUM); - setCreatureSeeId(this::onCreatureSee, BAIUM); + addCreatureSeeId(BAIUM); final StatSet info = GrandBossManager.getInstance().getStatSet(BAIUM); @@ -561,12 +560,12 @@ public class Baium extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (!zone.isInsideZone(creature) || (creature.isNpc() && (creature.getId() == BAIUM_STONE))) { - return; + return super.onCreatureSee(npc, creature); } if (creature.isPlayer() && !creature.isDead() && (_standbyPlayer == null)) @@ -574,7 +573,6 @@ public class Baium extends AbstractNpcAI _standbyPlayer = (PlayerInstance) creature; } - final Npc npc = (Npc) event.getCreature(); if (creature.isInCategory(CategoryType.CLERIC_GROUP)) { if (npc.getCurrentHp() < (npc.getMaxHp() * 0.25)) @@ -599,6 +597,8 @@ public class Baium extends AbstractNpcAI refreshAiParams(creature, npc, 10000, 1000); } manageSkills(npc); + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java index 420edea5b0..2881dbcf68 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MerchantInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.clan.ClanPrivilege; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.residences.ClanHall; import org.l2jmobius.gameserver.model.residences.ResidenceFunction; @@ -95,7 +94,7 @@ public class ClanHallManager extends AbstractNpcAI addStartNpc(CLANHALL_MANAGERS); addTalkId(CLANHALL_MANAGERS); addFirstTalkId(CLANHALL_MANAGERS); - setCreatureSeeId(this::onCreatureSee, CLANHALL_MANAGERS); + addCreatureSeeId(CLANHALL_MANAGERS); } @Override @@ -477,18 +476,18 @@ public class ClanHallManager extends AbstractNpcAI return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final ClanHall clanHall = npc.getClanHall(); if (clanHall != null) { creature.getActingPlayer().sendPacket(new AgitDecoInfo(clanHall)); } } + return super.onCreatureSee(npc, creature); } private void updateVisualEffects(ClanHall clanHall, Npc npc) diff --git a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java index bbe80fd15b..bc0205404f 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java +++ b/L2J_Mobius_Classic_2.1_Zaken/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -54,7 +53,7 @@ public class Q00275_DarkWingedSpies extends Quest addStartNpc(NERUGA_CHIEF_TANTUS); addTalkId(NERUGA_CHIEF_TANTUS); addKillId(DARKWING_BAT, VARANGKAS_TRACKER); - setCreatureSeeId(this::onCreatureSee, VARANGKAS_TRACKER); + addCreatureSeeId(VARANGKAS_TRACKER); registerQuestItems(DARKWING_BAT_FANG, VARANGKAS_PARASITE); } @@ -110,16 +109,16 @@ public class Q00275_DarkWingedSpies extends Quest return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.setRunning(); ((Attackable) npc).addDamageHate(creature, 0, 1); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/quest/Quest.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/quest/Quest.java index 10f4d12c9d..3ad02d7806 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/quest/Quest.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/quest/Quest.java @@ -816,6 +816,36 @@ public class Quest extends AbstractScript implements IIdentifiable showResult(player, res); } + /** + * @param npc the NPC that sees the creature + * @param creature the creature seen by the NPC + */ + public void notifyCreatureSee(Npc npc, Creature creature) + { + PlayerInstance player = null; + if (creature.isPlayer()) + { + player = creature.getActingPlayer(); + } + String res = null; + try + { + res = onCreatureSee(npc, creature); + } + catch (Exception e) + { + if (player != null) + { + showError(player, e); + } + return; + } + if (player != null) + { + showResult(player, res); + } + } + /** * @param eventName - name of event * @param sender - NPC, who sent event @@ -1264,6 +1294,17 @@ public class Quest extends AbstractScript implements IIdentifiable return null; } + /** + * This function is called whenever an NPC "sees" a creature. + * @param npc the NPC who sees the creature + * @param creature the creature seen by the NPC + * @return + */ + public String onCreatureSee(Npc npc, Creature creature) + { + return null; + } + /** * This function is called whenever a player enters the game. * @param player this parameter contains a reference to the exact instance of the player who is entering to the world. @@ -2031,6 +2072,22 @@ public class Quest extends AbstractScript implements IIdentifiable setAttackableAggroRangeEnterId(event -> notifyAggroRangeEnter(event.getNpc(), event.getActiveChar(), event.isSummon()), npcIds); } + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(int... npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(Collection npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + /** * Register onEnterZone trigger for zone * @param zoneId the ID of the zone to register diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/ai/bosses/Baium/Baium.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/ai/bosses/Baium/Baium.java index 46e9dbb113..e9c905b949 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/ai/bosses/Baium/Baium.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/ai/bosses/Baium/Baium.java @@ -34,7 +34,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -112,7 +111,7 @@ public class Baium extends AbstractNpcAI addAttackId(BAIUM, ARCHANGEL); addKillId(BAIUM); addSpellFinishedId(BAIUM); - setCreatureSeeId(this::onCreatureSee, BAIUM); + addCreatureSeeId(BAIUM); final StatSet info = GrandBossManager.getInstance().getStatSet(BAIUM); @@ -561,12 +560,12 @@ public class Baium extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (!zone.isInsideZone(creature) || (creature.isNpc() && (creature.getId() == BAIUM_STONE))) { - return; + return super.onCreatureSee(npc, creature); } if (creature.isPlayer() && !creature.isDead() && (_standbyPlayer == null)) @@ -574,7 +573,6 @@ public class Baium extends AbstractNpcAI _standbyPlayer = (PlayerInstance) creature; } - final Npc npc = (Npc) event.getCreature(); if (creature.isInCategory(CategoryType.CLERIC_GROUP)) { if (npc.getCurrentHp() < (npc.getMaxHp() * 0.25)) @@ -599,6 +597,8 @@ public class Baium extends AbstractNpcAI refreshAiParams(creature, npc, 10000, 1000); } manageSkills(npc); + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java index 420edea5b0..2881dbcf68 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MerchantInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.clan.ClanPrivilege; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.residences.ClanHall; import org.l2jmobius.gameserver.model.residences.ResidenceFunction; @@ -95,7 +94,7 @@ public class ClanHallManager extends AbstractNpcAI addStartNpc(CLANHALL_MANAGERS); addTalkId(CLANHALL_MANAGERS); addFirstTalkId(CLANHALL_MANAGERS); - setCreatureSeeId(this::onCreatureSee, CLANHALL_MANAGERS); + addCreatureSeeId(CLANHALL_MANAGERS); } @Override @@ -477,18 +476,18 @@ public class ClanHallManager extends AbstractNpcAI return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final ClanHall clanHall = npc.getClanHall(); if (clanHall != null) { creature.getActingPlayer().sendPacket(new AgitDecoInfo(clanHall)); } } + return super.onCreatureSee(npc, creature); } private void updateVisualEffects(ClanHall clanHall, Npc npc) diff --git a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java index bbe80fd15b..bc0205404f 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java +++ b/L2J_Mobius_Classic_2.2_Antharas/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -54,7 +53,7 @@ public class Q00275_DarkWingedSpies extends Quest addStartNpc(NERUGA_CHIEF_TANTUS); addTalkId(NERUGA_CHIEF_TANTUS); addKillId(DARKWING_BAT, VARANGKAS_TRACKER); - setCreatureSeeId(this::onCreatureSee, VARANGKAS_TRACKER); + addCreatureSeeId(VARANGKAS_TRACKER); registerQuestItems(DARKWING_BAT_FANG, VARANGKAS_PARASITE); } @@ -110,16 +109,16 @@ public class Q00275_DarkWingedSpies extends Quest return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.setRunning(); ((Attackable) npc).addDamageHate(creature, 0, 1); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/quest/Quest.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/quest/Quest.java index 10f4d12c9d..3ad02d7806 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/quest/Quest.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/quest/Quest.java @@ -816,6 +816,36 @@ public class Quest extends AbstractScript implements IIdentifiable showResult(player, res); } + /** + * @param npc the NPC that sees the creature + * @param creature the creature seen by the NPC + */ + public void notifyCreatureSee(Npc npc, Creature creature) + { + PlayerInstance player = null; + if (creature.isPlayer()) + { + player = creature.getActingPlayer(); + } + String res = null; + try + { + res = onCreatureSee(npc, creature); + } + catch (Exception e) + { + if (player != null) + { + showError(player, e); + } + return; + } + if (player != null) + { + showResult(player, res); + } + } + /** * @param eventName - name of event * @param sender - NPC, who sent event @@ -1264,6 +1294,17 @@ public class Quest extends AbstractScript implements IIdentifiable return null; } + /** + * This function is called whenever an NPC "sees" a creature. + * @param npc the NPC who sees the creature + * @param creature the creature seen by the NPC + * @return + */ + public String onCreatureSee(Npc npc, Creature creature) + { + return null; + } + /** * This function is called whenever a player enters the game. * @param player this parameter contains a reference to the exact instance of the player who is entering to the world. @@ -2031,6 +2072,22 @@ public class Quest extends AbstractScript implements IIdentifiable setAttackableAggroRangeEnterId(event -> notifyAggroRangeEnter(event.getNpc(), event.getActiveChar(), event.isSummon()), npcIds); } + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(int... npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(Collection npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + /** * Register onEnterZone trigger for zone * @param zoneId the ID of the zone to register diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/ai/bosses/Baium/Baium.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/ai/bosses/Baium/Baium.java index 46e9dbb113..e9c905b949 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/ai/bosses/Baium/Baium.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/ai/bosses/Baium/Baium.java @@ -34,7 +34,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -112,7 +111,7 @@ public class Baium extends AbstractNpcAI addAttackId(BAIUM, ARCHANGEL); addKillId(BAIUM); addSpellFinishedId(BAIUM); - setCreatureSeeId(this::onCreatureSee, BAIUM); + addCreatureSeeId(BAIUM); final StatSet info = GrandBossManager.getInstance().getStatSet(BAIUM); @@ -561,12 +560,12 @@ public class Baium extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (!zone.isInsideZone(creature) || (creature.isNpc() && (creature.getId() == BAIUM_STONE))) { - return; + return super.onCreatureSee(npc, creature); } if (creature.isPlayer() && !creature.isDead() && (_standbyPlayer == null)) @@ -574,7 +573,6 @@ public class Baium extends AbstractNpcAI _standbyPlayer = (PlayerInstance) creature; } - final Npc npc = (Npc) event.getCreature(); if (creature.isInCategory(CategoryType.CLERIC_GROUP)) { if (npc.getCurrentHp() < (npc.getMaxHp() * 0.25)) @@ -599,6 +597,8 @@ public class Baium extends AbstractNpcAI refreshAiParams(creature, npc, 10000, 1000); } manageSkills(npc); + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java index 5b62473e0b..ae5cedccd0 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MerchantInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.clan.ClanPrivilege; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.residences.ClanHall; import org.l2jmobius.gameserver.model.residences.ResidenceFunction; @@ -95,7 +94,7 @@ public class ClanHallManager extends AbstractNpcAI addStartNpc(CLANHALL_MANAGERS); addTalkId(CLANHALL_MANAGERS); addFirstTalkId(CLANHALL_MANAGERS); - setCreatureSeeId(this::onCreatureSee, CLANHALL_MANAGERS); + addCreatureSeeId(CLANHALL_MANAGERS); } @Override @@ -477,18 +476,18 @@ public class ClanHallManager extends AbstractNpcAI return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final ClanHall clanHall = npc.getClanHall(); if (clanHall != null) { creature.getActingPlayer().sendPacket(new AgitDecoInfo(clanHall)); } } + return super.onCreatureSee(npc, creature); } private void updateVisualEffects(ClanHall clanHall, Npc npc) diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java index bbe80fd15b..bc0205404f 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -54,7 +53,7 @@ public class Q00275_DarkWingedSpies extends Quest addStartNpc(NERUGA_CHIEF_TANTUS); addTalkId(NERUGA_CHIEF_TANTUS); addKillId(DARKWING_BAT, VARANGKAS_TRACKER); - setCreatureSeeId(this::onCreatureSee, VARANGKAS_TRACKER); + addCreatureSeeId(VARANGKAS_TRACKER); registerQuestItems(DARKWING_BAT_FANG, VARANGKAS_PARASITE); } @@ -110,16 +109,16 @@ public class Q00275_DarkWingedSpies extends Quest return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.setRunning(); ((Attackable) npc).addDamageHate(creature, 0, 1); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/quest/Quest.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/quest/Quest.java index 10f4d12c9d..3ad02d7806 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/quest/Quest.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/quest/Quest.java @@ -816,6 +816,36 @@ public class Quest extends AbstractScript implements IIdentifiable showResult(player, res); } + /** + * @param npc the NPC that sees the creature + * @param creature the creature seen by the NPC + */ + public void notifyCreatureSee(Npc npc, Creature creature) + { + PlayerInstance player = null; + if (creature.isPlayer()) + { + player = creature.getActingPlayer(); + } + String res = null; + try + { + res = onCreatureSee(npc, creature); + } + catch (Exception e) + { + if (player != null) + { + showError(player, e); + } + return; + } + if (player != null) + { + showResult(player, res); + } + } + /** * @param eventName - name of event * @param sender - NPC, who sent event @@ -1264,6 +1294,17 @@ public class Quest extends AbstractScript implements IIdentifiable return null; } + /** + * This function is called whenever an NPC "sees" a creature. + * @param npc the NPC who sees the creature + * @param creature the creature seen by the NPC + * @return + */ + public String onCreatureSee(Npc npc, Creature creature) + { + return null; + } + /** * This function is called whenever a player enters the game. * @param player this parameter contains a reference to the exact instance of the player who is entering to the world. @@ -2031,6 +2072,22 @@ public class Quest extends AbstractScript implements IIdentifiable setAttackableAggroRangeEnterId(event -> notifyAggroRangeEnter(event.getNpc(), event.getActiveChar(), event.isSummon()), npcIds); } + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(int... npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(Collection npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + /** * Register onEnterZone trigger for zone * @param zoneId the ID of the zone to register diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/ai/bosses/Baium/Baium.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/ai/bosses/Baium/Baium.java index 46e9dbb113..e9c905b949 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/ai/bosses/Baium/Baium.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/ai/bosses/Baium/Baium.java @@ -34,7 +34,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -112,7 +111,7 @@ public class Baium extends AbstractNpcAI addAttackId(BAIUM, ARCHANGEL); addKillId(BAIUM); addSpellFinishedId(BAIUM); - setCreatureSeeId(this::onCreatureSee, BAIUM); + addCreatureSeeId(BAIUM); final StatSet info = GrandBossManager.getInstance().getStatSet(BAIUM); @@ -561,12 +560,12 @@ public class Baium extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (!zone.isInsideZone(creature) || (creature.isNpc() && (creature.getId() == BAIUM_STONE))) { - return; + return super.onCreatureSee(npc, creature); } if (creature.isPlayer() && !creature.isDead() && (_standbyPlayer == null)) @@ -574,7 +573,6 @@ public class Baium extends AbstractNpcAI _standbyPlayer = (PlayerInstance) creature; } - final Npc npc = (Npc) event.getCreature(); if (creature.isInCategory(CategoryType.CLERIC_GROUP)) { if (npc.getCurrentHp() < (npc.getMaxHp() * 0.25)) @@ -599,6 +597,8 @@ public class Baium extends AbstractNpcAI refreshAiParams(creature, npc, 10000, 1000); } manageSkills(npc); + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java index 5b62473e0b..ae5cedccd0 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MerchantInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.clan.ClanPrivilege; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.residences.ClanHall; import org.l2jmobius.gameserver.model.residences.ResidenceFunction; @@ -95,7 +94,7 @@ public class ClanHallManager extends AbstractNpcAI addStartNpc(CLANHALL_MANAGERS); addTalkId(CLANHALL_MANAGERS); addFirstTalkId(CLANHALL_MANAGERS); - setCreatureSeeId(this::onCreatureSee, CLANHALL_MANAGERS); + addCreatureSeeId(CLANHALL_MANAGERS); } @Override @@ -477,18 +476,18 @@ public class ClanHallManager extends AbstractNpcAI return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final ClanHall clanHall = npc.getClanHall(); if (clanHall != null) { creature.getActingPlayer().sendPacket(new AgitDecoInfo(clanHall)); } } + return super.onCreatureSee(npc, creature); } private void updateVisualEffects(ClanHall clanHall, Npc npc) diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java index bbe80fd15b..bc0205404f 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -54,7 +53,7 @@ public class Q00275_DarkWingedSpies extends Quest addStartNpc(NERUGA_CHIEF_TANTUS); addTalkId(NERUGA_CHIEF_TANTUS); addKillId(DARKWING_BAT, VARANGKAS_TRACKER); - setCreatureSeeId(this::onCreatureSee, VARANGKAS_TRACKER); + addCreatureSeeId(VARANGKAS_TRACKER); registerQuestItems(DARKWING_BAT_FANG, VARANGKAS_PARASITE); } @@ -110,16 +109,16 @@ public class Q00275_DarkWingedSpies extends Quest return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.setRunning(); ((Attackable) npc).addDamageHate(creature, 0, 1); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/quest/Quest.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/quest/Quest.java index 10f4d12c9d..3ad02d7806 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/quest/Quest.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/quest/Quest.java @@ -816,6 +816,36 @@ public class Quest extends AbstractScript implements IIdentifiable showResult(player, res); } + /** + * @param npc the NPC that sees the creature + * @param creature the creature seen by the NPC + */ + public void notifyCreatureSee(Npc npc, Creature creature) + { + PlayerInstance player = null; + if (creature.isPlayer()) + { + player = creature.getActingPlayer(); + } + String res = null; + try + { + res = onCreatureSee(npc, creature); + } + catch (Exception e) + { + if (player != null) + { + showError(player, e); + } + return; + } + if (player != null) + { + showResult(player, res); + } + } + /** * @param eventName - name of event * @param sender - NPC, who sent event @@ -1264,6 +1294,17 @@ public class Quest extends AbstractScript implements IIdentifiable return null; } + /** + * This function is called whenever an NPC "sees" a creature. + * @param npc the NPC who sees the creature + * @param creature the creature seen by the NPC + * @return + */ + public String onCreatureSee(Npc npc, Creature creature) + { + return null; + } + /** * This function is called whenever a player enters the game. * @param player this parameter contains a reference to the exact instance of the player who is entering to the world. @@ -2031,6 +2072,22 @@ public class Quest extends AbstractScript implements IIdentifiable setAttackableAggroRangeEnterId(event -> notifyAggroRangeEnter(event.getNpc(), event.getActiveChar(), event.isSummon()), npcIds); } + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(int... npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(Collection npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + /** * Register onEnterZone trigger for zone * @param zoneId the ID of the zone to register diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/ai/bosses/Baium/Baium.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/ai/bosses/Baium/Baium.java index 46e9dbb113..e9c905b949 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/ai/bosses/Baium/Baium.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/ai/bosses/Baium/Baium.java @@ -34,7 +34,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -112,7 +111,7 @@ public class Baium extends AbstractNpcAI addAttackId(BAIUM, ARCHANGEL); addKillId(BAIUM); addSpellFinishedId(BAIUM); - setCreatureSeeId(this::onCreatureSee, BAIUM); + addCreatureSeeId(BAIUM); final StatSet info = GrandBossManager.getInstance().getStatSet(BAIUM); @@ -561,12 +560,12 @@ public class Baium extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (!zone.isInsideZone(creature) || (creature.isNpc() && (creature.getId() == BAIUM_STONE))) { - return; + return super.onCreatureSee(npc, creature); } if (creature.isPlayer() && !creature.isDead() && (_standbyPlayer == null)) @@ -574,7 +573,6 @@ public class Baium extends AbstractNpcAI _standbyPlayer = (PlayerInstance) creature; } - final Npc npc = (Npc) event.getCreature(); if (creature.isInCategory(CategoryType.CLERIC_GROUP)) { if (npc.getCurrentHp() < (npc.getMaxHp() * 0.25)) @@ -599,6 +597,8 @@ public class Baium extends AbstractNpcAI refreshAiParams(creature, npc, 10000, 1000); } manageSkills(npc); + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java index 5b62473e0b..ae5cedccd0 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MerchantInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.clan.ClanPrivilege; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.residences.ClanHall; import org.l2jmobius.gameserver.model.residences.ResidenceFunction; @@ -95,7 +94,7 @@ public class ClanHallManager extends AbstractNpcAI addStartNpc(CLANHALL_MANAGERS); addTalkId(CLANHALL_MANAGERS); addFirstTalkId(CLANHALL_MANAGERS); - setCreatureSeeId(this::onCreatureSee, CLANHALL_MANAGERS); + addCreatureSeeId(CLANHALL_MANAGERS); } @Override @@ -477,18 +476,18 @@ public class ClanHallManager extends AbstractNpcAI return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final ClanHall clanHall = npc.getClanHall(); if (clanHall != null) { creature.getActingPlayer().sendPacket(new AgitDecoInfo(clanHall)); } } + return super.onCreatureSee(npc, creature); } private void updateVisualEffects(ClanHall clanHall, Npc npc) diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/quest/Quest.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/quest/Quest.java index 10f4d12c9d..3ad02d7806 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/quest/Quest.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/quest/Quest.java @@ -816,6 +816,36 @@ public class Quest extends AbstractScript implements IIdentifiable showResult(player, res); } + /** + * @param npc the NPC that sees the creature + * @param creature the creature seen by the NPC + */ + public void notifyCreatureSee(Npc npc, Creature creature) + { + PlayerInstance player = null; + if (creature.isPlayer()) + { + player = creature.getActingPlayer(); + } + String res = null; + try + { + res = onCreatureSee(npc, creature); + } + catch (Exception e) + { + if (player != null) + { + showError(player, e); + } + return; + } + if (player != null) + { + showResult(player, res); + } + } + /** * @param eventName - name of event * @param sender - NPC, who sent event @@ -1264,6 +1294,17 @@ public class Quest extends AbstractScript implements IIdentifiable return null; } + /** + * This function is called whenever an NPC "sees" a creature. + * @param npc the NPC who sees the creature + * @param creature the creature seen by the NPC + * @return + */ + public String onCreatureSee(Npc npc, Creature creature) + { + return null; + } + /** * This function is called whenever a player enters the game. * @param player this parameter contains a reference to the exact instance of the player who is entering to the world. @@ -2031,6 +2072,22 @@ public class Quest extends AbstractScript implements IIdentifiable setAttackableAggroRangeEnterId(event -> notifyAggroRangeEnter(event.getNpc(), event.getActiveChar(), event.isSummon()), npcIds); } + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(int... npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(Collection npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + /** * Register onEnterZone trigger for zone * @param zoneId the ID of the zone to register diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java index fd46b6d6a5..9fe17826f4 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/ai/areas/PrimevalIsle/PrimevalIsle.java @@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.skills.Skill; @@ -116,8 +115,8 @@ public class PrimevalIsle extends AbstractNpcAI addAttackId(TREX); addAttackId(MONSTERS); addKillId(EGG, SAILREN, DEINO, ORNIT); - setCreatureSeeId(this::onCreatureSee, TREX); - setCreatureSeeId(this::onCreatureSee, MONSTERS); + addCreatureSeeId(TREX); + addCreatureSeeId(MONSTERS); } @Override @@ -243,10 +242,9 @@ public class PrimevalIsle extends AbstractNpcAI return super.onAdvEvent(event, npc, player); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Npc npc = (Npc) event.getCreature(); - final Creature creature = event.getSeen(); if (CommonUtil.contains(MONSTERS, npc.getId())) { if (creature.isPlayer()) @@ -303,6 +301,7 @@ public class PrimevalIsle extends AbstractNpcAI npc.setRunning(); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/ai/bosses/Baium/Baium.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/ai/bosses/Baium/Baium.java index 46e9dbb113..e9c905b949 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/ai/bosses/Baium/Baium.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/ai/bosses/Baium/Baium.java @@ -34,7 +34,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -112,7 +111,7 @@ public class Baium extends AbstractNpcAI addAttackId(BAIUM, ARCHANGEL); addKillId(BAIUM); addSpellFinishedId(BAIUM); - setCreatureSeeId(this::onCreatureSee, BAIUM); + addCreatureSeeId(BAIUM); final StatSet info = GrandBossManager.getInstance().getStatSet(BAIUM); @@ -561,12 +560,12 @@ public class Baium extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (!zone.isInsideZone(creature) || (creature.isNpc() && (creature.getId() == BAIUM_STONE))) { - return; + return super.onCreatureSee(npc, creature); } if (creature.isPlayer() && !creature.isDead() && (_standbyPlayer == null)) @@ -574,7 +573,6 @@ public class Baium extends AbstractNpcAI _standbyPlayer = (PlayerInstance) creature; } - final Npc npc = (Npc) event.getCreature(); if (creature.isInCategory(CategoryType.CLERIC_GROUP)) { if (npc.getCurrentHp() < (npc.getMaxHp() * 0.25)) @@ -599,6 +597,8 @@ public class Baium extends AbstractNpcAI refreshAiParams(creature, npc, 10000, 1000); } manageSkills(npc); + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java index ff64ccca7e..90fb0c730b 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MerchantInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.clan.ClanPrivilege; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.residences.ClanHall; import org.l2jmobius.gameserver.model.residences.ResidenceFunction; @@ -94,7 +93,7 @@ public class ClanHallManager extends AbstractNpcAI addStartNpc(CLANHALL_MANAGERS); addTalkId(CLANHALL_MANAGERS); addFirstTalkId(CLANHALL_MANAGERS); - setCreatureSeeId(this::onCreatureSee, CLANHALL_MANAGERS); + addCreatureSeeId(CLANHALL_MANAGERS); } @Override @@ -444,18 +443,18 @@ public class ClanHallManager extends AbstractNpcAI return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final ClanHall clanHall = npc.getClanHall(); if (clanHall != null) { creature.getActingPlayer().sendPacket(new AgitDecoInfo(clanHall)); } } + return super.onCreatureSee(npc, creature); } private void updateVisualEffects(ClanHall clanHall, Npc npc) diff --git a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java index bbe80fd15b..bc0205404f 100644 --- a/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java +++ b/L2J_Mobius_Classic_Interlude/dist/game/data/scripts/quests/Q00275_DarkWingedSpies/Q00275_DarkWingedSpies.java @@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.quest.Quest; import org.l2jmobius.gameserver.model.quest.QuestState; import org.l2jmobius.gameserver.model.quest.State; @@ -54,7 +53,7 @@ public class Q00275_DarkWingedSpies extends Quest addStartNpc(NERUGA_CHIEF_TANTUS); addTalkId(NERUGA_CHIEF_TANTUS); addKillId(DARKWING_BAT, VARANGKAS_TRACKER); - setCreatureSeeId(this::onCreatureSee, VARANGKAS_TRACKER); + addCreatureSeeId(VARANGKAS_TRACKER); registerQuestItems(DARKWING_BAT_FANG, VARANGKAS_PARASITE); } @@ -110,16 +109,16 @@ public class Q00275_DarkWingedSpies extends Quest return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); npc.setRunning(); ((Attackable) npc).addDamageHate(creature, 0, 1); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_ATTACK, creature); } + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/quest/Quest.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/quest/Quest.java index 10f4d12c9d..3ad02d7806 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/quest/Quest.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/quest/Quest.java @@ -816,6 +816,36 @@ public class Quest extends AbstractScript implements IIdentifiable showResult(player, res); } + /** + * @param npc the NPC that sees the creature + * @param creature the creature seen by the NPC + */ + public void notifyCreatureSee(Npc npc, Creature creature) + { + PlayerInstance player = null; + if (creature.isPlayer()) + { + player = creature.getActingPlayer(); + } + String res = null; + try + { + res = onCreatureSee(npc, creature); + } + catch (Exception e) + { + if (player != null) + { + showError(player, e); + } + return; + } + if (player != null) + { + showResult(player, res); + } + } + /** * @param eventName - name of event * @param sender - NPC, who sent event @@ -1264,6 +1294,17 @@ public class Quest extends AbstractScript implements IIdentifiable return null; } + /** + * This function is called whenever an NPC "sees" a creature. + * @param npc the NPC who sees the creature + * @param creature the creature seen by the NPC + * @return + */ + public String onCreatureSee(Npc npc, Creature creature) + { + return null; + } + /** * This function is called whenever a player enters the game. * @param player this parameter contains a reference to the exact instance of the player who is entering to the world. @@ -2031,6 +2072,22 @@ public class Quest extends AbstractScript implements IIdentifiable setAttackableAggroRangeEnterId(event -> notifyAggroRangeEnter(event.getNpc(), event.getActiveChar(), event.isSummon()), npcIds); } + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(int... npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(Collection npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + /** * Register onEnterZone trigger for zone * @param zoneId the ID of the zone to register diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/ai/bosses/Baium/Baium.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/ai/bosses/Baium/Baium.java index 46e9dbb113..e9c905b949 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/ai/bosses/Baium/Baium.java +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/ai/bosses/Baium/Baium.java @@ -34,7 +34,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -112,7 +111,7 @@ public class Baium extends AbstractNpcAI addAttackId(BAIUM, ARCHANGEL); addKillId(BAIUM); addSpellFinishedId(BAIUM); - setCreatureSeeId(this::onCreatureSee, BAIUM); + addCreatureSeeId(BAIUM); final StatSet info = GrandBossManager.getInstance().getStatSet(BAIUM); @@ -561,12 +560,12 @@ public class Baium extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (!zone.isInsideZone(creature) || (creature.isNpc() && (creature.getId() == BAIUM_STONE))) { - return; + return super.onCreatureSee(npc, creature); } if (creature.isPlayer() && !creature.isDead() && (_standbyPlayer == null)) @@ -574,7 +573,6 @@ public class Baium extends AbstractNpcAI _standbyPlayer = (PlayerInstance) creature; } - final Npc npc = (Npc) event.getCreature(); if (creature.isInCategory(CategoryType.CLERIC_GROUP)) { if (npc.getCurrentHp() < (npc.getMaxHp() * 0.25)) @@ -599,6 +597,8 @@ public class Baium extends AbstractNpcAI refreshAiParams(creature, npc, 10000, 1000); } manageSkills(npc); + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java index 65a5e66fb8..476cbf8805 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MerchantInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.clan.ClanPrivilege; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.residences.ClanHall; import org.l2jmobius.gameserver.model.residences.ResidenceFunction; @@ -95,7 +94,7 @@ public class ClanHallManager extends AbstractNpcAI addStartNpc(CLANHALL_MANAGERS); addTalkId(CLANHALL_MANAGERS); addFirstTalkId(CLANHALL_MANAGERS); - setCreatureSeeId(this::onCreatureSee, CLANHALL_MANAGERS); + addCreatureSeeId(CLANHALL_MANAGERS); } @Override @@ -477,18 +476,18 @@ public class ClanHallManager extends AbstractNpcAI return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final ClanHall clanHall = npc.getClanHall(); if (clanHall != null) { creature.getActingPlayer().sendPacket(new AgitDecoInfo(clanHall)); } } + return super.onCreatureSee(npc, creature); } private void updateVisualEffects(ClanHall clanHall, Npc npc) diff --git a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/quest/Quest.java b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/quest/Quest.java index 2708a63ec4..790d175503 100644 --- a/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/quest/Quest.java +++ b/L2J_Mobius_Essence_4.0_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/quest/Quest.java @@ -823,6 +823,36 @@ public class Quest extends AbstractScript implements IIdentifiable showResult(player, res); } + /** + * @param npc the NPC that sees the creature + * @param creature the creature seen by the NPC + */ + public void notifyCreatureSee(Npc npc, Creature creature) + { + PlayerInstance player = null; + if (creature.isPlayer()) + { + player = creature.getActingPlayer(); + } + String res = null; + try + { + res = onCreatureSee(npc, creature); + } + catch (Exception e) + { + if (player != null) + { + showError(player, e); + } + return; + } + if (player != null) + { + showResult(player, res); + } + } + /** * @param eventName - name of event * @param sender - NPC, who sent event @@ -1271,6 +1301,17 @@ public class Quest extends AbstractScript implements IIdentifiable return null; } + /** + * This function is called whenever an NPC "sees" a creature. + * @param npc the NPC who sees the creature + * @param creature the creature seen by the NPC + * @return + */ + public String onCreatureSee(Npc npc, Creature creature) + { + return null; + } + /** * This function is called whenever a player enters the game. * @param player this parameter contains a reference to the exact instance of the player who is entering to the world. @@ -2038,6 +2079,22 @@ public class Quest extends AbstractScript implements IIdentifiable setAttackableAggroRangeEnterId(event -> notifyAggroRangeEnter(event.getNpc(), event.getActiveChar(), event.isSummon()), npcIds); } + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(int... npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(Collection npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + /** * Register onEnterZone trigger for zone * @param zoneId the ID of the zone to register diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/ai/bosses/Baium/Baium.java b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/ai/bosses/Baium/Baium.java index 46e9dbb113..e9c905b949 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/ai/bosses/Baium/Baium.java +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/ai/bosses/Baium/Baium.java @@ -34,7 +34,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -112,7 +111,7 @@ public class Baium extends AbstractNpcAI addAttackId(BAIUM, ARCHANGEL); addKillId(BAIUM); addSpellFinishedId(BAIUM); - setCreatureSeeId(this::onCreatureSee, BAIUM); + addCreatureSeeId(BAIUM); final StatSet info = GrandBossManager.getInstance().getStatSet(BAIUM); @@ -561,12 +560,12 @@ public class Baium extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (!zone.isInsideZone(creature) || (creature.isNpc() && (creature.getId() == BAIUM_STONE))) { - return; + return super.onCreatureSee(npc, creature); } if (creature.isPlayer() && !creature.isDead() && (_standbyPlayer == null)) @@ -574,7 +573,6 @@ public class Baium extends AbstractNpcAI _standbyPlayer = (PlayerInstance) creature; } - final Npc npc = (Npc) event.getCreature(); if (creature.isInCategory(CategoryType.CLERIC_GROUP)) { if (npc.getCurrentHp() < (npc.getMaxHp() * 0.25)) @@ -599,6 +597,8 @@ public class Baium extends AbstractNpcAI refreshAiParams(creature, npc, 10000, 1000); } manageSkills(npc); + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java index 65a5e66fb8..476cbf8805 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java +++ b/L2J_Mobius_Essence_5.0_Sylph/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MerchantInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.clan.ClanPrivilege; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.residences.ClanHall; import org.l2jmobius.gameserver.model.residences.ResidenceFunction; @@ -95,7 +94,7 @@ public class ClanHallManager extends AbstractNpcAI addStartNpc(CLANHALL_MANAGERS); addTalkId(CLANHALL_MANAGERS); addFirstTalkId(CLANHALL_MANAGERS); - setCreatureSeeId(this::onCreatureSee, CLANHALL_MANAGERS); + addCreatureSeeId(CLANHALL_MANAGERS); } @Override @@ -477,18 +476,18 @@ public class ClanHallManager extends AbstractNpcAI return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final ClanHall clanHall = npc.getClanHall(); if (clanHall != null) { creature.getActingPlayer().sendPacket(new AgitDecoInfo(clanHall)); } } + return super.onCreatureSee(npc, creature); } private void updateVisualEffects(ClanHall clanHall, Npc npc) diff --git a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/quest/Quest.java b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/quest/Quest.java index 2708a63ec4..790d175503 100644 --- a/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/quest/Quest.java +++ b/L2J_Mobius_Essence_5.0_Sylph/java/org/l2jmobius/gameserver/model/quest/Quest.java @@ -823,6 +823,36 @@ public class Quest extends AbstractScript implements IIdentifiable showResult(player, res); } + /** + * @param npc the NPC that sees the creature + * @param creature the creature seen by the NPC + */ + public void notifyCreatureSee(Npc npc, Creature creature) + { + PlayerInstance player = null; + if (creature.isPlayer()) + { + player = creature.getActingPlayer(); + } + String res = null; + try + { + res = onCreatureSee(npc, creature); + } + catch (Exception e) + { + if (player != null) + { + showError(player, e); + } + return; + } + if (player != null) + { + showResult(player, res); + } + } + /** * @param eventName - name of event * @param sender - NPC, who sent event @@ -1271,6 +1301,17 @@ public class Quest extends AbstractScript implements IIdentifiable return null; } + /** + * This function is called whenever an NPC "sees" a creature. + * @param npc the NPC who sees the creature + * @param creature the creature seen by the NPC + * @return + */ + public String onCreatureSee(Npc npc, Creature creature) + { + return null; + } + /** * This function is called whenever a player enters the game. * @param player this parameter contains a reference to the exact instance of the player who is entering to the world. @@ -2038,6 +2079,22 @@ public class Quest extends AbstractScript implements IIdentifiable setAttackableAggroRangeEnterId(event -> notifyAggroRangeEnter(event.getNpc(), event.getActiveChar(), event.isSummon()), npcIds); } + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(int... npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(Collection npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + /** * Register onEnterZone trigger for zone * @param zoneId the ID of the zone to register diff --git a/L2J_Mobius_Essence_5.5_FrostLord/dist/game/data/scripts/ai/bosses/Baium/Baium.java b/L2J_Mobius_Essence_5.5_FrostLord/dist/game/data/scripts/ai/bosses/Baium/Baium.java index 46e9dbb113..e9c905b949 100644 --- a/L2J_Mobius_Essence_5.5_FrostLord/dist/game/data/scripts/ai/bosses/Baium/Baium.java +++ b/L2J_Mobius_Essence_5.5_FrostLord/dist/game/data/scripts/ai/bosses/Baium/Baium.java @@ -34,7 +34,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.instance.GrandBossInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.SkillCaster; @@ -112,7 +111,7 @@ public class Baium extends AbstractNpcAI addAttackId(BAIUM, ARCHANGEL); addKillId(BAIUM); addSpellFinishedId(BAIUM); - setCreatureSeeId(this::onCreatureSee, BAIUM); + addCreatureSeeId(BAIUM); final StatSet info = GrandBossManager.getInstance().getStatSet(BAIUM); @@ -561,12 +560,12 @@ public class Baium extends AbstractNpcAI return super.onKill(npc, killer, isSummon); } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (!zone.isInsideZone(creature) || (creature.isNpc() && (creature.getId() == BAIUM_STONE))) { - return; + return super.onCreatureSee(npc, creature); } if (creature.isPlayer() && !creature.isDead() && (_standbyPlayer == null)) @@ -574,7 +573,6 @@ public class Baium extends AbstractNpcAI _standbyPlayer = (PlayerInstance) creature; } - final Npc npc = (Npc) event.getCreature(); if (creature.isInCategory(CategoryType.CLERIC_GROUP)) { if (npc.getCurrentHp() < (npc.getMaxHp() * 0.25)) @@ -599,6 +597,8 @@ public class Baium extends AbstractNpcAI refreshAiParams(creature, npc, 10000, 1000); } manageSkills(npc); + + return super.onCreatureSee(npc, creature); } @Override diff --git a/L2J_Mobius_Essence_5.5_FrostLord/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java b/L2J_Mobius_Essence_5.5_FrostLord/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java index 65a5e66fb8..476cbf8805 100644 --- a/L2J_Mobius_Essence_5.5_FrostLord/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java +++ b/L2J_Mobius_Essence_5.5_FrostLord/dist/game/data/scripts/ai/others/ClanHallManager/ClanHallManager.java @@ -30,7 +30,6 @@ import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.instance.MerchantInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.clan.ClanPrivilege; -import org.l2jmobius.gameserver.model.events.impl.creature.OnCreatureSee; import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.residences.ClanHall; import org.l2jmobius.gameserver.model.residences.ResidenceFunction; @@ -95,7 +94,7 @@ public class ClanHallManager extends AbstractNpcAI addStartNpc(CLANHALL_MANAGERS); addTalkId(CLANHALL_MANAGERS); addFirstTalkId(CLANHALL_MANAGERS); - setCreatureSeeId(this::onCreatureSee, CLANHALL_MANAGERS); + addCreatureSeeId(CLANHALL_MANAGERS); } @Override @@ -477,18 +476,18 @@ public class ClanHallManager extends AbstractNpcAI return htmltext; } - public void onCreatureSee(OnCreatureSee event) + @Override + public String onCreatureSee(Npc npc, Creature creature) { - final Creature creature = event.getSeen(); if (creature.isPlayer()) { - final Npc npc = (Npc) event.getCreature(); final ClanHall clanHall = npc.getClanHall(); if (clanHall != null) { creature.getActingPlayer().sendPacket(new AgitDecoInfo(clanHall)); } } + return super.onCreatureSee(npc, creature); } private void updateVisualEffects(ClanHall clanHall, Npc npc) diff --git a/L2J_Mobius_Essence_5.5_FrostLord/java/org/l2jmobius/gameserver/model/quest/Quest.java b/L2J_Mobius_Essence_5.5_FrostLord/java/org/l2jmobius/gameserver/model/quest/Quest.java index 2708a63ec4..790d175503 100644 --- a/L2J_Mobius_Essence_5.5_FrostLord/java/org/l2jmobius/gameserver/model/quest/Quest.java +++ b/L2J_Mobius_Essence_5.5_FrostLord/java/org/l2jmobius/gameserver/model/quest/Quest.java @@ -823,6 +823,36 @@ public class Quest extends AbstractScript implements IIdentifiable showResult(player, res); } + /** + * @param npc the NPC that sees the creature + * @param creature the creature seen by the NPC + */ + public void notifyCreatureSee(Npc npc, Creature creature) + { + PlayerInstance player = null; + if (creature.isPlayer()) + { + player = creature.getActingPlayer(); + } + String res = null; + try + { + res = onCreatureSee(npc, creature); + } + catch (Exception e) + { + if (player != null) + { + showError(player, e); + } + return; + } + if (player != null) + { + showResult(player, res); + } + } + /** * @param eventName - name of event * @param sender - NPC, who sent event @@ -1271,6 +1301,17 @@ public class Quest extends AbstractScript implements IIdentifiable return null; } + /** + * This function is called whenever an NPC "sees" a creature. + * @param npc the NPC who sees the creature + * @param creature the creature seen by the NPC + * @return + */ + public String onCreatureSee(Npc npc, Creature creature) + { + return null; + } + /** * This function is called whenever a player enters the game. * @param player this parameter contains a reference to the exact instance of the player who is entering to the world. @@ -2038,6 +2079,22 @@ public class Quest extends AbstractScript implements IIdentifiable setAttackableAggroRangeEnterId(event -> notifyAggroRangeEnter(event.getNpc(), event.getActiveChar(), event.isSummon()), npcIds); } + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(int... npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + + /** + * @param npcIds the IDs of the NPCs to register + */ + public void addCreatureSeeId(Collection npcIds) + { + setCreatureSeeId(event -> notifyCreatureSee((Npc) event.getCreature(), event.getSeen()), npcIds); + } + /** * Register onEnterZone trigger for zone * @param zoneId the ID of the zone to register