diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperAliber.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperAliber.java index 835aede826..04b117baf1 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperAliber.java +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperAliber.java @@ -87,6 +87,7 @@ public class EtinaHelperAliber extends AbstractNpcAI 292, // Fall of Etina (Solo) 293, // Fall of Etina (Solo) }; + //@formatter:on private EtinaHelperAliber() { @@ -108,7 +109,6 @@ public class EtinaHelperAliber extends AbstractNpcAI { final StatSet npcVars = npc.getVariables(); final Player plr = npcVars.getObject("PLAYER_OBJECT", Player.class); - final Monster monster = getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500)); if (plr != null) { final double distance = npc.calculateDistance2D(plr); @@ -132,7 +132,7 @@ public class EtinaHelperAliber extends AbstractNpcAI WorldObject target = npc.getTarget(); if (target == null) { - npc.setTarget(monster); + npc.setTarget(getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500))); } if ((target != null) && !target.isInvul() && target.isTargetable() && GeoEngine.getInstance().canSeeTarget(npc, target) && !CommonUtil.contains(NOT_ATK_NPCS, target.getId()) && !CommonUtil.contains(ETINA_HELPERS, target.getId())) { @@ -149,18 +149,18 @@ public class EtinaHelperAliber extends AbstractNpcAI } case "DESTROY_BARRICADES": { - final FriendlyNpc _aliber = (FriendlyNpc) instance.getNpc(ETINA_HELPER_ALIBER); - boolean BARRICADE_DESTROYED = instance.getParameters().getBoolean("BARRICADE_DESTROYED", false); + final FriendlyNpc aliber = (FriendlyNpc) instance.getNpc(ETINA_HELPER_ALIBER); + boolean destroyed = instance.getParameters().getBoolean("BARRICADE_DESTROYED", false); if (!instance.getNpcsOfGroup("BARRICADES_1").isEmpty()) { - _aliber.setRunning(); - _aliber.setInvul(true); - _aliber.setCanReturnToSpawnPoint(false); - _aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[0]); - if (_aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[0], 200) && !BARRICADE_DESTROYED) + aliber.setRunning(); + aliber.setInvul(true); + aliber.setCanReturnToSpawnPoint(false); + aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[0]); + if (aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[0], 200) && !destroyed) { - _aliber.broadcastPacket(new MagicSkillUse(_aliber, _aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); - _aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); + aliber.broadcastPacket(new MagicSkillUse(aliber, aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); + aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); instance.getNpcsOfGroup("BARRICADES_1").forEach(barricade -> { if (barricade != null) @@ -174,12 +174,12 @@ public class EtinaHelperAliber extends AbstractNpcAI } else if (!instance.getNpcsOfGroup("BARRICADES_2").isEmpty() && instance.getAliveNpcs(CORRIDOR_MOBS_1).isEmpty() && instance.getNpcsOfGroup("BARRICADES_1").isEmpty()) { - _aliber.setRunning(); - _aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[1]); - if (_aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[1], 200) && !BARRICADE_DESTROYED) + aliber.setRunning(); + aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[1]); + if (aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[1], 200) && !destroyed) { - _aliber.broadcastPacket(new MagicSkillUse(_aliber, _aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); - _aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); + aliber.broadcastPacket(new MagicSkillUse(aliber, aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); + aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); instance.getNpcsOfGroup("BARRICADES_2").forEach(barricade -> { if (barricade != null) @@ -193,12 +193,12 @@ public class EtinaHelperAliber extends AbstractNpcAI } else if (!instance.getNpcsOfGroup("BARRICADES_3").isEmpty() && instance.getAliveNpcs(CORRIDOR_MOBS_2).isEmpty() && instance.getNpcsOfGroup("BARRICADES_2").isEmpty()) { - _aliber.setRunning(); - _aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[2]); - if (_aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[2], 200) && !BARRICADE_DESTROYED) + aliber.setRunning(); + aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[2]); + if (aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[2], 200) && !destroyed) { - _aliber.broadcastPacket(new MagicSkillUse(_aliber, _aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); - _aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); + aliber.broadcastPacket(new MagicSkillUse(aliber, aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); + aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); instance.getNpcsOfGroup("BARRICADES_3").forEach(barricade -> { if (barricade != null) @@ -212,12 +212,12 @@ public class EtinaHelperAliber extends AbstractNpcAI } else if (!instance.getNpcsOfGroup("BARRICADES_4").isEmpty() && instance.getAliveNpcs(CORRIDOR_MOBS_3).isEmpty() && instance.getNpcsOfGroup("BARRICADES_3").isEmpty()) { - _aliber.setRunning(); - _aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[3]); - if (_aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[3], 200) && !BARRICADE_DESTROYED) + aliber.setRunning(); + aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[3]); + if (aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[3], 200) && !destroyed) { - _aliber.broadcastPacket(new MagicSkillUse(_aliber, _aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); - _aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); + aliber.broadcastPacket(new MagicSkillUse(aliber, aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); + aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); instance.getNpcsOfGroup("BARRICADES_4").forEach(barricade -> { if (barricade != null) @@ -229,8 +229,8 @@ public class EtinaHelperAliber extends AbstractNpcAI instance.despawnGroup("BARRICADES_4"); } } - } break; + } } } } @@ -238,28 +238,22 @@ public class EtinaHelperAliber extends AbstractNpcAI public void onCreatureAttacked(OnCreatureAttacked event) { final FriendlyNpc npc = (FriendlyNpc) event.getTarget(); - if (npc != null) + if ((npc != null) && !npc.isInCombat()) { final Instance instance = npc.getInstanceWorld(); - if ((instance != null) && !event.getAttacker().isPlayable() && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) + if ((instance != null) && !event.getAttacker().isPlayable() && (getRandom(50) < 5) && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) { - if (!npc.isInCombat()) - { - if (getRandom(50) < 5) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.RAGE_AGAINST_ALL_THAT_STANDS_IN_OUR_WAY); - } - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.RAGE_AGAINST_ALL_THAT_STANDS_IN_OUR_WAY); } } } public void onInstanceStatusChange(OnInstanceStatusChange event) { - final Instance instance = event.getWorld(); final int status = event.getStatus(); if ((status == 1) || (status == 2) || (status == 3)) { + final Instance instance = event.getWorld(); instance.getAliveNpcs(ETINA_HELPER_ALIBER).forEach(etinaHelperAliber -> getTimers().addRepeatingTimer("CHECK_ACTION", 3000, etinaHelperAliber, null)); instance.getAliveNpcs(ETINA_HELPER_ALIBER).forEach(etinaHelperAliber -> getTimers().addRepeatingTimer("USE_SKILL", 6000, etinaHelperAliber, null)); instance.getAliveNpcs(ETINA_HELPER_ALIBER).forEach(etinaHelperAliber -> getTimers().addRepeatingTimer("DESTROY_BARRICADES", 5000, etinaHelperAliber, null)); diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperDevianne.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperDevianne.java index 8fbc21fb8b..f1945749b2 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperDevianne.java +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperDevianne.java @@ -85,7 +85,6 @@ public class EtinaHelperDevianne extends AbstractNpcAI { final StatSet npcVars = npc.getVariables(); final Player plr = npcVars.getObject("PLAYER_OBJECT", Player.class); - final Monster monster = getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500)); if (plr != null) { final double distance = npc.calculateDistance2D(plr); @@ -109,7 +108,7 @@ public class EtinaHelperDevianne extends AbstractNpcAI WorldObject target = npc.getTarget(); if (target == null) { - npc.setTarget(monster); + npc.setTarget(getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500))); } if ((target != null) && !target.isInvul() && target.isTargetable() && GeoEngine.getInstance().canSeeTarget(npc, target) && !CommonUtil.contains(NOT_ATK_NPCS, target.getId()) && !CommonUtil.contains(ETINA_HELPERS, target.getId())) { @@ -127,29 +126,22 @@ public class EtinaHelperDevianne extends AbstractNpcAI public void onCreatureAttacked(OnCreatureAttacked event) { final FriendlyNpc npc = (FriendlyNpc) event.getTarget(); - if (npc != null) + if ((npc != null) && !npc.isInCombat()) { final Instance instance = npc.getInstanceWorld(); - if ((instance != null) && !event.getAttacker().isPlayable() && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) + if ((instance != null) && !event.getAttacker().isPlayable() && (getRandom(50) < 5) && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) { - if (!npc.isInCombat()) - { - if (getRandom(50) < 5) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.BEHOLD_THE_POWER_OF_THE_IVORY_TOWER_WIZARDS); - } - - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.BEHOLD_THE_POWER_OF_THE_IVORY_TOWER_WIZARDS); } } } public void onInstanceStatusChange(OnInstanceStatusChange event) { - final Instance instance = event.getWorld(); final int status = event.getStatus(); if ((status == 1) || (status == 2) || (status == 3)) { + final Instance instance = event.getWorld(); instance.getAliveNpcs(ETINA_HELPER_DEVIANNE).forEach(etinaHelperDevianne -> getTimers().addRepeatingTimer("CHECK_ACTION", 3000, etinaHelperDevianne, null)); } } diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperElikia.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperElikia.java index 93b2d758bd..73dcc2ec56 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperElikia.java +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperElikia.java @@ -85,7 +85,6 @@ public class EtinaHelperElikia extends AbstractNpcAI { final StatSet npcVars = npc.getVariables(); final Player plr = npcVars.getObject("PLAYER_OBJECT", Player.class); - final Monster monster = getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500)); if (plr != null) { final double distance = npc.calculateDistance2D(plr); @@ -109,7 +108,7 @@ public class EtinaHelperElikia extends AbstractNpcAI WorldObject target = npc.getTarget(); if (target == null) { - npc.setTarget(monster); + npc.setTarget(getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500))); } if ((target != null) && !target.isInvul() && target.isTargetable() && GeoEngine.getInstance().canSeeTarget(npc, target) && !CommonUtil.contains(NOT_ATK_NPCS, target.getId()) && !CommonUtil.contains(ETINA_HELPERS, target.getId())) { @@ -127,28 +126,22 @@ public class EtinaHelperElikia extends AbstractNpcAI public void onCreatureAttacked(OnCreatureAttacked event) { final FriendlyNpc npc = (FriendlyNpc) event.getTarget(); - if (npc != null) + if ((npc != null) && !npc.isInCombat()) { final Instance instance = npc.getInstanceWorld(); - if ((instance != null) && !event.getAttacker().isPlayable() && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) + if ((instance != null) && !event.getAttacker().isPlayable() && (getRandom(50) < 5) && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) { - if (!npc.isInCombat()) - { - if (getRandom(50) < 5) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_GET_IN_MY_WAY); - } - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_GET_IN_MY_WAY); } } } public void onInstanceStatusChange(OnInstanceStatusChange event) { - final Instance instance = event.getWorld(); final int status = event.getStatus(); if ((status == 1) || (status == 2) || (status == 3)) { + final Instance instance = event.getWorld(); instance.getAliveNpcs(ETINA_HELPER_ELIKIA).forEach(etinaHelperElikia -> getTimers().addRepeatingTimer("CHECK_ACTION", 3000, etinaHelperElikia, null)); } } diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperLeona.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperLeona.java index 809d0c740b..478b1680f0 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperLeona.java +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperLeona.java @@ -90,7 +90,6 @@ public class EtinaHelperLeona extends AbstractNpcAI { final StatSet npcVars = npc.getVariables(); final Player plr = npcVars.getObject("PLAYER_OBJECT", Player.class); - final Monster monster = getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500)); if (plr != null) { final double distance = npc.calculateDistance2D(plr); @@ -114,7 +113,7 @@ public class EtinaHelperLeona extends AbstractNpcAI WorldObject target = npc.getTarget(); if (target == null) { - npc.setTarget(monster); + npc.setTarget(getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500))); } if ((target != null) && !target.isInvul() && target.isTargetable() && GeoEngine.getInstance().canSeeTarget(npc, target) && !CommonUtil.contains(NOT_ATK_NPCS, target.getId()) && !CommonUtil.contains(ETINA_HELPERS, target.getId())) { @@ -133,42 +132,39 @@ public class EtinaHelperLeona extends AbstractNpcAI { final FriendlyNpc npc = (FriendlyNpc) event.getTarget(); final Npc attacker = (Npc) event.getAttacker(); - if (npc != null) + if ((npc != null) && !npc.isInCombat()) { final Instance instance = npc.getInstanceWorld(); if ((instance != null) && !event.getAttacker().isPlayable() && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) { - if (!npc.isInCombat()) + switch (attacker.getId()) { - switch (attacker.getId()) + case CAMILLE: { - default: + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.GISELLE_NO_IS_SHE_CAMILLE_IN_THAT_STATE); + break; + } + case KAIN_VAN_HALTER: + { + break; + } + case ETIS_VAN_ETINA1: + { + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.EVEN_THE_MIGHTY_ETINA_SEEMS_TO_FEAR_US); + break; + } + case ETIS_VAN_ETINA2: + { + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.ETIS_VAN_ETINA_WE_FINALLY_MEET); + break; + } + default: + { + if (getRandom(50) < 5) { - if (getRandom(50) < 5) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_GET_IN_MY_WAY); - } - break; - } - case CAMILLE: - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.GISELLE_NO_IS_SHE_CAMILLE_IN_THAT_STATE); - break; - } - case KAIN_VAN_HALTER: - { - break; - } - case ETIS_VAN_ETINA1: - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.EVEN_THE_MIGHTY_ETINA_SEEMS_TO_FEAR_US); - break; - } - case ETIS_VAN_ETINA2: - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.ETIS_VAN_ETINA_WE_FINALLY_MEET); - break; + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_GET_IN_MY_WAY); } + break; } } } @@ -177,10 +173,10 @@ public class EtinaHelperLeona extends AbstractNpcAI public void onInstanceStatusChange(OnInstanceStatusChange event) { - final Instance instance = event.getWorld(); final int status = event.getStatus(); if ((status == 1) || (status == 2) || (status == 3)) { + final Instance instance = event.getWorld(); instance.getAliveNpcs(ETINA_HELPER_LEONA).forEach(etinaHelperLeona -> getTimers().addRepeatingTimer("CHECK_ACTION", 3000, etinaHelperLeona, null)); // instance.getAliveNpcs(ETINA_HELPER_LEONA).forEach(etinaHelperLeona -> getTimers().addRepeatingTimer("USE_SKILL", 6000, etinaHelperLeona, null)); } diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperSporcha.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperSporcha.java index ad19a93d79..bad229abb4 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperSporcha.java +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperSporcha.java @@ -85,7 +85,6 @@ public class EtinaHelperSporcha extends AbstractNpcAI { final StatSet npcVars = npc.getVariables(); final Player plr = npcVars.getObject("PLAYER_OBJECT", Player.class); - final Monster monster = getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500)); if (plr != null) { final double distance = npc.calculateDistance2D(plr); @@ -109,7 +108,7 @@ public class EtinaHelperSporcha extends AbstractNpcAI WorldObject target = npc.getTarget(); if (target == null) { - npc.setTarget(monster); + npc.setTarget(getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500))); } if ((target != null) && !target.isInvul() && target.isTargetable() && GeoEngine.getInstance().canSeeTarget(npc, target) && !CommonUtil.contains(NOT_ATK_NPCS, target.getId()) && !CommonUtil.contains(ETINA_HELPERS, target.getId())) { @@ -127,28 +126,22 @@ public class EtinaHelperSporcha extends AbstractNpcAI public void onCreatureAttacked(OnCreatureAttacked event) { final FriendlyNpc npc = (FriendlyNpc) event.getTarget(); - if (npc != null) + if ((npc != null) && !npc.isInCombat()) { final Instance instance = npc.getInstanceWorld(); - if ((instance != null) && !event.getAttacker().isPlayable() && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) + if ((instance != null) && !event.getAttacker().isPlayable() && (getRandom(50) < 5) && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) { - if (!npc.isInCombat()) - { - if (getRandom(50) < 5) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_GET_IN_MY_WAY); - } - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_GET_IN_MY_WAY); } } } public void onInstanceStatusChange(OnInstanceStatusChange event) { - final Instance instance = event.getWorld(); final int status = event.getStatus(); if ((status == 1) || (status == 2) || (status == 3)) { + final Instance instance = event.getWorld(); instance.getAliveNpcs(ETINA_HELPER_SPORCHA).forEach(etinaHelperSporcha -> getTimers().addRepeatingTimer("CHECK_ACTION", 3000, etinaHelperSporcha, null)); } } diff --git a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtisVanEtinaSolo.java b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtisVanEtinaSolo.java index 4ff1354ff1..47065c3056 100644 --- a/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtisVanEtinaSolo.java +++ b/L2J_Mobius_08.2_Homunculus/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtisVanEtinaSolo.java @@ -479,20 +479,20 @@ public class EtisVanEtinaSolo extends AbstractInstance final Instance world = attacker.getInstanceWorld(); if (isInInstance(world)) { - final boolean CAMILLE_30 = world.getParameters().getBoolean("CAMILLE_30", false); - final boolean CAMILLE_60 = world.getParameters().getBoolean("CAMILLE_60", false); - final boolean KAIN_30 = world.getParameters().getBoolean("KAIN_30", false); - final boolean KAIN_60 = world.getParameters().getBoolean("KAIN_60", false); - final boolean ETINA_80 = world.getParameters().getBoolean("ETINA_80", false); - final boolean ETINA_15 = world.getParameters().getBoolean("ETINA_15", false); + final boolean camille30 = world.getParameters().getBoolean("CAMILLE_30", false); + final boolean camille60 = world.getParameters().getBoolean("CAMILLE_60", false); + final boolean kain30 = world.getParameters().getBoolean("KAIN_30", false); + final boolean kain60 = world.getParameters().getBoolean("KAIN_60", false); + final boolean etina80 = world.getParameters().getBoolean("ETINA_80", false); + final boolean etina15 = world.getParameters().getBoolean("ETINA_15", false); if (npc.getId() == CAMILLE) { - if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.3)) && !CAMILLE_30) + if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.3)) && !camille30) { world.getParameters().set("CAMILLE_30", true); world.spawnGroup("CAMILLE_MINIONS"); } - else if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.6)) && !CAMILLE_60) + else if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.6)) && !camille60) { world.getParameters().set("CAMILLE_60", true); world.spawnGroup("CAMILLE_MINIONS"); @@ -500,13 +500,13 @@ public class EtisVanEtinaSolo extends AbstractInstance } else if (npc.getId() == KAIN_VAN_HALTER) { - if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.3)) && !KAIN_30) + if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.3)) && !kain30) { world.getParameters().set("KAIN_30", true); showOnScreenMsg(world, NpcStringId.ETIS_VAN_ETINA_SUMMONS_HIS_APOSTLES_MINIONS, ExShowScreenMessage.TOP_CENTER, 7000, true); world.spawnGroup("KAIN_MINIONS"); } - else if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.6)) && !KAIN_60) + else if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.6)) && !kain60) { world.getParameters().set("KAIN_60", true); showOnScreenMsg(world, NpcStringId.ETIS_VAN_ETINA_SUMMONS_HIS_APOSTLES_MINIONS, ExShowScreenMessage.TOP_CENTER, 7000, true); @@ -515,7 +515,7 @@ public class EtisVanEtinaSolo extends AbstractInstance } else if ((npc.getId() == ETIS_VAN_ETINA1)) { - if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.8)) && !ETINA_80) + if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.8)) && !etina80) { final Npc etina1 = world.getNpc(ETIS_VAN_ETINA1); world.getParameters().set("ETINA_80", true); @@ -532,7 +532,7 @@ public class EtisVanEtinaSolo extends AbstractInstance startQuestTimer("calamityCastTimer", 120000, npc, attacker, true); startQuestTimer("destructionCastTimer", 120000, npc, attacker, true); } - else if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.15)) && !ETINA_15) + else if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.15)) && !etina15) { world.getParameters().set("ETINA_15", true); world.spawnGroup("ETINA_MINIONS"); @@ -704,6 +704,7 @@ public class EtisVanEtinaSolo extends AbstractInstance break; } } + break; } } } diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperAliber.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperAliber.java index 835aede826..04b117baf1 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperAliber.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperAliber.java @@ -87,6 +87,7 @@ public class EtinaHelperAliber extends AbstractNpcAI 292, // Fall of Etina (Solo) 293, // Fall of Etina (Solo) }; + //@formatter:on private EtinaHelperAliber() { @@ -108,7 +109,6 @@ public class EtinaHelperAliber extends AbstractNpcAI { final StatSet npcVars = npc.getVariables(); final Player plr = npcVars.getObject("PLAYER_OBJECT", Player.class); - final Monster monster = getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500)); if (plr != null) { final double distance = npc.calculateDistance2D(plr); @@ -132,7 +132,7 @@ public class EtinaHelperAliber extends AbstractNpcAI WorldObject target = npc.getTarget(); if (target == null) { - npc.setTarget(monster); + npc.setTarget(getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500))); } if ((target != null) && !target.isInvul() && target.isTargetable() && GeoEngine.getInstance().canSeeTarget(npc, target) && !CommonUtil.contains(NOT_ATK_NPCS, target.getId()) && !CommonUtil.contains(ETINA_HELPERS, target.getId())) { @@ -149,18 +149,18 @@ public class EtinaHelperAliber extends AbstractNpcAI } case "DESTROY_BARRICADES": { - final FriendlyNpc _aliber = (FriendlyNpc) instance.getNpc(ETINA_HELPER_ALIBER); - boolean BARRICADE_DESTROYED = instance.getParameters().getBoolean("BARRICADE_DESTROYED", false); + final FriendlyNpc aliber = (FriendlyNpc) instance.getNpc(ETINA_HELPER_ALIBER); + boolean destroyed = instance.getParameters().getBoolean("BARRICADE_DESTROYED", false); if (!instance.getNpcsOfGroup("BARRICADES_1").isEmpty()) { - _aliber.setRunning(); - _aliber.setInvul(true); - _aliber.setCanReturnToSpawnPoint(false); - _aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[0]); - if (_aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[0], 200) && !BARRICADE_DESTROYED) + aliber.setRunning(); + aliber.setInvul(true); + aliber.setCanReturnToSpawnPoint(false); + aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[0]); + if (aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[0], 200) && !destroyed) { - _aliber.broadcastPacket(new MagicSkillUse(_aliber, _aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); - _aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); + aliber.broadcastPacket(new MagicSkillUse(aliber, aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); + aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); instance.getNpcsOfGroup("BARRICADES_1").forEach(barricade -> { if (barricade != null) @@ -174,12 +174,12 @@ public class EtinaHelperAliber extends AbstractNpcAI } else if (!instance.getNpcsOfGroup("BARRICADES_2").isEmpty() && instance.getAliveNpcs(CORRIDOR_MOBS_1).isEmpty() && instance.getNpcsOfGroup("BARRICADES_1").isEmpty()) { - _aliber.setRunning(); - _aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[1]); - if (_aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[1], 200) && !BARRICADE_DESTROYED) + aliber.setRunning(); + aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[1]); + if (aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[1], 200) && !destroyed) { - _aliber.broadcastPacket(new MagicSkillUse(_aliber, _aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); - _aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); + aliber.broadcastPacket(new MagicSkillUse(aliber, aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); + aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); instance.getNpcsOfGroup("BARRICADES_2").forEach(barricade -> { if (barricade != null) @@ -193,12 +193,12 @@ public class EtinaHelperAliber extends AbstractNpcAI } else if (!instance.getNpcsOfGroup("BARRICADES_3").isEmpty() && instance.getAliveNpcs(CORRIDOR_MOBS_2).isEmpty() && instance.getNpcsOfGroup("BARRICADES_2").isEmpty()) { - _aliber.setRunning(); - _aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[2]); - if (_aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[2], 200) && !BARRICADE_DESTROYED) + aliber.setRunning(); + aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[2]); + if (aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[2], 200) && !destroyed) { - _aliber.broadcastPacket(new MagicSkillUse(_aliber, _aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); - _aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); + aliber.broadcastPacket(new MagicSkillUse(aliber, aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); + aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); instance.getNpcsOfGroup("BARRICADES_3").forEach(barricade -> { if (barricade != null) @@ -212,12 +212,12 @@ public class EtinaHelperAliber extends AbstractNpcAI } else if (!instance.getNpcsOfGroup("BARRICADES_4").isEmpty() && instance.getAliveNpcs(CORRIDOR_MOBS_3).isEmpty() && instance.getNpcsOfGroup("BARRICADES_3").isEmpty()) { - _aliber.setRunning(); - _aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[3]); - if (_aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[3], 200) && !BARRICADE_DESTROYED) + aliber.setRunning(); + aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[3]); + if (aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[3], 200) && !destroyed) { - _aliber.broadcastPacket(new MagicSkillUse(_aliber, _aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); - _aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); + aliber.broadcastPacket(new MagicSkillUse(aliber, aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); + aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); instance.getNpcsOfGroup("BARRICADES_4").forEach(barricade -> { if (barricade != null) @@ -229,8 +229,8 @@ public class EtinaHelperAliber extends AbstractNpcAI instance.despawnGroup("BARRICADES_4"); } } - } break; + } } } } @@ -238,28 +238,22 @@ public class EtinaHelperAliber extends AbstractNpcAI public void onCreatureAttacked(OnCreatureAttacked event) { final FriendlyNpc npc = (FriendlyNpc) event.getTarget(); - if (npc != null) + if ((npc != null) && !npc.isInCombat()) { final Instance instance = npc.getInstanceWorld(); - if ((instance != null) && !event.getAttacker().isPlayable() && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) + if ((instance != null) && !event.getAttacker().isPlayable() && (getRandom(50) < 5) && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) { - if (!npc.isInCombat()) - { - if (getRandom(50) < 5) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.RAGE_AGAINST_ALL_THAT_STANDS_IN_OUR_WAY); - } - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.RAGE_AGAINST_ALL_THAT_STANDS_IN_OUR_WAY); } } } public void onInstanceStatusChange(OnInstanceStatusChange event) { - final Instance instance = event.getWorld(); final int status = event.getStatus(); if ((status == 1) || (status == 2) || (status == 3)) { + final Instance instance = event.getWorld(); instance.getAliveNpcs(ETINA_HELPER_ALIBER).forEach(etinaHelperAliber -> getTimers().addRepeatingTimer("CHECK_ACTION", 3000, etinaHelperAliber, null)); instance.getAliveNpcs(ETINA_HELPER_ALIBER).forEach(etinaHelperAliber -> getTimers().addRepeatingTimer("USE_SKILL", 6000, etinaHelperAliber, null)); instance.getAliveNpcs(ETINA_HELPER_ALIBER).forEach(etinaHelperAliber -> getTimers().addRepeatingTimer("DESTROY_BARRICADES", 5000, etinaHelperAliber, null)); diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperDevianne.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperDevianne.java index 8fbc21fb8b..f1945749b2 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperDevianne.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperDevianne.java @@ -85,7 +85,6 @@ public class EtinaHelperDevianne extends AbstractNpcAI { final StatSet npcVars = npc.getVariables(); final Player plr = npcVars.getObject("PLAYER_OBJECT", Player.class); - final Monster monster = getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500)); if (plr != null) { final double distance = npc.calculateDistance2D(plr); @@ -109,7 +108,7 @@ public class EtinaHelperDevianne extends AbstractNpcAI WorldObject target = npc.getTarget(); if (target == null) { - npc.setTarget(monster); + npc.setTarget(getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500))); } if ((target != null) && !target.isInvul() && target.isTargetable() && GeoEngine.getInstance().canSeeTarget(npc, target) && !CommonUtil.contains(NOT_ATK_NPCS, target.getId()) && !CommonUtil.contains(ETINA_HELPERS, target.getId())) { @@ -127,29 +126,22 @@ public class EtinaHelperDevianne extends AbstractNpcAI public void onCreatureAttacked(OnCreatureAttacked event) { final FriendlyNpc npc = (FriendlyNpc) event.getTarget(); - if (npc != null) + if ((npc != null) && !npc.isInCombat()) { final Instance instance = npc.getInstanceWorld(); - if ((instance != null) && !event.getAttacker().isPlayable() && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) + if ((instance != null) && !event.getAttacker().isPlayable() && (getRandom(50) < 5) && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) { - if (!npc.isInCombat()) - { - if (getRandom(50) < 5) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.BEHOLD_THE_POWER_OF_THE_IVORY_TOWER_WIZARDS); - } - - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.BEHOLD_THE_POWER_OF_THE_IVORY_TOWER_WIZARDS); } } } public void onInstanceStatusChange(OnInstanceStatusChange event) { - final Instance instance = event.getWorld(); final int status = event.getStatus(); if ((status == 1) || (status == 2) || (status == 3)) { + final Instance instance = event.getWorld(); instance.getAliveNpcs(ETINA_HELPER_DEVIANNE).forEach(etinaHelperDevianne -> getTimers().addRepeatingTimer("CHECK_ACTION", 3000, etinaHelperDevianne, null)); } } diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperElikia.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperElikia.java index 93b2d758bd..73dcc2ec56 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperElikia.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperElikia.java @@ -85,7 +85,6 @@ public class EtinaHelperElikia extends AbstractNpcAI { final StatSet npcVars = npc.getVariables(); final Player plr = npcVars.getObject("PLAYER_OBJECT", Player.class); - final Monster monster = getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500)); if (plr != null) { final double distance = npc.calculateDistance2D(plr); @@ -109,7 +108,7 @@ public class EtinaHelperElikia extends AbstractNpcAI WorldObject target = npc.getTarget(); if (target == null) { - npc.setTarget(monster); + npc.setTarget(getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500))); } if ((target != null) && !target.isInvul() && target.isTargetable() && GeoEngine.getInstance().canSeeTarget(npc, target) && !CommonUtil.contains(NOT_ATK_NPCS, target.getId()) && !CommonUtil.contains(ETINA_HELPERS, target.getId())) { @@ -127,28 +126,22 @@ public class EtinaHelperElikia extends AbstractNpcAI public void onCreatureAttacked(OnCreatureAttacked event) { final FriendlyNpc npc = (FriendlyNpc) event.getTarget(); - if (npc != null) + if ((npc != null) && !npc.isInCombat()) { final Instance instance = npc.getInstanceWorld(); - if ((instance != null) && !event.getAttacker().isPlayable() && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) + if ((instance != null) && !event.getAttacker().isPlayable() && (getRandom(50) < 5) && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) { - if (!npc.isInCombat()) - { - if (getRandom(50) < 5) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_GET_IN_MY_WAY); - } - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_GET_IN_MY_WAY); } } } public void onInstanceStatusChange(OnInstanceStatusChange event) { - final Instance instance = event.getWorld(); final int status = event.getStatus(); if ((status == 1) || (status == 2) || (status == 3)) { + final Instance instance = event.getWorld(); instance.getAliveNpcs(ETINA_HELPER_ELIKIA).forEach(etinaHelperElikia -> getTimers().addRepeatingTimer("CHECK_ACTION", 3000, etinaHelperElikia, null)); } } diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperLeona.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperLeona.java index 809d0c740b..478b1680f0 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperLeona.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperLeona.java @@ -90,7 +90,6 @@ public class EtinaHelperLeona extends AbstractNpcAI { final StatSet npcVars = npc.getVariables(); final Player plr = npcVars.getObject("PLAYER_OBJECT", Player.class); - final Monster monster = getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500)); if (plr != null) { final double distance = npc.calculateDistance2D(plr); @@ -114,7 +113,7 @@ public class EtinaHelperLeona extends AbstractNpcAI WorldObject target = npc.getTarget(); if (target == null) { - npc.setTarget(monster); + npc.setTarget(getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500))); } if ((target != null) && !target.isInvul() && target.isTargetable() && GeoEngine.getInstance().canSeeTarget(npc, target) && !CommonUtil.contains(NOT_ATK_NPCS, target.getId()) && !CommonUtil.contains(ETINA_HELPERS, target.getId())) { @@ -133,42 +132,39 @@ public class EtinaHelperLeona extends AbstractNpcAI { final FriendlyNpc npc = (FriendlyNpc) event.getTarget(); final Npc attacker = (Npc) event.getAttacker(); - if (npc != null) + if ((npc != null) && !npc.isInCombat()) { final Instance instance = npc.getInstanceWorld(); if ((instance != null) && !event.getAttacker().isPlayable() && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) { - if (!npc.isInCombat()) + switch (attacker.getId()) { - switch (attacker.getId()) + case CAMILLE: { - default: + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.GISELLE_NO_IS_SHE_CAMILLE_IN_THAT_STATE); + break; + } + case KAIN_VAN_HALTER: + { + break; + } + case ETIS_VAN_ETINA1: + { + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.EVEN_THE_MIGHTY_ETINA_SEEMS_TO_FEAR_US); + break; + } + case ETIS_VAN_ETINA2: + { + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.ETIS_VAN_ETINA_WE_FINALLY_MEET); + break; + } + default: + { + if (getRandom(50) < 5) { - if (getRandom(50) < 5) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_GET_IN_MY_WAY); - } - break; - } - case CAMILLE: - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.GISELLE_NO_IS_SHE_CAMILLE_IN_THAT_STATE); - break; - } - case KAIN_VAN_HALTER: - { - break; - } - case ETIS_VAN_ETINA1: - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.EVEN_THE_MIGHTY_ETINA_SEEMS_TO_FEAR_US); - break; - } - case ETIS_VAN_ETINA2: - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.ETIS_VAN_ETINA_WE_FINALLY_MEET); - break; + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_GET_IN_MY_WAY); } + break; } } } @@ -177,10 +173,10 @@ public class EtinaHelperLeona extends AbstractNpcAI public void onInstanceStatusChange(OnInstanceStatusChange event) { - final Instance instance = event.getWorld(); final int status = event.getStatus(); if ((status == 1) || (status == 2) || (status == 3)) { + final Instance instance = event.getWorld(); instance.getAliveNpcs(ETINA_HELPER_LEONA).forEach(etinaHelperLeona -> getTimers().addRepeatingTimer("CHECK_ACTION", 3000, etinaHelperLeona, null)); // instance.getAliveNpcs(ETINA_HELPER_LEONA).forEach(etinaHelperLeona -> getTimers().addRepeatingTimer("USE_SKILL", 6000, etinaHelperLeona, null)); } diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperSporcha.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperSporcha.java index ad19a93d79..bad229abb4 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperSporcha.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperSporcha.java @@ -85,7 +85,6 @@ public class EtinaHelperSporcha extends AbstractNpcAI { final StatSet npcVars = npc.getVariables(); final Player plr = npcVars.getObject("PLAYER_OBJECT", Player.class); - final Monster monster = getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500)); if (plr != null) { final double distance = npc.calculateDistance2D(plr); @@ -109,7 +108,7 @@ public class EtinaHelperSporcha extends AbstractNpcAI WorldObject target = npc.getTarget(); if (target == null) { - npc.setTarget(monster); + npc.setTarget(getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500))); } if ((target != null) && !target.isInvul() && target.isTargetable() && GeoEngine.getInstance().canSeeTarget(npc, target) && !CommonUtil.contains(NOT_ATK_NPCS, target.getId()) && !CommonUtil.contains(ETINA_HELPERS, target.getId())) { @@ -127,28 +126,22 @@ public class EtinaHelperSporcha extends AbstractNpcAI public void onCreatureAttacked(OnCreatureAttacked event) { final FriendlyNpc npc = (FriendlyNpc) event.getTarget(); - if (npc != null) + if ((npc != null) && !npc.isInCombat()) { final Instance instance = npc.getInstanceWorld(); - if ((instance != null) && !event.getAttacker().isPlayable() && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) + if ((instance != null) && !event.getAttacker().isPlayable() && (getRandom(50) < 5) && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) { - if (!npc.isInCombat()) - { - if (getRandom(50) < 5) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_GET_IN_MY_WAY); - } - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_GET_IN_MY_WAY); } } } public void onInstanceStatusChange(OnInstanceStatusChange event) { - final Instance instance = event.getWorld(); final int status = event.getStatus(); if ((status == 1) || (status == 2) || (status == 3)) { + final Instance instance = event.getWorld(); instance.getAliveNpcs(ETINA_HELPER_SPORCHA).forEach(etinaHelperSporcha -> getTimers().addRepeatingTimer("CHECK_ACTION", 3000, etinaHelperSporcha, null)); } } diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtisVanEtinaSolo.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtisVanEtinaSolo.java index 4ff1354ff1..47065c3056 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtisVanEtinaSolo.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtisVanEtinaSolo.java @@ -479,20 +479,20 @@ public class EtisVanEtinaSolo extends AbstractInstance final Instance world = attacker.getInstanceWorld(); if (isInInstance(world)) { - final boolean CAMILLE_30 = world.getParameters().getBoolean("CAMILLE_30", false); - final boolean CAMILLE_60 = world.getParameters().getBoolean("CAMILLE_60", false); - final boolean KAIN_30 = world.getParameters().getBoolean("KAIN_30", false); - final boolean KAIN_60 = world.getParameters().getBoolean("KAIN_60", false); - final boolean ETINA_80 = world.getParameters().getBoolean("ETINA_80", false); - final boolean ETINA_15 = world.getParameters().getBoolean("ETINA_15", false); + final boolean camille30 = world.getParameters().getBoolean("CAMILLE_30", false); + final boolean camille60 = world.getParameters().getBoolean("CAMILLE_60", false); + final boolean kain30 = world.getParameters().getBoolean("KAIN_30", false); + final boolean kain60 = world.getParameters().getBoolean("KAIN_60", false); + final boolean etina80 = world.getParameters().getBoolean("ETINA_80", false); + final boolean etina15 = world.getParameters().getBoolean("ETINA_15", false); if (npc.getId() == CAMILLE) { - if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.3)) && !CAMILLE_30) + if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.3)) && !camille30) { world.getParameters().set("CAMILLE_30", true); world.spawnGroup("CAMILLE_MINIONS"); } - else if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.6)) && !CAMILLE_60) + else if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.6)) && !camille60) { world.getParameters().set("CAMILLE_60", true); world.spawnGroup("CAMILLE_MINIONS"); @@ -500,13 +500,13 @@ public class EtisVanEtinaSolo extends AbstractInstance } else if (npc.getId() == KAIN_VAN_HALTER) { - if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.3)) && !KAIN_30) + if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.3)) && !kain30) { world.getParameters().set("KAIN_30", true); showOnScreenMsg(world, NpcStringId.ETIS_VAN_ETINA_SUMMONS_HIS_APOSTLES_MINIONS, ExShowScreenMessage.TOP_CENTER, 7000, true); world.spawnGroup("KAIN_MINIONS"); } - else if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.6)) && !KAIN_60) + else if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.6)) && !kain60) { world.getParameters().set("KAIN_60", true); showOnScreenMsg(world, NpcStringId.ETIS_VAN_ETINA_SUMMONS_HIS_APOSTLES_MINIONS, ExShowScreenMessage.TOP_CENTER, 7000, true); @@ -515,7 +515,7 @@ public class EtisVanEtinaSolo extends AbstractInstance } else if ((npc.getId() == ETIS_VAN_ETINA1)) { - if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.8)) && !ETINA_80) + if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.8)) && !etina80) { final Npc etina1 = world.getNpc(ETIS_VAN_ETINA1); world.getParameters().set("ETINA_80", true); @@ -532,7 +532,7 @@ public class EtisVanEtinaSolo extends AbstractInstance startQuestTimer("calamityCastTimer", 120000, npc, attacker, true); startQuestTimer("destructionCastTimer", 120000, npc, attacker, true); } - else if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.15)) && !ETINA_15) + else if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.15)) && !etina15) { world.getParameters().set("ETINA_15", true); world.spawnGroup("ETINA_MINIONS"); @@ -704,6 +704,7 @@ public class EtisVanEtinaSolo extends AbstractInstance break; } } + break; } } } diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperAliber.java b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperAliber.java index 835aede826..04b117baf1 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperAliber.java +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperAliber.java @@ -87,6 +87,7 @@ public class EtinaHelperAliber extends AbstractNpcAI 292, // Fall of Etina (Solo) 293, // Fall of Etina (Solo) }; + //@formatter:on private EtinaHelperAliber() { @@ -108,7 +109,6 @@ public class EtinaHelperAliber extends AbstractNpcAI { final StatSet npcVars = npc.getVariables(); final Player plr = npcVars.getObject("PLAYER_OBJECT", Player.class); - final Monster monster = getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500)); if (plr != null) { final double distance = npc.calculateDistance2D(plr); @@ -132,7 +132,7 @@ public class EtinaHelperAliber extends AbstractNpcAI WorldObject target = npc.getTarget(); if (target == null) { - npc.setTarget(monster); + npc.setTarget(getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500))); } if ((target != null) && !target.isInvul() && target.isTargetable() && GeoEngine.getInstance().canSeeTarget(npc, target) && !CommonUtil.contains(NOT_ATK_NPCS, target.getId()) && !CommonUtil.contains(ETINA_HELPERS, target.getId())) { @@ -149,18 +149,18 @@ public class EtinaHelperAliber extends AbstractNpcAI } case "DESTROY_BARRICADES": { - final FriendlyNpc _aliber = (FriendlyNpc) instance.getNpc(ETINA_HELPER_ALIBER); - boolean BARRICADE_DESTROYED = instance.getParameters().getBoolean("BARRICADE_DESTROYED", false); + final FriendlyNpc aliber = (FriendlyNpc) instance.getNpc(ETINA_HELPER_ALIBER); + boolean destroyed = instance.getParameters().getBoolean("BARRICADE_DESTROYED", false); if (!instance.getNpcsOfGroup("BARRICADES_1").isEmpty()) { - _aliber.setRunning(); - _aliber.setInvul(true); - _aliber.setCanReturnToSpawnPoint(false); - _aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[0]); - if (_aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[0], 200) && !BARRICADE_DESTROYED) + aliber.setRunning(); + aliber.setInvul(true); + aliber.setCanReturnToSpawnPoint(false); + aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[0]); + if (aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[0], 200) && !destroyed) { - _aliber.broadcastPacket(new MagicSkillUse(_aliber, _aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); - _aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); + aliber.broadcastPacket(new MagicSkillUse(aliber, aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); + aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); instance.getNpcsOfGroup("BARRICADES_1").forEach(barricade -> { if (barricade != null) @@ -174,12 +174,12 @@ public class EtinaHelperAliber extends AbstractNpcAI } else if (!instance.getNpcsOfGroup("BARRICADES_2").isEmpty() && instance.getAliveNpcs(CORRIDOR_MOBS_1).isEmpty() && instance.getNpcsOfGroup("BARRICADES_1").isEmpty()) { - _aliber.setRunning(); - _aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[1]); - if (_aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[1], 200) && !BARRICADE_DESTROYED) + aliber.setRunning(); + aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[1]); + if (aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[1], 200) && !destroyed) { - _aliber.broadcastPacket(new MagicSkillUse(_aliber, _aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); - _aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); + aliber.broadcastPacket(new MagicSkillUse(aliber, aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); + aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); instance.getNpcsOfGroup("BARRICADES_2").forEach(barricade -> { if (barricade != null) @@ -193,12 +193,12 @@ public class EtinaHelperAliber extends AbstractNpcAI } else if (!instance.getNpcsOfGroup("BARRICADES_3").isEmpty() && instance.getAliveNpcs(CORRIDOR_MOBS_2).isEmpty() && instance.getNpcsOfGroup("BARRICADES_2").isEmpty()) { - _aliber.setRunning(); - _aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[2]); - if (_aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[2], 200) && !BARRICADE_DESTROYED) + aliber.setRunning(); + aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[2]); + if (aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[2], 200) && !destroyed) { - _aliber.broadcastPacket(new MagicSkillUse(_aliber, _aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); - _aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); + aliber.broadcastPacket(new MagicSkillUse(aliber, aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); + aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); instance.getNpcsOfGroup("BARRICADES_3").forEach(barricade -> { if (barricade != null) @@ -212,12 +212,12 @@ public class EtinaHelperAliber extends AbstractNpcAI } else if (!instance.getNpcsOfGroup("BARRICADES_4").isEmpty() && instance.getAliveNpcs(CORRIDOR_MOBS_3).isEmpty() && instance.getNpcsOfGroup("BARRICADES_3").isEmpty()) { - _aliber.setRunning(); - _aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[3]); - if (_aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[3], 200) && !BARRICADE_DESTROYED) + aliber.setRunning(); + aliber.getAI().setIntention(CtrlIntention.AI_INTENTION_MOVE_TO, SKILL_CAST_LOCATIONS[3]); + if (aliber.getLocation().isIn2DRadius(SKILL_CAST_LOCATIONS[3], 200) && !destroyed) { - _aliber.broadcastPacket(new MagicSkillUse(_aliber, _aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); - _aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); + aliber.broadcastPacket(new MagicSkillUse(aliber, aliber, BARRICADE_DESTRUCTION.getSkillId(), 1, 500, 0)); + aliber.broadcastPacket(new ExShowScreenMessage(NpcStringId.ALIBER_IS_CASTING_A_SPELL_TO_DESTROY_THE_BARRICADE, ExShowScreenMessage.TOP_CENTER, 7000, true)); instance.getNpcsOfGroup("BARRICADES_4").forEach(barricade -> { if (barricade != null) @@ -229,8 +229,8 @@ public class EtinaHelperAliber extends AbstractNpcAI instance.despawnGroup("BARRICADES_4"); } } - } break; + } } } } @@ -238,28 +238,22 @@ public class EtinaHelperAliber extends AbstractNpcAI public void onCreatureAttacked(OnCreatureAttacked event) { final FriendlyNpc npc = (FriendlyNpc) event.getTarget(); - if (npc != null) + if ((npc != null) && !npc.isInCombat()) { final Instance instance = npc.getInstanceWorld(); - if ((instance != null) && !event.getAttacker().isPlayable() && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) + if ((instance != null) && !event.getAttacker().isPlayable() && (getRandom(50) < 5) && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) { - if (!npc.isInCombat()) - { - if (getRandom(50) < 5) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.RAGE_AGAINST_ALL_THAT_STANDS_IN_OUR_WAY); - } - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.RAGE_AGAINST_ALL_THAT_STANDS_IN_OUR_WAY); } } } public void onInstanceStatusChange(OnInstanceStatusChange event) { - final Instance instance = event.getWorld(); final int status = event.getStatus(); if ((status == 1) || (status == 2) || (status == 3)) { + final Instance instance = event.getWorld(); instance.getAliveNpcs(ETINA_HELPER_ALIBER).forEach(etinaHelperAliber -> getTimers().addRepeatingTimer("CHECK_ACTION", 3000, etinaHelperAliber, null)); instance.getAliveNpcs(ETINA_HELPER_ALIBER).forEach(etinaHelperAliber -> getTimers().addRepeatingTimer("USE_SKILL", 6000, etinaHelperAliber, null)); instance.getAliveNpcs(ETINA_HELPER_ALIBER).forEach(etinaHelperAliber -> getTimers().addRepeatingTimer("DESTROY_BARRICADES", 5000, etinaHelperAliber, null)); diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperDevianne.java b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperDevianne.java index 8fbc21fb8b..f1945749b2 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperDevianne.java +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperDevianne.java @@ -85,7 +85,6 @@ public class EtinaHelperDevianne extends AbstractNpcAI { final StatSet npcVars = npc.getVariables(); final Player plr = npcVars.getObject("PLAYER_OBJECT", Player.class); - final Monster monster = getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500)); if (plr != null) { final double distance = npc.calculateDistance2D(plr); @@ -109,7 +108,7 @@ public class EtinaHelperDevianne extends AbstractNpcAI WorldObject target = npc.getTarget(); if (target == null) { - npc.setTarget(monster); + npc.setTarget(getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500))); } if ((target != null) && !target.isInvul() && target.isTargetable() && GeoEngine.getInstance().canSeeTarget(npc, target) && !CommonUtil.contains(NOT_ATK_NPCS, target.getId()) && !CommonUtil.contains(ETINA_HELPERS, target.getId())) { @@ -127,29 +126,22 @@ public class EtinaHelperDevianne extends AbstractNpcAI public void onCreatureAttacked(OnCreatureAttacked event) { final FriendlyNpc npc = (FriendlyNpc) event.getTarget(); - if (npc != null) + if ((npc != null) && !npc.isInCombat()) { final Instance instance = npc.getInstanceWorld(); - if ((instance != null) && !event.getAttacker().isPlayable() && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) + if ((instance != null) && !event.getAttacker().isPlayable() && (getRandom(50) < 5) && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) { - if (!npc.isInCombat()) - { - if (getRandom(50) < 5) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.BEHOLD_THE_POWER_OF_THE_IVORY_TOWER_WIZARDS); - } - - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.BEHOLD_THE_POWER_OF_THE_IVORY_TOWER_WIZARDS); } } } public void onInstanceStatusChange(OnInstanceStatusChange event) { - final Instance instance = event.getWorld(); final int status = event.getStatus(); if ((status == 1) || (status == 2) || (status == 3)) { + final Instance instance = event.getWorld(); instance.getAliveNpcs(ETINA_HELPER_DEVIANNE).forEach(etinaHelperDevianne -> getTimers().addRepeatingTimer("CHECK_ACTION", 3000, etinaHelperDevianne, null)); } } diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperElikia.java b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperElikia.java index 93b2d758bd..73dcc2ec56 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperElikia.java +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperElikia.java @@ -85,7 +85,6 @@ public class EtinaHelperElikia extends AbstractNpcAI { final StatSet npcVars = npc.getVariables(); final Player plr = npcVars.getObject("PLAYER_OBJECT", Player.class); - final Monster monster = getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500)); if (plr != null) { final double distance = npc.calculateDistance2D(plr); @@ -109,7 +108,7 @@ public class EtinaHelperElikia extends AbstractNpcAI WorldObject target = npc.getTarget(); if (target == null) { - npc.setTarget(monster); + npc.setTarget(getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500))); } if ((target != null) && !target.isInvul() && target.isTargetable() && GeoEngine.getInstance().canSeeTarget(npc, target) && !CommonUtil.contains(NOT_ATK_NPCS, target.getId()) && !CommonUtil.contains(ETINA_HELPERS, target.getId())) { @@ -127,28 +126,22 @@ public class EtinaHelperElikia extends AbstractNpcAI public void onCreatureAttacked(OnCreatureAttacked event) { final FriendlyNpc npc = (FriendlyNpc) event.getTarget(); - if (npc != null) + if ((npc != null) && !npc.isInCombat()) { final Instance instance = npc.getInstanceWorld(); - if ((instance != null) && !event.getAttacker().isPlayable() && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) + if ((instance != null) && !event.getAttacker().isPlayable() && (getRandom(50) < 5) && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) { - if (!npc.isInCombat()) - { - if (getRandom(50) < 5) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_GET_IN_MY_WAY); - } - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_GET_IN_MY_WAY); } } } public void onInstanceStatusChange(OnInstanceStatusChange event) { - final Instance instance = event.getWorld(); final int status = event.getStatus(); if ((status == 1) || (status == 2) || (status == 3)) { + final Instance instance = event.getWorld(); instance.getAliveNpcs(ETINA_HELPER_ELIKIA).forEach(etinaHelperElikia -> getTimers().addRepeatingTimer("CHECK_ACTION", 3000, etinaHelperElikia, null)); } } diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperLeona.java b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperLeona.java index 809d0c740b..478b1680f0 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperLeona.java +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperLeona.java @@ -90,7 +90,6 @@ public class EtinaHelperLeona extends AbstractNpcAI { final StatSet npcVars = npc.getVariables(); final Player plr = npcVars.getObject("PLAYER_OBJECT", Player.class); - final Monster monster = getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500)); if (plr != null) { final double distance = npc.calculateDistance2D(plr); @@ -114,7 +113,7 @@ public class EtinaHelperLeona extends AbstractNpcAI WorldObject target = npc.getTarget(); if (target == null) { - npc.setTarget(monster); + npc.setTarget(getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500))); } if ((target != null) && !target.isInvul() && target.isTargetable() && GeoEngine.getInstance().canSeeTarget(npc, target) && !CommonUtil.contains(NOT_ATK_NPCS, target.getId()) && !CommonUtil.contains(ETINA_HELPERS, target.getId())) { @@ -133,42 +132,39 @@ public class EtinaHelperLeona extends AbstractNpcAI { final FriendlyNpc npc = (FriendlyNpc) event.getTarget(); final Npc attacker = (Npc) event.getAttacker(); - if (npc != null) + if ((npc != null) && !npc.isInCombat()) { final Instance instance = npc.getInstanceWorld(); if ((instance != null) && !event.getAttacker().isPlayable() && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) { - if (!npc.isInCombat()) + switch (attacker.getId()) { - switch (attacker.getId()) + case CAMILLE: { - default: + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.GISELLE_NO_IS_SHE_CAMILLE_IN_THAT_STATE); + break; + } + case KAIN_VAN_HALTER: + { + break; + } + case ETIS_VAN_ETINA1: + { + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.EVEN_THE_MIGHTY_ETINA_SEEMS_TO_FEAR_US); + break; + } + case ETIS_VAN_ETINA2: + { + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.ETIS_VAN_ETINA_WE_FINALLY_MEET); + break; + } + default: + { + if (getRandom(50) < 5) { - if (getRandom(50) < 5) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_GET_IN_MY_WAY); - } - break; - } - case CAMILLE: - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.GISELLE_NO_IS_SHE_CAMILLE_IN_THAT_STATE); - break; - } - case KAIN_VAN_HALTER: - { - break; - } - case ETIS_VAN_ETINA1: - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.EVEN_THE_MIGHTY_ETINA_SEEMS_TO_FEAR_US); - break; - } - case ETIS_VAN_ETINA2: - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.ETIS_VAN_ETINA_WE_FINALLY_MEET); - break; + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_GET_IN_MY_WAY); } + break; } } } @@ -177,10 +173,10 @@ public class EtinaHelperLeona extends AbstractNpcAI public void onInstanceStatusChange(OnInstanceStatusChange event) { - final Instance instance = event.getWorld(); final int status = event.getStatus(); if ((status == 1) || (status == 2) || (status == 3)) { + final Instance instance = event.getWorld(); instance.getAliveNpcs(ETINA_HELPER_LEONA).forEach(etinaHelperLeona -> getTimers().addRepeatingTimer("CHECK_ACTION", 3000, etinaHelperLeona, null)); // instance.getAliveNpcs(ETINA_HELPER_LEONA).forEach(etinaHelperLeona -> getTimers().addRepeatingTimer("USE_SKILL", 6000, etinaHelperLeona, null)); } diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperSporcha.java b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperSporcha.java index ad19a93d79..bad229abb4 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperSporcha.java +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtinaHelperSporcha.java @@ -85,7 +85,6 @@ public class EtinaHelperSporcha extends AbstractNpcAI { final StatSet npcVars = npc.getVariables(); final Player plr = npcVars.getObject("PLAYER_OBJECT", Player.class); - final Monster monster = getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500)); if (plr != null) { final double distance = npc.calculateDistance2D(plr); @@ -109,7 +108,7 @@ public class EtinaHelperSporcha extends AbstractNpcAI WorldObject target = npc.getTarget(); if (target == null) { - npc.setTarget(monster); + npc.setTarget(getRandomEntry(World.getInstance().getVisibleObjectsInRange(npc, Monster.class, 2500))); } if ((target != null) && !target.isInvul() && target.isTargetable() && GeoEngine.getInstance().canSeeTarget(npc, target) && !CommonUtil.contains(NOT_ATK_NPCS, target.getId()) && !CommonUtil.contains(ETINA_HELPERS, target.getId())) { @@ -127,28 +126,22 @@ public class EtinaHelperSporcha extends AbstractNpcAI public void onCreatureAttacked(OnCreatureAttacked event) { final FriendlyNpc npc = (FriendlyNpc) event.getTarget(); - if (npc != null) + if ((npc != null) && !npc.isInCombat()) { final Instance instance = npc.getInstanceWorld(); - if ((instance != null) && !event.getAttacker().isPlayable() && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) + if ((instance != null) && !event.getAttacker().isPlayable() && (getRandom(50) < 5) && !CommonUtil.contains(ETINA_HELPERS, event.getAttacker().getId())) { - if (!npc.isInCombat()) - { - if (getRandom(50) < 5) - { - npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_GET_IN_MY_WAY); - } - } + npc.broadcastSay(ChatType.NPC_GENERAL, NpcStringId.DON_T_GET_IN_MY_WAY); } } } public void onInstanceStatusChange(OnInstanceStatusChange event) { - final Instance instance = event.getWorld(); final int status = event.getStatus(); if ((status == 1) || (status == 2) || (status == 3)) { + final Instance instance = event.getWorld(); instance.getAliveNpcs(ETINA_HELPER_SPORCHA).forEach(etinaHelperSporcha -> getTimers().addRepeatingTimer("CHECK_ACTION", 3000, etinaHelperSporcha, null)); } } diff --git a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtisVanEtinaSolo.java b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtisVanEtinaSolo.java index 4ff1354ff1..47065c3056 100644 --- a/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtisVanEtinaSolo.java +++ b/L2J_Mobius_10.0_MasterClass/dist/game/data/scripts/instances/EtisVanEtinaSolo/EtisVanEtinaSolo.java @@ -479,20 +479,20 @@ public class EtisVanEtinaSolo extends AbstractInstance final Instance world = attacker.getInstanceWorld(); if (isInInstance(world)) { - final boolean CAMILLE_30 = world.getParameters().getBoolean("CAMILLE_30", false); - final boolean CAMILLE_60 = world.getParameters().getBoolean("CAMILLE_60", false); - final boolean KAIN_30 = world.getParameters().getBoolean("KAIN_30", false); - final boolean KAIN_60 = world.getParameters().getBoolean("KAIN_60", false); - final boolean ETINA_80 = world.getParameters().getBoolean("ETINA_80", false); - final boolean ETINA_15 = world.getParameters().getBoolean("ETINA_15", false); + final boolean camille30 = world.getParameters().getBoolean("CAMILLE_30", false); + final boolean camille60 = world.getParameters().getBoolean("CAMILLE_60", false); + final boolean kain30 = world.getParameters().getBoolean("KAIN_30", false); + final boolean kain60 = world.getParameters().getBoolean("KAIN_60", false); + final boolean etina80 = world.getParameters().getBoolean("ETINA_80", false); + final boolean etina15 = world.getParameters().getBoolean("ETINA_15", false); if (npc.getId() == CAMILLE) { - if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.3)) && !CAMILLE_30) + if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.3)) && !camille30) { world.getParameters().set("CAMILLE_30", true); world.spawnGroup("CAMILLE_MINIONS"); } - else if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.6)) && !CAMILLE_60) + else if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.6)) && !camille60) { world.getParameters().set("CAMILLE_60", true); world.spawnGroup("CAMILLE_MINIONS"); @@ -500,13 +500,13 @@ public class EtisVanEtinaSolo extends AbstractInstance } else if (npc.getId() == KAIN_VAN_HALTER) { - if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.3)) && !KAIN_30) + if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.3)) && !kain30) { world.getParameters().set("KAIN_30", true); showOnScreenMsg(world, NpcStringId.ETIS_VAN_ETINA_SUMMONS_HIS_APOSTLES_MINIONS, ExShowScreenMessage.TOP_CENTER, 7000, true); world.spawnGroup("KAIN_MINIONS"); } - else if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.6)) && !KAIN_60) + else if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.6)) && !kain60) { world.getParameters().set("KAIN_60", true); showOnScreenMsg(world, NpcStringId.ETIS_VAN_ETINA_SUMMONS_HIS_APOSTLES_MINIONS, ExShowScreenMessage.TOP_CENTER, 7000, true); @@ -515,7 +515,7 @@ public class EtisVanEtinaSolo extends AbstractInstance } else if ((npc.getId() == ETIS_VAN_ETINA1)) { - if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.8)) && !ETINA_80) + if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.8)) && !etina80) { final Npc etina1 = world.getNpc(ETIS_VAN_ETINA1); world.getParameters().set("ETINA_80", true); @@ -532,7 +532,7 @@ public class EtisVanEtinaSolo extends AbstractInstance startQuestTimer("calamityCastTimer", 120000, npc, attacker, true); startQuestTimer("destructionCastTimer", 120000, npc, attacker, true); } - else if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.15)) && !ETINA_15) + else if ((npc.getCurrentHp() <= (npc.getMaxHp() * 0.15)) && !etina15) { world.getParameters().set("ETINA_15", true); world.spawnGroup("ETINA_MINIONS"); @@ -704,6 +704,7 @@ public class EtisVanEtinaSolo extends AbstractInstance break; } } + break; } } }