Package lineage2.gameserver.model

Examples of lineage2.gameserver.model.MinionList


    {
      teleportHome();
      return false;
    }
    clearTasks();
    Creature target = prepareTarget();
    if (target == null)
    {
      return false;
    }
    if (!BaiumManager.getZone().checkIfInZone(target))
View Full Code Here


      kama.addKilledKanabion(type);
      spawnPossible = kama.isSpawnPossible();
    }
    if (spawnPossible && (nextId > 0))
    {
      Creature player = null;
      if (!killer.isPlayer())
      {
        for (Player pl : World.getAroundPlayers(actor))
        {
          player = pl;
View Full Code Here

   * @param npc NpcInstance
   * @return MinionInstance
   */
  private MinionInstance getAliveMinion(NpcInstance npc)
  {
    final MinionList ml = npc.getMinionList();
    if ((ml != null) && ml.hasAliveMinions())
    {
      for (MinionInstance minion : ml.getAliveMinions())
      {
        return minion;
      }
    }
    return null;
View Full Code Here

    if (!actor.isInCombat())
    {
      _lastMinionsTargetRef = HardReferences.emptyRef();
      return;
    }
    final MinionList ml = actor.getMinionList();
    if ((ml == null) || !ml.hasMinions())
    {
      _lastMinionsTargetRef = HardReferences.emptyRef();
      return;
    }
    final long now = System.currentTimeMillis();
    if ((_nextOrderTime > now) && (_lastMinionsTargetRef.get() != null))
    {
      final Player old_target = _lastMinionsTargetRef.get();
      if ((old_target != null) && !old_target.isAlikeDead())
      {
        for (MinionInstance m : ml.getAliveMinions())
        {
          if (!m.getAI().getAttackTarget().equals(old_target))
          {
            m.getAI().notifyEvent(CtrlEvent.EVT_AGGRESSION, old_target, 10000000);
          }
        }
        return;
      }
    }
    _nextOrderTime = now + 30000;
    final List<Player> pl = World.getAroundPlayers(actor);
    if (pl.isEmpty())
    {
      _lastMinionsTargetRef = HardReferences.emptyRef();
      return;
    }
    final List<Player> alive = new LazyArrayList<>();
    for (Player p : pl)
    {
      if (!p.isAlikeDead())
      {
        alive.add(p);
      }
    }
    if (alive.isEmpty())
    {
      _lastMinionsTargetRef = HardReferences.emptyRef();
      return;
    }
    final Player target = alive.get(Rnd.get(alive.size()));
    _lastMinionsTargetRef = target.getRef();
    Functions.npcSayCustomMessage(actor, "Kama56Boss.attack", target.getName());
    for (MinionInstance m : ml.getAliveMinions())
    {
      m.getAggroList().clear();
      m.getAI().notifyEvent(CtrlEvent.EVT_AGGRESSION, target, 10000000);
    }
  }
View Full Code Here

        {
          if (!master.isDead() && master.isVisible())
          {
            master.getAI().notifyEvent(CtrlEvent.EVT_AGGRESSION, attacker, damage);
          }
          MinionList minionList = master.getMinionList();
          if (minionList != null)
          {
            for (MinionInstance minion : minionList.getAliveMinions())
            {
              if (minion != actor)
              {
                minion.getAI().notifyEvent(CtrlEvent.EVT_AGGRESSION, attacker, damage);
              }
            }
          }
        }
      }
      MinionList minionList = actor.getMinionList();
      if ((minionList != null) && minionList.hasAliveMinions())
      {
        for (MinionInstance minion : minionList.getAliveMinions())
        {
          minion.getAI().notifyEvent(CtrlEvent.EVT_AGGRESSION, attacker, damage);
        }
      }
      for (NpcInstance npc : activeFactionTargets())
View Full Code Here

   * @param template NpcTemplate
   */
  public MonsterInstance(int objectId, NpcTemplate template)
  {
    super(objectId, template);
    minionList = new MinionList(this);
  }
View Full Code Here

  {
    if (param.length < 4)
    {
      throw new IllegalArgumentException();
    }
    final Player player = getSelf();
    if (player == null)
    {
      return;
    }
    final long price = Long.parseLong(param[param.length - 1]);
    if (!NpcInstance.canBypassCheck(player, player.getLastNpc()))
    {
      return;
    }
    if ((price > 0) && (player.getAdena() < price))
    {
      player.sendPacket(Msg.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
      return;
    }
    if (player.getMountType() == 2)
    {
      player.sendMessage("Телепортаци�? верхом на виверне невозможна.");
      return;
    }
    if (player.getLastNpc() != null)
    {
      final int npcId = player.getLastNpc().getNpcId();
      switch (npcId)
      {
        case 30483:
          if (player.getLevel() >= Config.CRUMA_GATEKEEPER_LVL)
          {
            show("teleporter/30483-no.htm", player);
            return;
          }
          break;
        case 32864:
        case 32865:
        case 32866:
        case 32867:
        case 32868:
        case 32869:
        case 32870:
          if (player.getLevel() < 80)
          {
            show("teleporter/" + npcId + "-no.htm", player);
            return;
          }
          break;
      }
    }
    final int x = Integer.parseInt(param[0]);
    final int y = Integer.parseInt(param[1]);
    final int z = Integer.parseInt(param[2]);
    final int castleId = (param.length > 4) ? Integer.parseInt(param[3]) : 0;
    if (player.getReflection().isDefault())
    {
      final Castle castle = (castleId > 0) ? ResidenceHolder.getInstance().getResidence(Castle.class, castleId) : null;
      if ((castle != null) && castle.getSiegeEvent().isInProgress())
      {
        player.sendPacket(Msg.YOU_CANNOT_TELEPORT_TO_A_VILLAGE_THAT_IS_IN_A_SIEGE);
        return;
      }
    }
    final Location pos = Location.findPointToStay(x, y, z, 50, 100, player.getGeoIndex());
    if (price > 0)
    {
      player.reduceAdena(price, true);
    }
    player.teleToLocation(pos);
  }
View Full Code Here

  {
    if (param.length < 5)
    {
      throw new IllegalArgumentException();
    }
    final Player player = getSelf();
    if (player == null)
    {
      return;
    }
    final long count = Long.parseLong(param[3]);
    final int item = Integer.parseInt(param[4]);
    if (!NpcInstance.canBypassCheck(player, player.getLastNpc()))
    {
      return;
    }
    if (count > 0)
    {
      if (!player.getInventory().destroyItemByItemId(item, count))
      {
        player.sendPacket(Msg.YOU_DO_NOT_HAVE_ENOUGH_REQUIRED_ITEMS);
        return;
      }
      player.sendPacket(SystemMessage2.removeItems(item, count));
    }
    final int x = Integer.parseInt(param[0]);
    final int y = Integer.parseInt(param[1]);
    final int z = Integer.parseInt(param[2]);
    final Location pos = Location.findPointToStay(x, y, z, 20, 70, player.getGeoIndex());
    player.teleToLocation(pos);
  }
View Full Code Here

  {
    if (param.length < 5)
    {
      throw new IllegalArgumentException();
    }
    final Player player = getSelf();
    if (player == null)
    {
      return;
    }
    player.setReflection(Integer.parseInt(param[4]));
    Gatekeeper(param);
  }
View Full Code Here

   * Method TokenJump.
   * @param param String[]
   */
  public void TokenJump(String[] param)
  {
    final Player player = getSelf();
    if (player == null)
    {
      return;
    }
    if (player.getLevel() <= 19)
    {
      QuestGatekeeper(param);
    }
    else
    {
View Full Code Here

TOP

Related Classes of lineage2.gameserver.model.MinionList

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.