Package lineage2.gameserver.model

Examples of lineage2.gameserver.model.FakePlayer$OwnerAttakListener


    {
      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

   * Method onEvtThink.
   */
  @Override
  protected final void onEvtThink()
  {
    FakePlayer actor = getActor();
    if (actor.isActionsDisabled())
    {
      return;
    }
    try
    {
View Full Code Here

  /**
   * Method thinkFollow.
   */
  protected void thinkFollow()
  {
    FakePlayer actor = getActor();
    Creature target = (Creature) _intention_arg0;
    Integer offset = (Integer) _intention_arg1;
    if ((target == null) || target.isAlikeDead() || (actor.getDistance(target) > 4000.0D) || (offset == null))
    {
      clientActionFailed();
      return;
    }
    if (actor.isFollow && (actor.getFollowTarget() == target))
    {
      clientActionFailed();
      return;
    }
    if (actor.isInRange(target, offset.intValue() + 20) || actor.isMovementDisabled())
    {
      clientActionFailed();
    }
    if (_followTask != null)
    {
View Full Code Here

   * Method thinkAttack.
   * @param checkRange boolean
   */
  protected void thinkAttack(boolean checkRange)
  {
    FakePlayer actor = getActor();
    Player player = actor.getPlayer();
    if (player == null)
    {
      setIntention(CtrlIntention.AI_INTENTION_ACTIVE);
      return;
    }
    if (actor.isActionsDisabled() || actor.isAttackingDisabled())
    {
      return;
    }
    Creature attack_target = getAttackTarget();
    if ((attack_target == null) || (attack_target.isDead()))
    {
      setIntention(CtrlIntention.AI_INTENTION_FOLLOW);
      return;
    }
    if (!checkRange)
    {
      clientStopMoving();
      actor.doAttack(attack_target);
      return;
    }
    int range = actor.getPhysicalAttackRange();
    if (range < 10)
    {
      range = 10;
    }
    boolean canSee = GeoEngine.canSeeTarget(actor, attack_target, false);
    if ((!canSee && (range > 200)) || (Math.abs(actor.getZ() - attack_target.getZ()) > 200))
    {
      setIntention(CtrlIntention.AI_INTENTION_FOLLOW);
      return;
    }
    range = (int) (range + actor.getMinDistance(attack_target));
    if (actor.isFakeDeath())
    {
      actor.breakFakeDeath();
    }
    if (actor.isInRangeZ(attack_target, range))
    {
      if (!canSee)
      {
        setIntention(CtrlIntention.AI_INTENTION_FOLLOW);
        return;
      }
      clientStopMoving(false);
      actor.doAttack(attack_target);
    }
  }
View Full Code Here

     * Method runImpl.
     */
    @Override
    public void runImpl()
    {
      FakePlayer actor = getActor();
      if (getIntention() != CtrlIntention.AI_INTENTION_FOLLOW)
      {
        return;
      }
      Creature target = (Creature) _intention_arg0;
      int offset = (_intention_arg1 instanceof Integer) ? ((Integer) _intention_arg1).intValue() : 0;
      if ((target == null) || target.isAlikeDead() || (actor.getDistance(target) > 4000.0D))
      {
        setIntention(CtrlIntention.AI_INTENTION_ACTIVE);
        return;
      }
      Player player = actor.getPlayer();
      if ((player == null) || player.isLogoutStarted())
      {
        setIntention(CtrlIntention.AI_INTENTION_ACTIVE);
        return;
      }
      if (!actor.isInRange(target, offset + 20) && (!actor.isFollow || (actor.getFollowTarget() != target)))
      {
        actor.followToCharacter(target, offset, false);
      }
      _followTask = ThreadPoolManager.getInstance().schedule(this, 250L);
    }
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.FakePlayer$OwnerAttakListener

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.