예제 #1
0
 /**
  * @param player The player.
  * @param object The object.
  * @return {@code true} if the object action got handled, {@code false} if not.
  */
 public boolean handleObjectClick1(Player player, WorldObject object) {
   switch (object.getId()) {
     case 14315:
       if (player.getSkills().getCombatLevel() < 40) {
         player
             .getDialogueManager()
             .startDialogue(
                 "SimpleMessage", "You need a combat level of 40 or more to enter in boat.");
         return false;
       }
       enterInBoat();
       return true;
     case 14314:
       leaveBoat();
       return true;
   }
   return false;
 }
 @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;
 }