Exemple #1
0
  @Override
  public boolean noTarget() {
    for (L1Object object : L1World.getInstance().getVisibleObjects(this)) {
      if (object instanceof L1NpcInstance) {
        L1NpcInstance npc = (L1NpcInstance) object;
        if ((npc.getNpcTemplate().get_npcId() == 70740 // ディカルデンソルジャー
            )
            && (getNpcTemplate().get_npcId() == 71093)) { // 調査員
          setParalyzed(true);
          L1PcInstance pc = (L1PcInstance) _master;
          if (!pc.getInventory().checkItem(40593)) {
            createNewItem(pc, 40593, 1);
          }
          deleteMe();
          return true;
        } else if ((npc.getNpcTemplate().get_npcId() == 70811 // 萊拉
            )
            && (getNpcTemplate().get_npcId() == 71094)) { // 安迪亞
          setParalyzed(true);
          L1PcInstance pc = (L1PcInstance) _master;
          if (!pc.getInventory().checkItem(40582)
              && !pc.getInventory().checkItem(40583)) { // 身上無安迪亞之袋、安迪亞之信
            createNewItem(pc, 40582, 1);
          }
          deleteMe();
          return true;
        } else if ((npc.getNpcTemplate().get_npcId() == 71061 // カドモス
            )
            && (getNpcTemplate().get_npcId() == 71062)) { // カミット
          if (getLocation().getTileLineDistance(_master.getLocation()) < 3) {
            L1PcInstance pc = (L1PcInstance) _master;
            if (((pc.getX() >= 32448) && (pc.getX() <= 32452)) // カドモス周辺座標
                && ((pc.getY() >= 33048) && (pc.getY() <= 33052))
                && (pc.getMapId() == 440)) {
              setParalyzed(true);
              if (!pc.getInventory().checkItem(40711)) {
                createNewItem(pc, 40711, 1);
                pc.getQuest().set_step(L1Quest.QUEST_CADMUS, 3);
              }
              deleteMe();
              return true;
            }
          }
        } else if ((npc.getNpcTemplate().get_npcId() == 71074 // リザードマンの長老
            )
            && (getNpcTemplate().get_npcId() == 71075)) {
          // 疲れ果てたリザードマンファイター
          if (getLocation().getTileLineDistance(_master.getLocation()) < 3) {
            L1PcInstance pc = (L1PcInstance) _master;
            if (((pc.getX() >= 32731) && (pc.getX() <= 32735)) // リザードマン長老周辺座標
                && ((pc.getY() >= 32854) && (pc.getY() <= 32858))
                && (pc.getMapId() == 480)) {
              setParalyzed(true);
              if (!pc.getInventory().checkItem(40633)) {
                createNewItem(pc, 40633, 1);
                pc.getQuest().set_step(L1Quest.QUEST_LIZARD, 2);
              }
              deleteMe();
              return true;
            }
          }
        } else if ((npc.getNpcTemplate().get_npcId() == 70964 // バッシュ
            )
            && (getNpcTemplate().get_npcId() == 70957)) { // ロイ
          if (getLocation().getTileLineDistance(_master.getLocation()) < 3) {
            L1PcInstance pc = (L1PcInstance) _master;
            if (((pc.getX() >= 32917) && (pc.getX() <= 32921)) // バッシュ周辺座標
                && ((pc.getY() >= 32974) && (pc.getY() <= 32978))
                && (pc.getMapId() == 410)) {
              setParalyzed(true);
              createNewItem(pc, 41003, 1);
              pc.getQuest().set_step(L1Quest.QUEST_ROI, 0);
              deleteMe();
              return true;
            }
          }
        } else if ((npc.getNpcTemplate().get_npcId() == 71114)
            && (getNpcTemplate().get_npcId() == 81350)) { // 迪嘉勒廷的女間諜
          if (getLocation().getTileLineDistance(_master.getLocation()) < 15) {
            L1PcInstance pc = (L1PcInstance) _master;
            if (((pc.getX() >= 32542) && (pc.getX() <= 32585))
                && ((pc.getY() >= 32656) && (pc.getY() <= 32698))
                && (pc.getMapId() == 400)) {
              setParalyzed(true);
              createNewItem(pc, 49163, 1);
              pc.getQuest().set_step(4, 4);
              deleteMe();
              return true;
            }
          }
        }
      }
    }

    if (_master.isDead() || (getLocation().getTileLineDistance(_master.getLocation()) > 10)) {
      setParalyzed(true);
      spawn(getNpcTemplate().get_npcId(), getX(), getY(), getHeading(), getMapId());
      deleteMe();
      return true;
    } else if ((_master != null) && (_master.getMapId() == getMapId())) {
      if (getLocation().getTileLineDistance(_master.getLocation()) > 2) {
        setDirectionMove(moveDirection(_master.getX(), _master.getY()));
        setSleepTime(calcSleepTime(getPassispeed(), MOVE_SPEED));
      }
    }
    return false;
  }