Removed extra Fafurion ids.
This commit is contained in:
		| @@ -17,19 +17,14 @@ | ||||
| package ai.bosses.Fafurion; | ||||
|  | ||||
| import java.util.List; | ||||
| import java.util.Map; | ||||
| import java.util.Map.Entry; | ||||
|  | ||||
| import org.l2jmobius.Config; | ||||
| import org.l2jmobius.gameserver.instancemanager.GrandBossManager; | ||||
| import org.l2jmobius.gameserver.model.AggroInfo; | ||||
| import org.l2jmobius.gameserver.model.Location; | ||||
| import org.l2jmobius.gameserver.model.Party; | ||||
| import org.l2jmobius.gameserver.model.StatsSet; | ||||
| import org.l2jmobius.gameserver.model.World; | ||||
| import org.l2jmobius.gameserver.model.actor.Creature; | ||||
| import org.l2jmobius.gameserver.model.actor.Npc; | ||||
| import org.l2jmobius.gameserver.model.actor.instance.MonsterInstance; | ||||
| import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; | ||||
| import org.l2jmobius.gameserver.network.NpcStringId; | ||||
| import org.l2jmobius.gameserver.network.serverpackets.ExShowScreenMessage; | ||||
| @@ -44,8 +39,6 @@ public class Fafurion extends AbstractNpcAI | ||||
| 	// NPCs | ||||
| 	private static final int HEART_OF_TSUNAMI = 34488; | ||||
| 	private static final int FAFURION_GRANDBOSS_ID = 19740; | ||||
| 	private static final int FAFURION_FORM_1 = 29365; | ||||
| 	private static final int FAFURION_FORM_2 = 29366; | ||||
| 	private static final int FAFURION_FINAL_FORM = 29367; | ||||
| 	// Item | ||||
| 	private static final int FONDUS_STONE = 80322; | ||||
| @@ -66,7 +59,7 @@ public class Fafurion extends AbstractNpcAI | ||||
| 		addStartNpc(HEART_OF_TSUNAMI); | ||||
| 		addTalkId(HEART_OF_TSUNAMI); | ||||
| 		addFirstTalkId(HEART_OF_TSUNAMI); | ||||
| 		addKillId(FAFURION_FORM_1, FAFURION_FORM_2, FAFURION_FINAL_FORM); | ||||
| 		addKillId(FAFURION_FINAL_FORM); | ||||
| 		// Unlock | ||||
| 		final StatsSet info = GrandBossManager.getInstance().getStatsSet(FAFURION_GRANDBOSS_ID); | ||||
| 		final int status = GrandBossManager.getInstance().getBossStatus(FAFURION_GRANDBOSS_ID); | ||||
| @@ -116,7 +109,7 @@ public class Fafurion extends AbstractNpcAI | ||||
| 				if (GrandBossManager.getInstance().getBossStatus(FAFURION_GRANDBOSS_ID) == WAITING) | ||||
| 				{ | ||||
| 					GrandBossManager.getInstance().setBossStatus(FAFURION_GRANDBOSS_ID, FIGHTING); | ||||
| 					bossInstance = addSpawn(FAFURION_FORM_1, FAFURION_SPAWN_LOC.getX(), FAFURION_SPAWN_LOC.getY(), FAFURION_SPAWN_LOC.getZ(), FAFURION_SPAWN_LOC.getHeading(), false, 0, false); | ||||
| 					bossInstance = addSpawn(FAFURION_FINAL_FORM, FAFURION_SPAWN_LOC.getX(), FAFURION_SPAWN_LOC.getY(), FAFURION_SPAWN_LOC.getZ(), FAFURION_SPAWN_LOC.getHeading(), false, 0, false); | ||||
| 					startQuestTimer("resetRaid", RAID_DURATION * 60 * 60 * 1000, bossInstance, null); | ||||
| 				} | ||||
| 				break; | ||||
| @@ -201,53 +194,18 @@ public class Fafurion extends AbstractNpcAI | ||||
| 	@Override | ||||
| 	public String onKill(Npc npc, PlayerInstance killer, boolean isSummon) | ||||
| 	{ | ||||
| 		switch (npc.getId()) | ||||
| 		for (PlayerInstance player : World.getInstance().getVisibleObjectsInRange(npc, PlayerInstance.class, 5000)) | ||||
| 		{ | ||||
| 			case FAFURION_FORM_1: | ||||
| 			{ | ||||
| 				for (PlayerInstance plr : World.getInstance().getVisibleObjectsInRange(npc, PlayerInstance.class, 5000)) | ||||
| 				{ | ||||
| 					plr.sendPacket(new ExShowScreenMessage(NpcStringId.AREN_T_YOU_AFRAID_OF_FAFURION, ExShowScreenMessage.TOP_CENTER, 10000, true)); | ||||
| 				} | ||||
| 				final Map<Creature, AggroInfo> aggroList = ((MonsterInstance) bossInstance).getAggroList(); | ||||
| 				bossInstance = addSpawn(FAFURION_FORM_2, npc.getX(), npc.getY(), npc.getZ(), npc.getHeading(), false, 0, false); | ||||
| 				for (Entry<Creature, AggroInfo> entry : aggroList.entrySet()) | ||||
| 				{ | ||||
| 					((MonsterInstance) bossInstance).getAggroList().put(entry.getKey(), entry.getValue()); | ||||
| 				} | ||||
| 				npc.deleteMe(); | ||||
| 				break; | ||||
| 			} | ||||
| 			case FAFURION_FORM_2: | ||||
| 			{ | ||||
| 				for (PlayerInstance plr : World.getInstance().getVisibleObjectsInRange(npc, PlayerInstance.class, 5000)) | ||||
| 				{ | ||||
| 					plr.sendPacket(new ExShowScreenMessage(NpcStringId.GLORY_TO_FAFURION_DEATH_TO_S1, ExShowScreenMessage.TOP_CENTER, 10000, true, killer.getName())); | ||||
| 				} | ||||
| 				final Map<Creature, AggroInfo> aggroList = ((MonsterInstance) bossInstance).getAggroList(); | ||||
| 				bossInstance = addSpawn(FAFURION_FINAL_FORM, npc.getX(), npc.getY(), npc.getZ(), npc.getHeading(), false, 0, false); | ||||
| 				for (Entry<Creature, AggroInfo> entry : aggroList.entrySet()) | ||||
| 				{ | ||||
| 					((MonsterInstance) bossInstance).getAggroList().put(entry.getKey(), entry.getValue()); | ||||
| 				} | ||||
| 				npc.deleteMe(); | ||||
| 				break; | ||||
| 			} | ||||
| 			case FAFURION_FINAL_FORM: | ||||
| 			{ | ||||
| 				for (PlayerInstance player : World.getInstance().getVisibleObjectsInRange(npc, PlayerInstance.class, 5000)) | ||||
| 				{ | ||||
| 					player.sendPacket(new ExShowScreenMessage(NpcStringId.HONORED_WARRIORS_HAVE_DEFEATED_THE_WATER_DRAGON_FAFURION, ExShowScreenMessage.TOP_CENTER, 10000, true)); | ||||
| 				} | ||||
| 				GrandBossManager.getInstance().setBossStatus(FAFURION_GRANDBOSS_ID, DEAD); | ||||
| 				final long respawnTime = (Config.FAFURION_SPAWN_INTERVAL + getRandom(-Config.FAFURION_SPAWN_RANDOM, Config.FAFURION_SPAWN_RANDOM)) * 3600000; | ||||
| 				final StatsSet info = GrandBossManager.getInstance().getStatsSet(FAFURION_GRANDBOSS_ID); | ||||
| 				info.set("respawn_time", System.currentTimeMillis() + respawnTime); | ||||
| 				GrandBossManager.getInstance().setStatsSet(FAFURION_GRANDBOSS_ID, info); | ||||
| 				startQuestTimer("unlock_fafurion", respawnTime, null, null); | ||||
| 				break; | ||||
| 			} | ||||
| 			player.sendPacket(new ExShowScreenMessage(NpcStringId.HONORED_WARRIORS_HAVE_DEFEATED_THE_WATER_DRAGON_FAFURION, ExShowScreenMessage.TOP_CENTER, 10000, true)); | ||||
| 		} | ||||
| 		 | ||||
| 		GrandBossManager.getInstance().setBossStatus(FAFURION_GRANDBOSS_ID, DEAD); | ||||
| 		final long respawnTime = (Config.FAFURION_SPAWN_INTERVAL + getRandom(-Config.FAFURION_SPAWN_RANDOM, Config.FAFURION_SPAWN_RANDOM)) * 3600000; | ||||
| 		final StatsSet info = GrandBossManager.getInstance().getStatsSet(FAFURION_GRANDBOSS_ID); | ||||
| 		info.set("respawn_time", System.currentTimeMillis() + respawnTime); | ||||
| 		GrandBossManager.getInstance().setStatsSet(FAFURION_GRANDBOSS_ID, info); | ||||
| 		startQuestTimer("unlock_fafurion", respawnTime, null, null); | ||||
| 		 | ||||
| 		return super.onKill(npc, killer, isSummon); | ||||
| 	} | ||||
| 	 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 MobiusDevelopment
					MobiusDevelopment