コード例 #1
0
ファイル: _10053Revelations.java プロジェクト: soulxj/aion-cn
 private void spawn(Player player) {
   int mobToSpawn = mobs.get(Rnd.get(0, 3));
   float x = 0;
   float y = 0;
   final float z = 124.942f;
   switch (mobToSpawn) {
     case 218760:
       {
         x = 250.081f;
         y = 268.308f;
         break;
       }
     case 218762:
       {
         x = 273.354f;
         y = 244.489f;
         break;
       }
     case 218761:
       {
         x = 272.994f;
         y = 244.674f;
         break;
       }
     case 218763:
       {
         x = 250.800f;
         y = 222.782f;
         break;
       }
   }
   Npc spawn =
       (Npc)
           QuestService.spawnQuestNpc(
               300330000, player.getInstanceId(), mobToSpawn, x, y, z, (byte) 0);
   Collection<Npc> allNpcs = World.getInstance().getNpcs();
   Npc target = null;
   for (Npc npc : allNpcs) {
     if (npc.getNpcId() == 730493) {
       target = npc;
     }
   }
   if (target != null) {
     spawn.getAggroList().addHate(target, 1);
   }
 }
コード例 #2
0
  /**
   * Shows Question window and expands on positive response
   *
   * @param player
   * @param npc
   */
  public static void expandCube(final Player player, Npc npc) {
    final CubeExpandTemplate expandTemplate =
        DataManager.CUBEEXPANDER_DATA.getCubeExpandListTemplate(npc.getNpcId());

    if (expandTemplate == null) {
      log.error("Cube Expand Template could not be found for Npc ID: " + npc.getObjectId());
      return;
    }

    if (npcCanExpandLevel(expandTemplate, player.getCubeSize() + 1)
        && validateNewSize(player.getCubeSize() + 1)) {
      /** Check if our player can pay the cubic expand price */
      final int price = getPriceByLevel(expandTemplate, player.getCubeSize() + 1);

      RequestResponseHandler responseHandler =
          new RequestResponseHandler(npc) {
            @Override
            public void acceptRequest(StaticNpc requester, Player responder) {
              if (!ItemService.decreaseKinah(responder, price)) {
                PacketSendUtility.sendPacket(player, SM_SYSTEM_MESSAGE.CUBEEXPAND_NOT_ENOUGH_KINAH);
                return;
              }
              expand(responder);
            }

            @Override
            public void denyRequest(StaticNpc requester, Player responder) {
              // nothing to do
            }
          };

      boolean result =
          player
              .getResponseRequester()
              .putRequest(SM_QUESTION_WINDOW.STR_WAREHOUSE_EXPAND_WARNING, responseHandler);
      if (result) {
        PacketSendUtility.sendPacket(
            player,
            new SM_QUESTION_WINDOW(
                SM_QUESTION_WINDOW.STR_WAREHOUSE_EXPAND_WARNING, 0, String.valueOf(price)));
      }
    } else PacketSendUtility.sendPacket(player, new SM_SYSTEM_MESSAGE(1300430));
  }
コード例 #3
0
 @Override
 public void handleUseItemFinish(Player player, Npc npc) {
   switch (npc.getNpcId()) {
     case 701644:
       sendMsg(1401879);
       if (canUseLever() && echec == 0) {
         doors.get(47).setOpen(true);
         despawnNpc(npc);
         despawnNpc(instance.getNpc(701155));
         break;
       }
       break;
     case 701646:
       SkillEngine.getInstance().getSkill(npc, 21434, 60, player).useNoAnimationSkill();
       NpcActions.scheduleRespawn(npc);
       despawnNpc(npc);
       for (Player p : instance.getPlayersInside()) {
         if (p.getEffectController().hasAbnormalEffect(21434)) {
           StartSpawn(p);
           break;
         }
       }
       break;
     case 701647:
       SkillEngine.getInstance().getSkill(npc, 21435, 60, player).useNoAnimationSkill();
       NpcActions.scheduleRespawn(npc);
       despawnNpc(npc);
       for (Player p : instance.getPlayersInside()) {
         if (p.getEffectController().hasAbnormalEffect(21435)) {
           StartSpawn(p);
           break;
         }
       }
       break;
   }
 }
コード例 #4
0
 @Override
 public void onDie(Npc npc) {
   final List<Player> playerList = instance.getPlayersInside();
   switch (npc.getNpcId()) {
     case 231050:
       spawn(730868, 317f, 489.04999f, 607.64343f, (byte) 0);
       break;
     case 230413:
       sendMsg(1401904);
       spawn(230417, 476.74689f, 523.6272f, 598.8186f, (byte) 13); // Disabled GENERATEUR POST
       despawnNpc(npc);
       Powerdevice++;
       if (Powerdevice == 4) {
         spawn(701644, 435.42862f, 496.41296f, 604.8871f, (byte) 1);
       }
       break;
     case 230417:
       spawn(230413, 476.74689f, 523.6272f, 598.8186f, (byte) 13); // Balaur GENERATEUR POST
       despawnNpc(npc);
       break;
     case 230414:
       sendMsg(1401905);
       spawn(230418, 524.53607f, 427.29379f, 621.82062f, (byte) 15); // Disabled GENERATEUR NORD
       despawnNpc(npc);
       Powerdevice++;
       if (Powerdevice == 4) {
         spawn(701644, 435.42862f, 496.41296f, 604.8871f, (byte) 1);
       }
       break;
     case 230418:
       spawn(230414, 524.53607f, 427.29379f, 621.82062f, (byte) 15); // balaur GENERATEUR NORD
       despawnNpc(npc);
       break;
     case 230415:
       sendMsg(1401906);
       spawn(230419, 602.40997f, 556.41998f, 592.16406f, (byte) 113); // Disabled GENERATEUR SUD
       despawnNpc(npc);
       Powerdevice++;
       if (Powerdevice == 4) {
         spawn(701644, 435.42862f, 496.41296f, 604.8871f, (byte) 1);
       }
       break;
     case 230419:
       spawn(230415, 602.40997f, 556.41998f, 592.16406f, (byte) 113); // balaur GENERATEUR SUD
       despawnNpc(npc);
       break;
     case 230416:
       sendMsg(1401907);
       spawn(230420, 666.76001f, 474.20999f, 601.1673f, (byte) 117); // Disabled GENERATEUR Defense
       despawnNpc(npc);
       Powerdevice++;
       if (Powerdevice == 4) {
         spawn(701644, 435.42862f, 496.41296f, 604.8871f, (byte) 1);
       }
       break;
     case 230420:
       echec += 1;
       doors.get(47).setOpen(false);
       spawn(230416, 666.76001f, 474.20999f, 601.1673f, (byte) 117); // balaur GENERATEUR Defense
       despawnNpc(npc);
       break;
     case 233320:
       startFinalTimer();
       despawnNpc(npc);
       if (npc.getX() == 751.5975f || npc.getY() == 518.4685f || npc.getZ() == 578.5f) {
         if (!isStartTimer) {
           isStartTimer = true;
           startTime = System.currentTimeMillis();
           ThreadPoolManager.getInstance()
               .schedule(
                   new Runnable() {
                     @Override
                     public void run() {
                       for (Player player : playerList) {
                         PacketSendUtility.sendPacket(player, new SM_SYSTEM_MESSAGE(1401884));
                       }
                       attackgenerator(
                           getNpc(230420),
                           (Npc) spawn(233319, 697.05707f, 467.85675f, 599.68396f, (byte) 55));
                       attackgenerator(
                           getNpc(230420),
                           (Npc) spawn(231189, 695.08307f, 471.75702f, 599.80f, (byte) 55));
                       attackgenerator(
                           getNpc(230420),
                           (Npc) spawn(231190, 693.59186f, 462.29324f, 599.875f, (byte) 55));
                     }
                   },
                   300000);
         }
       }
       break;
   }
 }