@Override public void start() { player.lock(); final long time = FadingScreen.fade(player); CoresManager.slowExecutor.execute( new Runnable() { @Override public void run() { try { regionBase = RegionBuilder.findEmptyChunkBound(8, 8); base = new WorldTile(regionBase[0] << 3, regionBase[1] << 3, 1); RegionBuilder.copyAllPlanesMap(176, 792, regionBase[0], regionBase[1], 8, 8); FadingScreen.unfade( player, time, new Runnable() { @Override public void run() { npc = new QueenBlackDragon(player, base.transform(31, 37, 0), base); player.setNextWorldTile(base.transform(33, 28, 0)); player.setLargeSceneView(true); player.setForceMultiArea(true); player.unlock(); player.getPackets().sendGlobalConfig(184, 150); player.getPackets().sendGlobalConfig(1924, 0); player.getPackets().sendGlobalConfig(1925, 0); player .getInterfaceManager() .sendTab( player.getInterfaceManager().hasRezizableScreen() ? 1 : 0, 1285); // 1133); player.getMusicsManager().playMusic(1119); // AWOKEN } }); } catch (Throwable e) { Logger.handle(e); } } }); }
@Override public boolean processObjectClick1(WorldObject object) { if (npc == null) { return true; } if (object.getId() == 70790) { if (npc.getPhase() < 5) { return true; } player.lock(); FadingScreen.fade( player, new Runnable() { @Override public void run() { player .getPackets() .sendGameMessage( "You descend the stairs that appeared when you defeated the Queen Black Dragon."); player.getPackets().sendGlobalConfig(184, -1); npc.finish(); RegionBuilder.copyAllPlanesMap(160, 760, regionBase[0], regionBase[1], 8, 8); player.setForceNextMapLoadRefresh(true); player.loadMapRegions(); player .getPackets() .sendDestroyObject(new WorldObject(70849, 10, 0, base.transform(24, 21, -1))); player .getPackets() .sendDestroyObject(new WorldObject(70837, 10, 0, base.transform(22, 24, -1))); player .getPackets() .sendDestroyObject(new WorldObject(70840, 10, 0, base.transform(34, 24, -1))); World.removeObject(new WorldObject(70775, 10, 0, base.transform(31, 29, -1)), true); player .getPackets() .sendDestroyObject(new WorldObject(70822, 10, 0, base.transform(21, 35, -1))); player .getPackets() .sendDestroyObject(new WorldObject(70818, 10, 0, base.transform(39, 35, -1))); player.setNextWorldTile(base.transform(31, 36, -1)); boolean resizable = player.getInterfaceManager().hasRezizableScreen(); player.getPackets().closeInterface(resizable ? 746 : 548, resizable ? 1 : 0); player.unlock(); } }); return false; } if (object.getId() == 70813) { Magic.sendObjectTeleportSpell(player, true, Settings.RESPAWN_PLAYER_LOCATION); return false; } if (object.getId() == 70814) { player.getPackets().sendGameMessage("The gate is locked."); return false; } if (object.getId() == 70815) { player.getDialogueManager().startDialogue("RewardChest", npc); return false; } if (object.getId() == 70817) { npc.openRewardChest(false); return false; } if (object.getId() == npc.getActiveArtifact().getId()) { player.getMusicsManager().playMusic(1118); // QUEEN BLACK DRAGON npc.setSpawningWorms(false); npc.setNextAttack(20); npc.setActiveArtifact(new WorldObject(object.getId() + 1, 10, 0, object)); npc.setHitpoints(npc.getMaxHitpoints()); npc.setCantInteract(false); npc.setPhase(npc.getPhase() + 1); World.spawnObject(npc.getActiveArtifact(), false); switch (object.getId()) { case 70777: player.getPackets().sendGlobalConfig(1924, 2); player .getPackets() .sendSpawnedObject(new WorldObject(70843, 10, 0, base.transform(24, 21, -1))); break; case 70780: player.getPackets().sendGlobalConfig(1924, 4); player .getPackets() .sendSpawnedObject(new WorldObject(70845, 10, 0, base.transform(24, 21, -1))); break; case 70783: player.getPackets().sendGlobalConfig(1924, 6); player .getPackets() .sendSpawnedObject(new WorldObject(70847, 10, 0, base.transform(24, 21, -1))); break; case 70786: player.getPackets().sendGlobalConfig(1924, 8); player .getPackets() .sendSpawnedObject(new WorldObject(70849, 10, 0, base.transform(24, 21, -1))); break; } return false; } return true; }