Examples of RecipeTemplate


Examples of lineage2.gameserver.templates.item.RecipeTemplate

    if (activeChar.isFishing())
    {
      activeChar.sendPacket(SystemMsg.YOU_CANNOT_DO_THAT_WHILE_FISHING_);
      return;
    }
    RecipeTemplate recipe = RecipeHolder.getInstance().getRecipeByRecipeId(_recipeId);
    if ((recipe == null) || (recipe.getMaterials().length == 0))
    {
      activeChar.sendPacket(SystemMsg.THE_RECIPE_IS_INCORRECT);
      return;
    }
    if (activeChar.getCurrentMp() < recipe.getMpConsume())
    {
      activeChar.sendPacket(SystemMsg.NOT_ENOUGH_MP, new RecipeItemMakeInfo(activeChar, recipe, 0));
      return;
    }
    if (!activeChar.findRecipe(_recipeId))
    {
      activeChar.sendPacket(SystemMsg.PLEASE_REGISTER_A_RECIPE, ActionFail.STATIC);
      return;
    }
    activeChar.getInventory().writeLock();
    try
    {
      RecipeComponent[] materials = recipe.getMaterials();
      for (RecipeComponent material : materials)
      {
        if (material.getCount() == 0)
        {
          continue;
        }
        if (Config.ALT_GAME_UNREGISTER_RECIPE && (ItemHolder.getInstance().getTemplate(material.getItemId()).getItemType() == EtcItemType.RECIPE))
        {
          RecipeTemplate rp = RecipeHolder.getInstance().getRecipeByRecipeItem(material.getItemId());
          if (activeChar.hasRecipe(rp))
          {
            continue;
          }
          activeChar.sendPacket(SystemMsg.YOU_DO_NOT_HAVE_ENOUGH_MATERIALS_TO_PERFORM_THAT_ACTION, new RecipeItemMakeInfo(activeChar, recipe, 0));
View Full Code Here

Examples of lineage2.gameserver.templates.item.RecipeTemplate

    Player activeChar = getClient().getActiveChar();
    if (activeChar == null)
    {
      return;
    }
    RecipeTemplate recipeList = RecipeHolder.getInstance().getRecipeByRecipeId(_id);
    if (recipeList == null)
    {
      activeChar.sendActionFailed();
      return;
    }
View Full Code Here

Examples of lineage2.gameserver.templates.item.RecipeTemplate

                continue;
              }
              for (ManufactureItem mitem : createList)
              {
                int recipeId = mitem.getRecipeId();
                RecipeTemplate recipe = RecipeHolder.getInstance().getRecipeByRecipeId(recipeId);
                if ((recipe == null) || (recipe.getProducts().length == 0))
                {
                  continue;
                }
                RecipeComponent product = recipe.getProducts()[0];
                ItemTemplate temp = ItemHolder.getInstance().getTemplate(product.getItemId());
                if (temp == null)
                {
                  continue;
                }
View Full Code Here

Examples of lineage2.gameserver.templates.item.RecipeTemplate

        {
          title = "-";
        }
        for (ManufactureItem mi : cl)
        {
          RecipeTemplate rec = RecipeHolder.getInstance().getRecipeByRecipeId(mi.getRecipeId() - 1);
          if (rec == null)
          {
            continue;
          }
          ItemTemplate item = ItemHolder.getInstance().getTemplate(rec.getItemId());
          if (item == null)
          {
            continue;
          }
          String stpl = tpl.replace("%item_name%", item.getName());
View Full Code Here

Examples of lineage2.gameserver.templates.item.RecipeTemplate

          }
          else if ((type == 2) && (cl != null))
          {
            for (ManufactureItem mi : cl)
            {
              RecipeTemplate recipe = RecipeHolder.getInstance().getRecipeByRecipeId(mi.getRecipeId() - 1);
              if (recipe != null)
              {
                ItemTemplate item = ItemHolder.getInstance().getTemplate(recipe.getItemId());
                if ((item != null) && (item.getName() != null) && item.getName().toLowerCase().contains(search))
                {
                  s_list.add(seller);
                  break;
                }
View Full Code Here

Examples of lineage2.gameserver.templates.item.RecipeTemplate

      final int level = Integer.parseInt(element.attributeValue("level"));
      final int mpConsume = element.attributeValue("mp_consume") == null ? 0 : Integer.parseInt(element.attributeValue("mp_consume"));
      final int successRate = Integer.parseInt(element.attributeValue("success_rate"));
      final int itemId = Integer.parseInt(element.attributeValue("item_id"));
      final boolean isDwarven = element.attributeValue("is_dwarven") == null ? false : Boolean.parseBoolean(element.attributeValue("is_dwarven"));
      RecipeTemplate recipe = new RecipeTemplate(id, level, mpConsume, successRate, itemId, isDwarven);
      for (Iterator<Element> subIterator = element.elementIterator(); subIterator.hasNext();)
      {
        Element subElement = subIterator.next();
        if ("materials".equalsIgnoreCase(subElement.getName()))
        {
          for (Element e : subElement.elements())
          {
            if ("item".equalsIgnoreCase(e.getName()))
            {
              int item_id = Integer.parseInt(e.attributeValue("id"));
              long count = Long.parseLong(e.attributeValue("count"));
              recipe.addMaterial(new RecipeComponent(item_id, count));
            }
          }
        }
        else if ("products".equalsIgnoreCase(subElement.getName()))
        {
          for (Element e : subElement.elements())
          {
            if ("item".equalsIgnoreCase(e.getName()))
            {
              int item_id = Integer.parseInt(e.attributeValue("id"));
              long count = Long.parseLong(e.attributeValue("count"));
              int chance = Integer.parseInt(e.attributeValue("chance"));
              recipe.addProduct(new RecipeComponent(item_id, count, chance));
            }
          }
        }
        else if ("npc_fee".equalsIgnoreCase(subElement.getName()))
        {
          for (Element e : subElement.elements())
          {
            if ("item".equalsIgnoreCase(e.getName()))
            {
              int item_id = Integer.parseInt(e.attributeValue("id"));
              long count = Long.parseLong(e.attributeValue("count"));
              recipe.addNpcFee(new RecipeComponent(item_id, count));
            }
          }
        }
      }
      getHolder().addRecipe(recipe);
View Full Code Here

Examples of lineage2.gameserver.templates.item.RecipeTemplate

      statement.setInt(1, getObjectId());
      rset = statement.executeQuery();
      while (rset.next())
      {
        int id = rset.getInt("id");
        RecipeTemplate recipe = RecipeHolder.getInstance().getRecipeByRecipeId(id);
        registerRecipe(recipe, false);
      }
    }
    catch (Exception e)
    {
View Full Code Here

Examples of lineage2.gameserver.templates.item.RecipeTemplate

    if ((manufacturer == null) || (manufacturer.getPrivateStoreType() != Player.STORE_PRIVATE_MANUFACTURE) || !manufacturer.isInRangeZ(buyer, Creature.INTERACTION_DISTANCE))
    {
      buyer.sendActionFailed();
      return;
    }
    RecipeTemplate recipe = null;
    for (ManufactureItem mi : manufacturer.getCreateList())
    {
      if (mi.getRecipeId() == _recipeId)
      {
        if (_price == mi.getCost())
        {
          recipe = RecipeHolder.getInstance().getRecipeByRecipeId(_recipeId);
          break;
        }
      }
    }
    if (recipe == null)
    {
      buyer.sendActionFailed();
      return;
    }
    if (recipe.getMaterials().length == 0)
    {
      manufacturer.sendPacket(SystemMsg.THE_RECIPE_IS_INCORRECT);
      buyer.sendPacket(SystemMsg.THE_RECIPE_IS_INCORRECT);
      return;
    }
    if (!manufacturer.findRecipe(_recipeId))
    {
      buyer.sendActionFailed();
      return;
    }
    int success = 0;
    if (manufacturer.getCurrentMp() < recipe.getMpConsume())
    {
      manufacturer.sendPacket(SystemMsg.NOT_ENOUGH_MP);
      buyer.sendPacket(SystemMsg.NOT_ENOUGH_MP, new RecipeShopItemInfo(buyer, manufacturer, _recipeId, _price, success));
      return;
    }
    buyer.getInventory().writeLock();
    try
    {
      if (buyer.getAdena() < _price)
      {
        buyer.sendPacket(SystemMsg.YOU_DO_NOT_HAVE_ENOUGH_ADENA, new RecipeShopItemInfo(buyer, manufacturer, _recipeId, _price, success));
        return;
      }
      RecipeTemplate.RecipeComponent[] materials = recipe.getMaterials();
      for (RecipeTemplate.RecipeComponent material : materials)
      {
        if (material.getCount() == 0)
        {
          continue;
        }
        ItemInstance item = buyer.getInventory().getItemByItemId(material.getItemId());
        if ((item == null) || (material.getCount() > item.getCount()))
        {
          buyer.sendPacket(SystemMsg.YOU_DO_NOT_HAVE_ENOUGH_MATERIALS_TO_PERFORM_THAT_ACTION, new RecipeShopItemInfo(buyer, manufacturer, _recipeId, _price, success));
          return;
        }
      }
      if (!buyer.reduceAdena(_price, false))
      {
        buyer.sendPacket(SystemMsg.YOU_DO_NOT_HAVE_ENOUGH_ADENA, new RecipeShopItemInfo(buyer, manufacturer, _recipeId, _price, success));
        return;
      }
      for (RecipeTemplate.RecipeComponent material : materials)
      {
        if (material.getCount() == 0)
        {
          continue;
        }
        buyer.getInventory().destroyItemByItemId(material.getItemId(), material.getCount());
        buyer.sendPacket(SystemMessage2.removeItems(material.getItemId(), material.getCount()));
      }
      long tax = TradeHelper.getTax(manufacturer, _price);
      if (tax > 0)
      {
        _price -= tax;
      }
      manufacturer.addAdena(_price);
    }
    finally
    {
      buyer.getInventory().writeUnlock();
    }
    manufacturer.reduceCurrentMp(recipe.getMpConsume(), null);
    manufacturer.sendStatusUpdate(false, false, StatusUpdateField.CUR_MP);
    RecipeTemplate.RecipeComponent product = recipe.getRandomProduct();
    int itemId = product.getItemId();
    long itemsCount = product.getCount();
    if (Rnd.chance(recipe.getSuccessRate()))
    {
      ItemFunctions.addItem(buyer, itemId, itemsCount, true);
      if (itemsCount > 1)
      {
        SystemMessage sm = new SystemMessage(SystemMessage.S1_CREATED_S2_S3_AT_THE_PRICE_OF_S4_ADENA);
View Full Code Here

Examples of lineage2.gameserver.templates.item.RecipeTemplate

    if ((playable == null) || !playable.isPlayer())
    {
      return false;
    }
    final Player player = (Player) playable;
    final RecipeTemplate rp = RecipeHolder.getInstance().getRecipeByRecipeItem(item.getItemId());
    if (rp.isDwarven())
    {
      if (player.getDwarvenRecipeLimit() > 0)
      {
        if (player.getDwarvenRecipeBook().size() >= player.getDwarvenRecipeLimit())
        {
          player.sendPacket(Msg.NO_FURTHER_RECIPES_MAY_BE_REGISTERED);
          return false;
        }
        if (rp.getLevel() > player.getSkillLevel(Skill.SKILL_CRAFTING))
        {
          player.sendPacket(Msg.CREATE_ITEM_LEVEL_IS_TOO_LOW_TO_REGISTER_THIS_RECIPE);
          return false;
        }
        if (player.hasRecipe(rp))
View Full Code Here

Examples of lineage2.gameserver.templates.item.RecipeTemplate

    if (activeChar.getPrivateStoreType() == Player.STORE_PRIVATE_MANUFACTURE)
    {
      activeChar.sendActionFailed();
      return;
    }
    RecipeTemplate rp = RecipeHolder.getInstance().getRecipeByRecipeId(_recipeId);
    if (rp == null)
    {
      activeChar.sendActionFailed();
      return;
    }
    activeChar.unregisterRecipe(_recipeId);
    activeChar.sendPacket(new RecipeBookItemList(activeChar, rp.isDwarven()));
  }
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.