Package l2p.gameserver.model

Examples of l2p.gameserver.model.L2Character


    {
      return;
    }
    for(int i = 0; i < targetList.size(); i++)
    {
      L2Character target = targetList.get(i);
      target.setCurrentHp(target.getCurrentHp() - 10000, true);
      if(target.getCurrentHp() <= 0)
      {
        target.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
      }
    }
    // Only for displaying animation in client
    actor.doCast(SkillTable.getInstance().getInfo(5714, 1), attacker, true);
    actor.getAI().setIntention(CtrlIntention.AI_INTENTION_IDLE);
View Full Code Here


  @Override
  protected boolean createNewTask()
  {
    clearTasks();
    L2Character target;
    if((target = prepareTarget()) == null)
    {
      return false;
    }
    L2NpcInstance actor = getActor();
View Full Code Here

        Location runLoc = new Location(run[1], run[2], run[3]);
        guard.setRunning();
        guard.getAI().addTaskMove(runLoc, true);
        guard.getAI().setGlobalAggro(0);
        // Выбираем случайную цель
        L2Character hated = actor.getRandomHated();
        if(hated != null)
        // Делаем необходимые приготовления, для атаки в конце движения
        {
          hated.addDamageHate(guard, 0, Rnd.get(1, 100));
        } // Это нужно, чтобы гвард не перестал атаковать цель после первых ударов
        guard.setAttackTimeout(getMaxAttackTimeout() + System.currentTimeMillis()); // Это нужно, чтобы не сработал таймаут
        guard.getAI().setAttackTarget(hated); // На всякий случай, не обязательно делать
        guard.getAI().changeIntention(CtrlIntention.AI_INTENTION_ATTACK, hated, null); // Переводим в состояние атаки
        guard.getAI().addTaskAttack(hated); // Добавляем отложенное задание атаки, сработает в самом конце движения
View Full Code Here

    L2NpcInstance actor = getActor();
    if(actor == null)
    {
      return false;
    }
    L2Character edwin = L2ObjectsStorage.getAsCharacter(_edwin);
    if(edwin == null)
    {
      // Ищем преследуемого не чаще, чем раз в 15 секунд, если по каким-то причинам его нету
      if(System.currentTimeMillis() > _wait_timeout)
      {
        _wait_timeout = System.currentTimeMillis() + 15000;
        for(L2NpcInstance npc : L2World.getAroundNpc(actor))
        {
          if(npc.getNpcId() == EDWIN_ID)
          {
            _edwin = npc.getStoredId();
            return true;
          }
        }
      }
    }
    else if(!actor.isMoving)
    {
      int x = edwin.getX() + Rnd.get(2 * DRIFT_DISTANCE) - DRIFT_DISTANCE;
      int y = edwin.getY() + Rnd.get(2 * DRIFT_DISTANCE) - DRIFT_DISTANCE;
      int z = edwin.getZ();
      actor.setRunning(); // всегда бегают
      actor.moveToLocation(x, y, z, 0, true);
      return true;
    }
    return false;
View Full Code Here

  @Override
  protected boolean createNewTask()
  {
    clearTasks();
    L2Character target;
    if((target = prepareTarget()) == null)
    {
      return false;
    }
    L2NpcInstance actor = getActor();
View Full Code Here

        {
          activeChar.sendMessage("USAGE: //abnormal name");
          activeChar.sendMessage("//abnormal - Clears all abnormal effects");
          return false;
        }
        L2Character effectTarget = target == null ? activeChar : (L2Character) target;
        if(ae == AbnormalEffect.NULL)
        {
          effectTarget.startAbnormalEffect(AbnormalEffect.NULL);
          effectTarget.sendMessage("Abnormal effects clearned by admin.");
          if(effectTarget != activeChar)
          {
            effectTarget.sendMessage("Abnormal effects clearned.");
          }
        }
        else
        {
          effectTarget.startAbnormalEffect(ae);
          effectTarget.sendMessage("Admin added abnormal effect: " + ae.getName());
          if(effectTarget != activeChar)
          {
            effectTarget.sendMessage("Aadded abnormal effect: " + ae.getName());
          }
        }
        break;
      case admin_transform:
        try
View Full Code Here

  protected abstract ItemLocation getEquipLocation();

  public int getOwnerId()
  {
    L2Character owner = getOwner();
    return owner == null ? 0 : owner.getObjectId();
  }
View Full Code Here

    return addItem(newItem, true, true);
  }

  private L2ItemInstance addItem(L2ItemInstance newItem, boolean dbUpdate, boolean log)
  {
    L2Character owner = getOwner();
    if(owner == null || newItem == null)
    {
      return null;
    }
    if(newItem.isHerb() && !owner.getPlayer().isGM())
    {
      Util.handleIllegalPlayerAction(owner.getPlayer(), "tried to pickup herb into inventory", "Inventory[179]", 1);
      return null;
    }
    if(newItem.getCount() < 0)
    {
      _log.warning("AddItem: count < 0 owner:" + owner.getName());
      Thread.dumpStack();
      return null;
    }
    L2ItemInstance result = newItem;
    boolean stackableFound = false;
    if(log)
    {
      Log.add("Inventory|" + owner.getName() + "|Get item|" + result.getItemId() + "|" + result.getCount() + "|" + result.getObjectId(), "items");
    }
    // If stackable, search item in inventory in order to add to current quantity
    if(newItem.isStackable())
    {
      int itemId = newItem.getItemId();
      L2ItemInstance old = getItemByItemId(itemId);
      if(old != null)
      {
        // add new item quantity to existing stack
        old.setCount(old.getCount() + newItem.getCount());
        // reset new item to null
        if(log)
        {
          Log.add("Inventory|" + owner.getName() + "|join item from-to|" + result.getItemId() + "|" + newItem.getObjectId() + "|" + old.getObjectId(), "items");
        }
        newItem.setCount(0);
        newItem.setOwnerId(0);
        newItem.setLocation(ItemLocation.VOID);
        newItem.removeFromDb(true);
        newItem.deleteMe();
        stackableFound = true;
        sendModifyItem(old);
        // update old item in inventory and destroy new item
        old.updateDatabase();
        result = old;
      }
    }
    // If item hasn't be found in inventory
    if(!stackableFound)
    {
      // Add item in inventory
      if(getItemByObjectId(newItem.getObjectId()) == null)
      {
        getItemsList().add(newItem);
        if(!newItem.isEquipable() && newItem.getItem() instanceof L2EtcItem && !newItem.isStackable() && (newItem.getStatFuncs() != null || newItem.getItem().getAttachedSkills() != null))
        {
          if(_listenedItems == null)
          {
            _listenedItems = new GCSArray<L2ItemInstance>();
          }
          _listenedItems.add(newItem);
          for(PaperdollListener listener : _paperdollListeners)
          {
            listener.notifyEquipped(-1, newItem);
          }
        }
      }
      else if(log)
      {
        Log.add("Inventory|" + owner.getName() + "|add double link to item in inventory list!|" + newItem.getItemId() + "|" + newItem.getObjectId(), "items");
      }
      if(newItem.getOwnerId() != owner.getPlayer().getObjectId() || dbUpdate)
      {
        newItem.setOwnerId(owner.getPlayer().getObjectId());
        newItem.setLocation(getBaseLocation(), findSlot(0));
        sendNewItem(newItem);
      }
      // If database wanted to be updated, update item
      if(dbUpdate)
      {
        newItem.updateDatabase();
      }
    }
    if(dbUpdate && result.isCursed() && owner.isPlayer())
    {
      CursedWeaponsManager.getInstance().checkPlayer((L2Player) owner, result);
    }
    refreshWeight();
    return result;
View Full Code Here

    return result;
  }

  public void restoreCursedWeapon()
  {
    L2Character owner = getOwner();
    if(owner == null || !owner.isPlayer())
    {
      return;
    }
    for(L2ItemInstance i : getItemsList())
    {
View Full Code Here

  public synchronized void equipItem(L2ItemInstance item, boolean checks)
  {
    int targetSlot = item.getItem().getBodyPart();
    if(checks)
    {
      L2Character owner = getOwner();
      if(owner.isPlayer() && owner.getName() != null)
      {
        SystemMessage msg = checkConditions(item);
        if(msg != null)
        {
          owner.sendPacket(msg);
          return;
        }
      }
    }
    double mp = 0; // при смене робы ману не сбрасываем
    switch(targetSlot)
    {
      case L2Item.SLOT_LR_HAND:
      {
        setPaperdollItem(PAPERDOLL_LHAND, null);
        setPaperdollItem(PAPERDOLL_RHAND, null);
        setPaperdollItem(PAPERDOLL_RHAND, item);
        break;
      }
      case L2Item.SLOT_L_HAND:
      {
        L2ItemInstance slot = getPaperdollItem(PAPERDOLL_RHAND);
        L2Item oldItem = slot == null ? null : slot.getItem();
        L2Item newItem = item.getItem();
        if(oldItem != null && newItem.getItemType() == EtcItemType.ARROW && oldItem.getItemType() == WeaponType.BOW && oldItem.getCrystalType() != newItem.getCrystalType())
        {
          return;
        }
        if(oldItem != null && newItem.getItemType() == EtcItemType.BOLT && oldItem.getItemType() == WeaponType.CROSSBOW && oldItem.getCrystalType() != newItem.getCrystalType())
        {
          return;
        }
        if(newItem.getItemType() != EtcItemType.ARROW && newItem.getItemType() != EtcItemType.BOLT && newItem.getItemType() != EtcItemType.BAIT)
        {
          if(oldItem != null && oldItem.getBodyPart() == L2Item.SLOT_LR_HAND)
          {
            setPaperdollItem(PAPERDOLL_RHAND, null);
            setPaperdollItem(PAPERDOLL_LHAND, null);
          }
          else
          {
            setPaperdollItem(PAPERDOLL_LHAND, null);
          }
          setPaperdollItem(PAPERDOLL_LHAND, item);
        }
        else if(oldItem != null && (newItem.getItemType() == EtcItemType.ARROW && oldItem.getItemType() == WeaponType.BOW || newItem.getItemType() == EtcItemType.BOLT && oldItem.getItemType() == WeaponType.CROSSBOW || newItem.getItemType() == EtcItemType.BAIT && oldItem.getItemType() == WeaponType.ROD))
        {
          setPaperdollItem(PAPERDOLL_LHAND, item);
          if(newItem.getItemType() == EtcItemType.BAIT && getOwner().isPlayer())
          {
            L2Player owner = (L2Player) getOwner();
            owner.setVar("LastLure", String.valueOf(item.getObjectId()));
          }
        }
        break;
      }
      case L2Item.SLOT_R_HAND:
View Full Code Here

TOP

Related Classes of l2p.gameserver.model.L2Character

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.