Examples of ItemTemplate


Examples of lineage2.gameserver.templates.item.ItemTemplate

  public void registerItemHandler(IItemHandler handler)
  {
    int[] ids = handler.getItemIds();
    for (int itemId : ids)
    {
      ItemTemplate template = ItemHolder.getInstance().getTemplate(itemId);
      if (template == null)
      {
        warn("Item not found: " + itemId + " handler: " + handler.getClass().getSimpleName());
      }
      else if (template.getHandler() != IItemHandler.NULL)
      {
        warn("Duplicate handler for item: " + itemId + "(" + template.getHandler().getClass().getSimpleName() + "," + handler.getClass().getSimpleName() + ")");
      }
      else
      {
        template.setHandler(handler);
      }
    }
  }
View Full Code Here

Examples of lineage2.gameserver.templates.item.ItemTemplate

   */
  public void unregisterItemHandler(IItemHandler handler)
  {
    for (int itemId : handler.getItemIds())
    {
      ItemTemplate template = ItemHolder.getInstance().getTemplate(itemId);
      template.setHandler(IItemHandler.NULL);
    }
  }
View Full Code Here

Examples of lineage2.gameserver.templates.item.ItemTemplate

            }
          }
        }
      }
      set.set("bodypart", slot);
      ItemTemplate template = null;
      try
      {
        template = new EtcItemTemplate(set);
      }
      catch (Exception e)
      {
        warn("Fail create item: " + set.get("item_id"), e);
        continue;
      }
      for (Iterator<org.dom4j.Element> subIterator = itemElement.elementIterator(); subIterator.hasNext();)
      {
        org.dom4j.Element subElement = subIterator.next();
        String subName = subElement.getName();
        if (subName.equalsIgnoreCase("for"))
        {
          parseFor(subElement, template);
        }
        else if (subName.equalsIgnoreCase("triggers"))
        {
          parseTriggers(subElement, template);
        }
        else if (subName.equalsIgnoreCase("skills"))
        {
          for (Iterator<org.dom4j.Element> nextIterator = subElement.elementIterator(); nextIterator.hasNext();)
          {
            org.dom4j.Element nextElement = nextIterator.next();
            int id = Integer.parseInt(nextElement.attributeValue("id"));
            int level = Integer.parseInt(nextElement.attributeValue("level"));
            Skill skill = SkillTable.getInstance().getInfo(id, level);
            if (skill != null)
            {
              template.attachSkill(skill);
            }
            else
            {
              info("Skill not found(" + id + "," + level + ") for item:" + set.getObject("item_id") + "; file:" + getCurrentFileName());
            }
          }
        }
        else if (subName.equalsIgnoreCase("enchant4_skill"))
        {
          int id = Integer.parseInt(subElement.attributeValue("id"));
          int level = Integer.parseInt(subElement.attributeValue("level"));
          Skill skill = SkillTable.getInstance().getInfo(id, level);
          if (skill != null)
          {
            template.setEnchant4Skill(skill);
          }
        }
        else if (subName.equalsIgnoreCase("unequip_skill"))
        {
          int id = Integer.parseInt(subElement.attributeValue("id"));
          int level = Integer.parseInt(subElement.attributeValue("level"));
          Skill skill = SkillTable.getInstance().getInfo(id, level);
          if (skill != null)
          {
            template.setUnequipeSkill(skill);
          }
        }
        else if (subName.equalsIgnoreCase("cond"))
        {
          Condition condition = parseFirstCond(subElement);
          if (condition != null)
          {
            int msgId = parseNumber(subElement.attributeValue("msgId")).intValue();
            condition.setSystemMsg(msgId);
            template.setCondition(condition);
          }
        }
        else if (subName.equalsIgnoreCase("attributes"))
        {
          int[] attributes = new int[6];
          for (Iterator<org.dom4j.Element> nextIterator = subElement.elementIterator(); nextIterator.hasNext();)
          {
            org.dom4j.Element nextElement = nextIterator.next();
            Element element;
            if (nextElement.getName().equalsIgnoreCase("attribute"))
            {
              element = Element.getElementByName(nextElement.attributeValue("element"));
              attributes[element.getId()] = Integer.parseInt(nextElement.attributeValue("value"));
            }
          }
          template.setBaseAtributeElements(attributes);
        }
        else if (subName.equalsIgnoreCase("enchant_options"))
        {
          for (Iterator<org.dom4j.Element> nextIterator = subElement.elementIterator(); nextIterator.hasNext();)
          {
            org.dom4j.Element nextElement = nextIterator.next();
            if (nextElement.getName().equalsIgnoreCase("level"))
            {
              int val = Integer.parseInt(nextElement.attributeValue("val"));
              int i = 0;
              int[] options = new int[3];
              for (org.dom4j.Element optionElement : nextElement.elements())
              {
                OptionDataTemplate optionData = OptionDataHolder.getInstance().getTemplate(Integer.parseInt(optionElement.attributeValue("id")));
                if (optionData == null)
                {
                  error("Not found option_data for id: " + optionElement.attributeValue("id") + "; item_id: " + set.get("item_id"));
                  continue;
                }
                options[i++] = optionData.getId();
              }
              template.addEnchantOptions(val, options);
            }
          }
        }
      }
      getHolder().addItem(template);
View Full Code Here

Examples of lineage2.gameserver.templates.item.ItemTemplate

  {
    Player player = (Player) actor;
    Skill[] itemSkills = null;
    Skill enchant4Skill = null;
    Skill unequipeSkill = null;
    ItemTemplate it = item.getTemplate();
    itemSkills = it.getAttachedSkills();
    enchant4Skill = it.getEnchant4Skill();
    unequipeSkill = it.getUnequipeSkill();
    player.removeTriggers(it);
    if ((itemSkills != null) && (itemSkills.length > 0))
    {
      for (Skill itemSkill : itemSkills)
      {
View Full Code Here

Examples of lineage2.gameserver.templates.item.ItemTemplate

  public void onEquip(int slot, ItemInstance item, Playable actor)
  {
    Player player = (Player) actor;
    Skill[] itemSkills = null;
    Skill enchant4Skill = null;
    ItemTemplate it = item.getTemplate();
    itemSkills = it.getAttachedSkills();
    if (item.getEnchantLevel() >= 4)
    {
      enchant4Skill = it.getEnchant4Skill();
    }
    if ((it.getType2() == ItemTemplate.TYPE2_WEAPON) && (player.getWeaponsExpertisePenalty() > 0))
    {
      return;
    }
    player.addTriggers(it);
    boolean needSendInfo = false;
View Full Code Here

Examples of lineage2.gameserver.templates.item.ItemTemplate

        if (list.getItemByItemId(itemId) == null)
        {
          activeChar.sendActionFailed();
          return;
        }
        ItemTemplate template = ItemHolder.getInstance().getTemplate(itemId);
        if (template == null)
        {
          continue;
        }
        if (!template.isEquipable())
        {
          continue;
        }
        int paperdoll = Inventory.getPaperdollIndex(template.getBodyPart());
        if (paperdoll < 0)
        {
          continue;
        }
        if (activeChar.getRace() == Race.kamael)
        {
          if ((template.getItemType() == ArmorType.HEAVY) || (template.getItemType() == ArmorType.MAGIC) || (template.getItemType() == ArmorType.SIGIL) || (template.getItemType() == WeaponType.NONE))
          {
            continue;
          }
        }
        else
        {
          if ((template.getItemType() == WeaponType.CROSSBOW) || (template.getItemType() == WeaponType.RAPIER) || (template.getItemType() == WeaponType.ANCIENTSWORD))
          {
            continue;
          }
        }
        if (itemList.containsKey(paperdoll))
View Full Code Here

Examples of lineage2.gameserver.templates.item.ItemTemplate

      {
        if (i.getItemId() <= 0)
        {
          continue;
        }
        ItemTemplate item = ItemHolder.getInstance().getTemplate(i.getItemId());
       
        weight = SafeMath.addAndCheck(weight, SafeMath.mulAndCheck(SafeMath.mulAndCheck(i.getItemCount(), _amount), item.getWeight()));
        if (item.isStackable())
        {
          if (inventory.getItemByItemId(i.getItemId()) == null)
          {
            slots++;
          }
        }
        else
        {
          slots = SafeMath.addAndCheck(slots, _amount);
        }
      }
     
      if (!inventory.validateWeight(weight))
      {
        activeChar.sendPacket(Msg.YOU_HAVE_EXCEEDED_THE_WEIGHT_LIMIT);
        activeChar.sendActionFailed();
        return;
      }
     
      if (!inventory.validateCapacity(slots))
      {
        activeChar.sendPacket(Msg.YOUR_INVENTORY_IS_FULL);
        activeChar.sendActionFailed();
        return;
      }
     
      if (entry.getIngredients().size() == 0)
      {
        activeChar.sendActionFailed();
        activeChar.setMultisell(null);
        return;
      }
     
      for (MultiSellIngredient ingridient : entry.getIngredients())
      {
        int ingridientItemId = ingridient.getItemId();
        long ingridientItemCount = ingridient.getItemCount();
        int ingridientEnchant = ingridient.getItemEnchant();
        long totalAmount = !ingridient.getMantainIngredient() ? SafeMath.mulAndCheck(ingridientItemCount, _amount) : ingridientItemCount;
       
        if (ingridientItemId == ItemTemplate.ITEM_ID_CLAN_REPUTATION_SCORE)
        {
          if (activeChar.getClan() == null)
          {
            activeChar.sendPacket(Msg.YOU_ARE_NOT_A_CLAN_MEMBER);
            return;
          }
         
          if (activeChar.getClan().getReputationScore() < totalAmount)
          {
            activeChar.sendPacket(Msg.THE_CLAN_REPUTATION_SCORE_IS_TOO_LOW);
            return;
          }
         
          if (activeChar.getClan().getLeaderId() != activeChar.getObjectId())
          {
            activeChar.sendPacket(new SystemMessage(SystemMessage.S1_IS_NOT_A_CLAN_LEADER).addString(activeChar.getName()));
            return;
          }
          if (!ingridient.getMantainIngredient())
          {
            items.add(new ItemData(ingridientItemId, totalAmount, null));
          }
        }
        else if (ingridientItemId == ItemTemplate.ITEM_ID_PC_BANG_POINTS)
        {
          if (activeChar.getPcBangPoints() < totalAmount)
          {
            activeChar.sendPacket(Msg.YOU_ARE_SHORT_OF_ACCUMULATED_POINTS);
            return;
          }
          if (!ingridient.getMantainIngredient())
          {
            items.add(new ItemData(ingridientItemId, totalAmount, null));
          }
        }
        else if (ingridientItemId == ItemTemplate.ITEM_ID_FAME)
        {
          if (activeChar.getFame() < totalAmount)
          {
            activeChar.sendPacket(Msg.NOT_ENOUGH_FAME_POINTS);
            return;
          }
          if (!ingridient.getMantainIngredient())
          {
            items.add(new ItemData(ingridientItemId, totalAmount, null));
          }
        }
        else
        {
          ItemTemplate template = ItemHolder.getInstance().getTemplate(ingridientItemId);
         
          if (!template.isStackable())
          {
            for (int i = 0; i < (ingridientItemCount * _amount); i++)
            {
              List<ItemInstance> list = inventory.getItemsByItemId(ingridientItemId);
              if (keepenchant)
View Full Code Here

Examples of lineage2.gameserver.templates.item.ItemTemplate

   */
  public ProductItemComponent(int item_id, int count)
  {
    _itemId = item_id;
    _count = count;
    ItemTemplate item = ItemHolder.getInstance().getTemplate(item_id);
    if (item != null)
    {
      _weight = item.getWeight();
      _dropable = item.isDropable();
    }
    else
    {
      _weight = 0;
      _dropable = true;
View Full Code Here

Examples of lineage2.gameserver.templates.item.ItemTemplate

        break;
      }
      case ItemTemplate.SLOT_L_HAND:
      {
        final ItemInstance rHandItem = getPaperdollItem(PAPERDOLL_RHAND);
        final ItemTemplate rHandItemTemplate = rHandItem == null ? null : rHandItem.getTemplate();
        final ItemTemplate newItem = item.getTemplate();
        if (newItem.getItemType() == EtcItemType.ARROW)
        {
          if (rHandItemTemplate == null)
          {
            return;
          }
          if (rHandItemTemplate.getItemType() != WeaponType.BOW)
          {
            return;
          }
          if (rHandItemTemplate.getCrystalType() != newItem.getCrystalType())
          {
            return;
          }
        }
        else if (newItem.getItemType() == EtcItemType.BOLT)
        {
          if (rHandItemTemplate == null)
          {
            return;
          }
          if (rHandItemTemplate.getItemType() != WeaponType.CROSSBOW)
          {
            return;
          }
          if (rHandItemTemplate.getCrystalType() != newItem.getCrystalType())
          {
            return;
          }
        }
        else if (newItem.getItemType() == EtcItemType.BAIT)
        {
          if (rHandItemTemplate == null)
          {
            return;
          }
View Full Code Here

Examples of lineage2.gameserver.templates.item.ItemTemplate

   * @param count long
   * @return boolean
   */
  public boolean validateCapacity(int itemId, long count)
  {
    ItemTemplate item = ItemHolder.getInstance().getTemplate(itemId);
    return validateCapacity(item, count);
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.