From 389aba27e30c6d74ab09c6ef477201c4b443da64 Mon Sep 17 00:00:00 2001 From: Zoey76 <zoey_76@msn.com> Date: Sun, 5 Apr 2015 17:50:33 -0300 Subject: [PATCH] Fixing NPE at Cavern of the Pirate Captain instance As pointed out by @St3eT, instance is not created at this point. Reported by: pampol, epu --- .../dist/game/data/scripts/instances/AbstractInstance.java | 7 ++++++- .../CavernOfThePirateCaptain/CavernOfThePirateCaptain.java | 4 ++-- .../game/data/scripts/instances/Kamaloka/Kamaloka.java | 4 ++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/L2J_DataPack/dist/game/data/scripts/instances/AbstractInstance.java b/L2J_DataPack/dist/game/data/scripts/instances/AbstractInstance.java index 75e9510242..0ecf86050a 100644 --- a/L2J_DataPack/dist/game/data/scripts/instances/AbstractInstance.java +++ b/L2J_DataPack/dist/game/data/scripts/instances/AbstractInstance.java @@ -74,7 +74,7 @@ public abstract class AbstractInstance extends AbstractNpcAI return; } - if (checkConditions(player)) + if (checkConditions(player, templateId)) { instance.setInstanceId(InstanceManager.getInstance().createDynamicInstance(template)); instance.setTemplateId(templateId); @@ -190,6 +190,11 @@ public abstract class AbstractInstance extends AbstractNpcAI protected abstract void onEnterInstance(L2PcInstance player, InstanceWorld world, boolean firstEntrance); + protected boolean checkConditions(L2PcInstance player, int templateId) + { + return checkConditions(player); + } + protected boolean checkConditions(L2PcInstance player) { return true; diff --git a/L2J_DataPack/dist/game/data/scripts/instances/CavernOfThePirateCaptain/CavernOfThePirateCaptain.java b/L2J_DataPack/dist/game/data/scripts/instances/CavernOfThePirateCaptain/CavernOfThePirateCaptain.java index f77fdfc190..a994f580f4 100644 --- a/L2J_DataPack/dist/game/data/scripts/instances/CavernOfThePirateCaptain/CavernOfThePirateCaptain.java +++ b/L2J_DataPack/dist/game/data/scripts/instances/CavernOfThePirateCaptain/CavernOfThePirateCaptain.java @@ -204,7 +204,7 @@ public final class CavernOfThePirateCaptain extends AbstractInstance } @Override - protected boolean checkConditions(L2PcInstance player) + protected boolean checkConditions(L2PcInstance player, int templateId) { if (player.canOverrideCond(PcCondOverride.INSTANCE_CONDITIONS)) { @@ -217,7 +217,7 @@ public final class CavernOfThePirateCaptain extends AbstractInstance return false; } - final boolean is83 = InstanceManager.getInstance().getPlayerWorld(player).getTemplateId() == TEMPLATE_ID_83 ? true : false; + final boolean is83 = templateId == TEMPLATE_ID_83; final L2Party party = player.getParty(); final boolean isInCC = party.isInCommandChannel(); final List<L2PcInstance> members = (isInCC) ? party.getCommandChannel().getMembers() : party.getMembers(); diff --git a/L2J_DataPack/dist/game/data/scripts/instances/Kamaloka/Kamaloka.java b/L2J_DataPack/dist/game/data/scripts/instances/Kamaloka/Kamaloka.java index 1762d454e0..72cc8f684f 100644 --- a/L2J_DataPack/dist/game/data/scripts/instances/Kamaloka/Kamaloka.java +++ b/L2J_DataPack/dist/game/data/scripts/instances/Kamaloka/Kamaloka.java @@ -1227,7 +1227,7 @@ public final class Kamaloka extends AbstractInstance * @param index (0-18) index of the kamaloka in arrays * @return true if party allowed to enter */ - private static final boolean checkConditions(L2PcInstance player, int index) + private static final boolean checkPartyConditions(L2PcInstance player, int index) { final L2Party party = player.getParty(); // player must be in party @@ -1370,7 +1370,7 @@ public final class Kamaloka extends AbstractInstance return; } // Creating new kamaloka instance - if (!checkConditions(player, index)) + if (!checkPartyConditions(player, index)) { return; } -- GitLab