From 3b16d9b270a9c8562162620bb95c792f6c423a17 Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Mon, 19 Dec 2016 18:23:15 +0000 Subject: [PATCH] Fixed incorrect Instance getAliveNpcs count. --- .../instances/ChamberOfProphecies/ChamberOfProphecies.java | 2 +- .../data/scripts/instances/EvilIncubator/EvilIncubator.java | 2 +- .../instances/KartiasLabyrinth/KartiasLabyrinth.java | 2 +- .../data/scripts/instances/MuseumDungeon/MuseumDungeon.java | 2 +- .../l2jmobius/gameserver/model/instancezone/Instance.java | 6 +++--- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java b/L2J_Mobius_Underground/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java index 6aa0820921..2d4fce9686 100644 --- a/L2J_Mobius_Underground/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java +++ b/L2J_Mobius_Underground/dist/game/data/scripts/instances/ChamberOfProphecies/ChamberOfProphecies.java @@ -160,7 +160,7 @@ public final class ChamberOfProphecies extends AbstractInstance npc.setIsRunning(true); ((L2Attackable) npc).setCanReturnToSpawnPoint(false); ((L2Attackable) npc).setCanStopAttackByTime(false); - if (npc.isScriptValue(0) && ((world.getAliveNpcs(ATTACABLE_MONSTERS).size() < 2) || world.getAliveNpcs(ATTACABLE_MONSTERS).isEmpty())) + if (npc.isScriptValue(0) && world.getAliveNpcs(ATTACABLE_MONSTERS).isEmpty()) { npc.setTarget(player); npc.getAI().setIntention(CtrlIntention.AI_INTENTION_FOLLOW, player); diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/instances/EvilIncubator/EvilIncubator.java b/L2J_Mobius_Underground/dist/game/data/scripts/instances/EvilIncubator/EvilIncubator.java index e355eded06..af5fbd6951 100644 --- a/L2J_Mobius_Underground/dist/game/data/scripts/instances/EvilIncubator/EvilIncubator.java +++ b/L2J_Mobius_Underground/dist/game/data/scripts/instances/EvilIncubator/EvilIncubator.java @@ -438,7 +438,7 @@ public final class EvilIncubator extends AbstractInstance } else if (waveId < 8) { - if (world.getAliveNpcs(MONSTERS).size() <= 1) + if (world.getAliveNpcs(MONSTERS).isEmpty()) { getTimers().addTimer("SPAWN_WAVE", 5000, e -> manageWaveSpawn(world)); } diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java b/L2J_Mobius_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java index 4b8d1e585b..854dbc5b86 100644 --- a/L2J_Mobius_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java +++ b/L2J_Mobius_Underground/dist/game/data/scripts/instances/KartiasLabyrinth/KartiasLabyrinth.java @@ -365,7 +365,7 @@ public final class KartiasLabyrinth extends AbstractInstance instance.openCloseDoor(instance.getTemplateParameters().getInt("thirdDoorId"), true); instance.setStatus(3); // Used for notify helper's AI } - else if (param.getBoolean("CONTINUE_AFTER_KILL", false) && (instance.getAliveNpcs(MONSTERS).size() <= 1)) + else if (param.getBoolean("CONTINUE_AFTER_KILL", false) && instance.getAliveNpcs(MONSTERS).isEmpty()) { param.set("CONTINUE_AFTER_KILL", false); getTimers().addTimer("CALL_PROGRESS", 5000, n -> manageProgressInInstance(instance)); diff --git a/L2J_Mobius_Underground/dist/game/data/scripts/instances/MuseumDungeon/MuseumDungeon.java b/L2J_Mobius_Underground/dist/game/data/scripts/instances/MuseumDungeon/MuseumDungeon.java index 00c7ec8544..e1cf0c7526 100644 --- a/L2J_Mobius_Underground/dist/game/data/scripts/instances/MuseumDungeon/MuseumDungeon.java +++ b/L2J_Mobius_Underground/dist/game/data/scripts/instances/MuseumDungeon/MuseumDungeon.java @@ -235,7 +235,7 @@ public final class MuseumDungeon extends AbstractInstance { final L2PcInstance player = world.getFirstPlayer(); final QuestState qs = player.getQuestState(Q10327_IntruderWhoWantsTheBookOfGiants.class.getSimpleName()); - if ((qs != null) && qs.isCond(2) && (world.getAliveNpcs(THIEF).size() <= 1)) + if ((qs != null) && qs.isCond(2) && world.getAliveNpcs(THIEF).isEmpty()) { qs.setCond(3, true); showOnScreenMsg(player, NpcStringId.TALK_TO_TOYRON_TO_RETURN_TO_THE_MUSEUM_LOBBY, ExShowScreenMessage.TOP_CENTER, 4500); diff --git a/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/model/instancezone/Instance.java b/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/model/instancezone/Instance.java index 4e71b8b22d..a7bc848042 100644 --- a/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/model/instancezone/Instance.java +++ b/L2J_Mobius_Underground/java/com/l2jmobius/gameserver/model/instancezone/Instance.java @@ -549,7 +549,7 @@ public final class Instance implements IIdentifiable, INamable */ public Set getAliveNpcs() { - return _npcs.stream().filter(n -> !n.isDead()).collect(Collectors.toSet()); + return _npcs.stream().filter(n -> n.getCurrentHp() > 0).collect(Collectors.toSet()); } /** @@ -585,7 +585,7 @@ public final class Instance implements IIdentifiable, INamable @SafeVarargs public final List getAliveNpcs(Class clazz, int... ids) { - return _npcs.stream().filter(n -> ((ids.length == 0) || CommonUtil.contains(ids, n.getId())) && !n.isDead()).filter(clazz::isInstance).map(clazz::cast).collect(Collectors.toList()); + return _npcs.stream().filter(n -> ((ids.length == 0) || CommonUtil.contains(ids, n.getId())) && (n.getCurrentHp() > 0)).filter(clazz::isInstance).map(clazz::cast).collect(Collectors.toList()); } /** @@ -595,7 +595,7 @@ public final class Instance implements IIdentifiable, INamable */ public List getAliveNpcs(int... id) { - return _npcs.stream().filter(n -> !n.isDead() && CommonUtil.contains(id, n.getId())).collect(Collectors.toList()); + return _npcs.stream().filter(n -> (n.getCurrentHp() > 0) && CommonUtil.contains(id, n.getId())).collect(Collectors.toList()); } /**