Examples of CropProcure


Examples of com.l2jfrozen.gameserver.managers.CastleManorManager.CropProcure

        return;
      }

      try
      {
        CropProcure crop = CastleManager.getInstance().getCastleById(manorId).getCrop(itemId, CastleManorManager.PERIOD_CURRENT);
        int rewardItemId = L2Manor.getInstance().getRewardItem(itemId, crop.getReward());
        L2Item template = ItemTable.getInstance().getTemplate(rewardItemId);
        weight += count * template.getWeight();

        if(!template.isStackable())
        {
          slots += count;
        }
        else if(player.getInventory().getItemByItemId(itemId) == null)
        {
          slots++;
        }
      }
      catch(NullPointerException e)
      {
        if(Config.ENABLE_ALL_EXCEPTIONS)
          e.printStackTrace();
       
        continue;
      }
    }

    if(!player.getInventory().validateWeight(weight))
    {
      sendPacket(new SystemMessage(SystemMessageId.WEIGHT_LIMIT_EXCEEDED));
      return;
    }

    if(!player.getInventory().validateCapacity(slots))
    {
      sendPacket(new SystemMessage(SystemMessageId.SLOTS_FULL));
      return;
    }

    // Proceed the purchase
    InventoryUpdate playerIU = new InventoryUpdate();

    for(int i = 0; i < _size; i++)
    {
      int objId = _items[i * 4 + 0];
      int cropId = _items[i * 4 + 1];
      int manorId = _items[i * 4 + 2];
      int count = _items[i * 4 + 3];

      if(objId == 0 || cropId == 0 || manorId == 0 || count == 0)
      {
        continue;
      }

      if(count < 1)
      {
        continue;
      }

      CropProcure crop = null;

      try
      {
        crop = CastleManager.getInstance().getCastleById(manorId).getCrop(cropId, CastleManorManager.PERIOD_CURRENT);
      }
      catch(NullPointerException e)
      {
        if(Config.ENABLE_ALL_EXCEPTIONS)
          e.printStackTrace();
       
        continue;
      }
      if(crop == null || crop.getId() == 0 || crop.getPrice() == 0)
      {
        continue;
      }

      int fee = 0; // fee for selling to other manors

      int rewardItem = L2Manor.getInstance().getRewardItem(cropId, crop.getReward());

      if(count > crop.getAmount())
      {
        continue;
      }

      int sellPrice = count * L2Manor.getInstance().getCropBasicPrice(cropId);
      int rewardPrice = ItemTable.getInstance().getTemplate(rewardItem).getReferencePrice();

      if(rewardPrice == 0)
      {
        continue;
      }

      int rewardItemCount = sellPrice / rewardPrice;
      if(rewardItemCount < 1)
      {
        SystemMessage sm = new SystemMessage(SystemMessageId.FAILED_IN_TRADING_S2_OF_CROP_S1);
        sm.addItemName(cropId);
        sm.addNumber(count);
        player.sendPacket(sm);
        continue;
      }

      if(manorId != currentManorId)
      {
        fee = sellPrice * 5 / 100; // 5% fee for selling to other manor
      }

      if(player.getInventory().getAdena() < fee)
      {
        SystemMessage sm = new SystemMessage(SystemMessageId.FAILED_IN_TRADING_S2_OF_CROP_S1);
        sm.addItemName(cropId);
        sm.addNumber(count);
        player.sendPacket(sm);
        sm = new SystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA);
        player.sendPacket(sm);
        continue;
      }

      // Add item to Inventory and adjust update packet
      L2ItemInstance itemDel = null;
      L2ItemInstance itemAdd = null;
      if(player.getInventory().getItemByObjectId(objId) != null)
      {
        // check if player have correct items count
        L2ItemInstance item = player.getInventory().getItemByObjectId(objId);
        if(item.getCount() < count)
        {
          continue;
        }

        itemDel = player.getInventory().destroyItem("Manor", objId, count, player, manorManager);
        if(itemDel == null)
        {
          continue;
        }

        if(fee > 0)
        {
          player.getInventory().reduceAdena("Manor", fee, player, manorManager);
        }

        crop.setAmount(crop.getAmount() - count);

        if(Config.ALT_MANOR_SAVE_ALL_ACTIONS)
        {
          CastleManager.getInstance().getCastleById(manorId).updateCrop(crop.getId(), crop.getAmount(), CastleManorManager.PERIOD_CURRENT);
        }

        itemAdd = player.getInventory().addItem("Manor", rewardItem, rewardItemCount, player, manorManager);
      }
      else
View Full Code Here

Examples of com.l2jfrozen.gameserver.managers.CastleManorManager.CropProcure

    _cropId = cropId;
    _castleCrops = new FastMap<Integer, CropProcure>();

    for(Castle c : CastleManager.getInstance().getCastles())
    {
      CropProcure cropItem = c.getCrop(_cropId, CastleManorManager.PERIOD_CURRENT);
      if(cropItem != null && cropItem.getAmount() > 0)
      {
        _castleCrops.put(c.getCastleId(), cropItem);
      }
    }
  }
View Full Code Here

Examples of com.l2jfrozen.gameserver.managers.CastleManorManager.CropProcure

    writeD(_cropId); // crop id
    writeD(_castleCrops.size()); // size

    for(int manorId : _castleCrops.keySet())
    {
      CropProcure crop = _castleCrops.get(manorId);
      writeD(manorId); // manor name
      writeD(crop.getAmount()); // buy residual
      writeD(crop.getPrice()); // buy price
      writeC(crop.getReward()); // reward type
    }
  }
View Full Code Here

Examples of com.l2jfrozen.gameserver.managers.CastleManorManager.CropProcure

      int price = _items[i * 4 + 2];
      int type = _items[i * 4 + 3];

      if(id > 0)
      {
        CropProcure s = CastleManorManager.getInstance().getNewCropProcure(id, sales, type, price, sales);
        crops.add(s);
      }
    }

    CastleManager.getInstance().getCastleById(_manorId).setCropProcure(crops, CastleManorManager.PERIOD_NEXT);
View Full Code Here

Examples of com.l2jfrozen.gameserver.managers.CastleManorManager.CropProcure

      writeC(1);
      writeD(L2Manor.getInstance().getRewardItem(item.getItemId(), 2)); // reward 2 id

      if(_castleCrops.containsKey(item.getItemId()))
      {
        CropProcure crop = _castleCrops.get(item.getItemId());
        writeD(_manorId); // manor
        writeD(crop.getAmount()); // buy residual
        writeD(crop.getPrice()); // buy price
        writeC(crop.getReward()); // reward
      }
      else
      {
        writeD(0xFFFFFFFF); // manor
        writeD(0); // buy residual
View Full Code Here

Examples of com.l2jfrozen.gameserver.managers.CastleManorManager.CropProcure

      _cropData[i * 14 + 3] = L2Manor.getInstance().getRewardItem(cr, 2);
      _cropData[i * 14 + 4] = L2Manor.getInstance().getCropPuchaseLimit(cr);
      _cropData[i * 14 + 5] = 0; // Looks like not used
      _cropData[i * 14 + 6] = L2Manor.getInstance().getCropBasicPrice(cr) * 60 / 100;
      _cropData[i * 14 + 7] = L2Manor.getInstance().getCropBasicPrice(cr) * 10;
      CropProcure cropPr = c.getCrop(cr, CastleManorManager.PERIOD_CURRENT);
      if(cropPr != null)
      {
        _cropData[i * 14 + 8] = cropPr.getStartAmount();
        _cropData[i * 14 + 9] = cropPr.getPrice();
        _cropData[i * 14 + 10] = cropPr.getReward();
      }
      else
      {
        _cropData[i * 14 + 8] = 0;
        _cropData[i * 14 + 9] = 0;
        _cropData[i * 14 + 10] = 0;
      }
      cropPr = c.getCrop(cr, CastleManorManager.PERIOD_NEXT);
      if(cropPr != null)
      {
        _cropData[i * 14 + 11] = cropPr.getStartAmount();
        _cropData[i * 14 + 12] = cropPr.getPrice();
        _cropData[i * 14 + 13] = cropPr.getReward();
      }
      else
      {
        _cropData[i * 14 + 11] = 0;
        _cropData[i * 14 + 12] = 0;
View Full Code Here

Examples of l2p.gameserver.instancemanager.CastleManorManager.CropProcure

    return -1;
  }

  public synchronized long getRewardAmountPerCrop(int castle, int cropId, int type)
  {
    final CropProcure cs = CastleManager.getInstance().getCastleByIndex(castle).getCropProcure(CastleManorManager.PERIOD_CURRENT).get(cropId);
    for(SeedData seed : _seeds.values())
    {
      if(seed.getCrop() == cropId)
      {
        return cs.getPrice() / getCropBasicPrice(seed.getReward(type));
      }
    }
    return -1;
  }
View Full Code Here

Examples of l2p.gameserver.instancemanager.CastleManorManager.CropProcure

      long sales = _items[i * 4 + 1];
      long price = _items[i * 4 + 2];
      int type = (int) _items[i * 4 + 3];
      if(id > 0)
      {
        CropProcure s = CastleManorManager.getInstance().getNewCropProcure(id, sales, type, price, sales);
        crops.add(s);
      }
    }
    CastleManager.getInstance().getCastleByIndex(_manorId).setCropProcure(crops, CastleManorManager.PERIOD_NEXT);
    CastleManager.getInstance().getCastleByIndex(_manorId).saveCropData(CastleManorManager.PERIOD_NEXT);
View Full Code Here

Examples of l2p.gameserver.instancemanager.CastleManorManager.CropProcure

  {
    _cropId = cropId;
    _castleCrops = new FastMap<Integer, CropProcure>();
    for(Castle c : CastleManager.getInstance().getCastles().values())
    {
      CropProcure cropItem = c.getCrop(_cropId, CastleManorManager.PERIOD_CURRENT);
      if(cropItem != null && cropItem.getAmount() > 0)
      {
        _castleCrops.put(c.getId(), cropItem);
      }
    }
  }
View Full Code Here

Examples of l2p.gameserver.instancemanager.CastleManorManager.CropProcure

    writeH(0x78);
    writeD(_cropId); // crop id
    writeD(_castleCrops.size()); // size
    for(int manorId : _castleCrops.keySet())
    {
      CropProcure crop = _castleCrops.get(manorId);
      writeD(manorId); // manor name
      writeQ(crop.getAmount()); // buy residual
      writeQ(crop.getPrice()); // buy price
      writeC(crop.getReward()); // reward type
    }
  }
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.