Fixed probable random player NPE in solo instances.
This commit is contained in:
		| @@ -366,7 +366,8 @@ public class BaylorWarzone extends AbstractInstance | ||||
| 				{ | ||||
| 					giveItems(member, world.getTemplateId() == TEMPLATE_IDS[0] ? BENUSTAS_REWARD_BOX : BENUSTAS_REWARD_BOX_110); | ||||
| 				} | ||||
| 				final Player randomPlayer = world.getFirstPlayer().getParty().getRandomPlayer(); | ||||
| 				final Party party = world.getFirstPlayer().getParty(); | ||||
| 				final Player randomPlayer = party != null ? party.getRandomPlayer() : null; | ||||
| 				if ((randomPlayer != null) && (getRandom(100) < 80) && (world.getPlayersCount() == world.getParameters().getInt("INITIAL_PARTY_MEMBERS", 0))) | ||||
| 				{ | ||||
| 					giveItems(randomPlayer, BENUSTAS_SHINING_REWARD_BOX); | ||||
|   | ||||
| @@ -382,7 +382,8 @@ public class AshenShadowRevolutionaries extends AbstractInstance | ||||
| 				{ | ||||
| 					giveItems(member, world.getTemplateId() == TEMPLATE_IDS[0] ? BENUSTAS_REWARD_BOX : BENUSTAS_REWARD_BOX_110); | ||||
| 				} | ||||
| 				final Player randomPlayer = world.getFirstPlayer().getParty().getRandomPlayer(); | ||||
| 				final Party party = world.getFirstPlayer().getParty(); | ||||
| 				final Player randomPlayer = party != null ? party.getRandomPlayer() : null; | ||||
| 				if ((randomPlayer != null) && (getRandom(100) < 80) && (world.getPlayersCount() == world.getParameters().getInt("INITIAL_PARTY_MEMBERS", 0))) | ||||
| 				{ | ||||
| 					giveItems(randomPlayer, BENUSTAS_SHINING_REWARD_BOX); | ||||
|   | ||||
| @@ -441,7 +441,8 @@ public class KrofinNest extends AbstractInstance | ||||
| 		{ | ||||
| 			final boolean kroshaFirstFormMinionsSpawnedTwice = world.getParameters().getBoolean("KROSHA_FIRST_FORM_MINIONS_SPAWNED_TWICE", false); | ||||
| 			final boolean kroshaFinalFormSpawned = world.getParameters().getBoolean("KROSHA_FINAL_FORM_SPAWNED", false); | ||||
| 			final Player randomPl = world.getFirstPlayer().getParty().getRandomPlayer(); | ||||
| 			final Party party = world.getFirstPlayer().getParty(); | ||||
| 			final Player randomPlayer = party != null ? party.getRandomPlayer() : null; | ||||
| 			if (world.getStatus() == 5) | ||||
| 			{ | ||||
| 				if (CommonUtil.contains(KROSHA_FIRST_FORM_MINIONS, npc.getId())) | ||||
| @@ -473,9 +474,9 @@ public class KrofinNest extends AbstractInstance | ||||
| 					{ | ||||
| 						giveItems(member, BENUSTAS_REWARD_BOX); | ||||
| 					} | ||||
| 					if ((randomPl != null) && (getRandom(100) < 80) && (world.getPlayersCount() == world.getParameters().getInt("INITIAL_PARTY_MEMBERS", 0))) | ||||
| 					if ((randomPlayer != null) && (getRandom(100) < 80) && (world.getPlayersCount() == world.getParameters().getInt("INITIAL_PARTY_MEMBERS", 0))) | ||||
| 					{ | ||||
| 						giveItems(randomPl, BENUSTAS_SHINING_REWARD_BOX); | ||||
| 						giveItems(randomPlayer, BENUSTAS_SHINING_REWARD_BOX); | ||||
| 					} | ||||
| 					showOnScreenMsg(world, NpcStringId.THE_WATER_POWER_PROTECTING_QUEEN_KROSHA_HAS_DISAPPEARED, ExShowScreenMessage.TOP_CENTER, 7000, true); | ||||
| 					world.finishInstance(); | ||||
| @@ -486,9 +487,9 @@ public class KrofinNest extends AbstractInstance | ||||
| 					{ | ||||
| 						giveItems(member, BENUSTAS_REWARD_BOX_110); | ||||
| 					} | ||||
| 					if ((randomPl != null) && (getRandom(100) < 80) && (world.getPlayersCount() == world.getParameters().getInt("INITIAL_PARTY_MEMBERS", 0))) | ||||
| 					if ((randomPlayer != null) && (getRandom(100) < 80) && (world.getPlayersCount() == world.getParameters().getInt("INITIAL_PARTY_MEMBERS", 0))) | ||||
| 					{ | ||||
| 						giveItems(randomPl, BENUSTAS_SHINING_REWARD_BOX); | ||||
| 						giveItems(randomPlayer, BENUSTAS_SHINING_REWARD_BOX); | ||||
| 					} | ||||
| 					showOnScreenMsg(world, NpcStringId.THE_WATER_POWER_PROTECTING_QUEEN_KROSHA_HAS_DISAPPEARED, ExShowScreenMessage.TOP_CENTER, 7000, true); | ||||
| 					world.finishInstance(); | ||||
|   | ||||
| @@ -169,26 +169,27 @@ public class NightmareKamaloka extends AbstractInstance | ||||
| 	@Override | ||||
| 	public String onKill(Npc npc, Player killer, boolean isSummon) | ||||
| 	{ | ||||
| 		final Instance instance = npc.getInstanceWorld(); | ||||
| 		if (isInInstance(instance)) | ||||
| 		final Instance world = npc.getInstanceWorld(); | ||||
| 		if (isInInstance(world)) | ||||
| 		{ | ||||
| 			final int nextDoorId = instance.getTemplateId() == TEMPLATE_IDS[0] ? BOSS_MAP.getOrDefault(npc.getId(), -1) : BOSS_MAP_110.getOrDefault(npc.getId(), -1); | ||||
| 			final int nextDoorId = world.getTemplateId() == TEMPLATE_IDS[0] ? BOSS_MAP.getOrDefault(npc.getId(), -1) : BOSS_MAP_110.getOrDefault(npc.getId(), -1); | ||||
| 			if (nextDoorId == -1) | ||||
| 			{ | ||||
| 				for (Player member : instance.getPlayers()) | ||||
| 				for (Player member : world.getPlayers()) | ||||
| 				{ | ||||
| 					giveItems(member, instance.getTemplateId() == TEMPLATE_IDS[0] ? BENUSTAS_REWARD_BOX : BENUSTAS_REWARD_BOX_110); | ||||
| 					giveItems(member, world.getTemplateId() == TEMPLATE_IDS[0] ? BENUSTAS_REWARD_BOX : BENUSTAS_REWARD_BOX_110); | ||||
| 				} | ||||
| 				final Player randomPlayer = instance.getFirstPlayer().getParty().getRandomPlayer(); | ||||
| 				if ((randomPlayer != null) && (getRandom(100) < 80) && (instance.getPlayersCount() == instance.getParameters().getInt("INITIAL_PARTY_MEMBERS", 0))) | ||||
| 				final Party party = world.getFirstPlayer().getParty(); | ||||
| 				final Player randomPlayer = party != null ? party.getRandomPlayer() : null; | ||||
| 				if ((randomPlayer != null) && (getRandom(100) < 80) && (world.getPlayersCount() == world.getParameters().getInt("INITIAL_PARTY_MEMBERS", 0))) | ||||
| 				{ | ||||
| 					giveItems(randomPlayer, BENUSTAS_SHINING_REWARD_BOX); | ||||
| 				} | ||||
| 				instance.finishInstance(); | ||||
| 				world.finishInstance(); | ||||
| 			} | ||||
| 			else | ||||
| 			{ | ||||
| 				instance.openCloseDoor(nextDoorId, true); | ||||
| 				world.openCloseDoor(nextDoorId, true); | ||||
| 			} | ||||
| 		} | ||||
| 		return super.onKill(npc, killer, isSummon); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 MobiusDevelopment
					MobiusDevelopment