Преглед на файлове

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
Zoey76 преди 10 години
родител
ревизия
389aba27e3

+ 6 - 1
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;

+ 2 - 2
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();

+ 2 - 2
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;
 		}