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)
{
ItemInstance itemToTake = null;
for (ItemInstance item : list)
{
ItemData itmd = new ItemData(item.getItemId(), item.getCount(), item);
if (((item.getEnchantLevel() == ingridientEnchant) || !item.getTemplate().isEquipment()) && !items.contains(itmd) && item.canBeExchanged(activeChar))
{
itemToTake = item;
break;
}
}
if (itemToTake == null)
{
activeChar.sendPacket(Msg.YOU_DO_NOT_HAVE_ENOUGH_REQUIRED_ITEMS);
return;
}
if (!ingridient.getMantainIngredient())
{
items.add(new ItemData(itemToTake.getItemId(), 1, itemToTake));
}
}
else
{
ItemInstance itemToTake = null;
for (ItemInstance item : list)
{
if (!items.contains(new ItemData(item.getItemId(), item.getCount(), item)) && ((itemToTake == null) || (item.getEnchantLevel() < itemToTake.getEnchantLevel())) && !item.isShadowItem() && !item.isTemporalItem() && (!item.isAugmented() || Config.ALT_ALLOW_DROP_AUGMENTED) && ItemFunctions.checkIfCanDiscard(activeChar, item))
{
itemToTake = item;
if (itemToTake.getEnchantLevel() == 0)
{
break;
}
}
}
if (itemToTake == null)
{
activeChar.sendPacket(Msg.YOU_DO_NOT_HAVE_ENOUGH_REQUIRED_ITEMS);
return;
}
if (!ingridient.getMantainIngredient())
{
items.add(new ItemData(itemToTake.getItemId(), 1, itemToTake));
}
}
}
}
else
{
if (ingridientItemId == 57)
{
totalPrice = SafeMath.addAndCheck(totalPrice, SafeMath.mulAndCheck(ingridientItemCount, _amount));
}
ItemInstance item = inventory.getItemByItemId(ingridientItemId);
if ((item == null) || (item.getCount() < totalAmount))
{
activeChar.sendPacket(Msg.YOU_DO_NOT_HAVE_ENOUGH_REQUIRED_ITEMS);
return;
}
if (!ingridient.getMantainIngredient())
{
items.add(new ItemData(item.getItemId(), totalAmount, item));
}
}
}
if (activeChar.getAdena() < totalPrice)
{
activeChar.sendPacket(Msg.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
return;
}
}
int enchantLevel = 0;
ItemAttributes attributes = null;
int augmentationId = 0;
for (ItemData id : items)
{
long count = id.getCount();
if (count > 0)
{
if (id.getId() == ItemTemplate.ITEM_ID_CLAN_REPUTATION_SCORE)
{
activeChar.getClan().incReputation((int) -count, false, "MultiSell");
activeChar.sendPacket(new SystemMessage(SystemMessage.S1_POINTS_HAVE_BEEN_DEDUCTED_FROM_THE_CLAN_REPUTATION_SCORE).addNumber(count));
}
else if (id.getId() == ItemTemplate.ITEM_ID_PC_BANG_POINTS)
{
activeChar.reducePcBangPoints((int) count);
}
else if (id.getId() == ItemTemplate.ITEM_ID_FAME)
{
activeChar.setFame(activeChar.getFame() - (int) count, "MultiSell");
activeChar.sendPacket(new SystemMessage(SystemMessage.S2_S1_HAS_DISAPPEARED).addNumber(count).addString("Fame"));
}
else
{
if (inventory.destroyItem(id.getItem(), count))
{
if (keepenchant && id.getItem().canBeEnchanted())
{
enchantLevel = id.getItem().getEnchantLevel();
attributes = id.getItem().getAttributes();
augmentationId = id.getItem().getAugmentationId();
}
activeChar.sendPacket(SystemMessage2.removeItems(id.getId(), count));
continue;
}
return;
}
}
}
if ((tax > 0) && !notax)
{
if (castle != null)
{
activeChar.sendMessage(new CustomMessage("trade.HavePaidTax", activeChar).addNumber(tax));
if ((merchant != null) && (merchant.getReflection() == ReflectionManager.DEFAULT))
{
castle.addToTreasury(tax, true, false);
}
}
}
double rndNum = 100.0D * Rnd.nextDouble();
double chance = 0.0D;
double chanceFrom = 0.0D;
cycle1 :
for (MultiSellIngredient in : entry.getProduction())
{
if (in.getItemId() <= 0)
{
if (in.getItemId() == ItemTemplate.ITEM_ID_CLAN_REPUTATION_SCORE)
{
activeChar.getClan().incReputation((int) (in.getItemCount() * _amount), false, "MultiSell");
activeChar.sendPacket(new SystemMessage(SystemMessage.YOUR_CLAN_HAS_ADDED_1S_POINTS_TO_ITS_CLAN_REPUTATION_SCORE).addNumber(in.getItemCount() * _amount));
}
else if (in.getItemId() == ItemTemplate.ITEM_ID_PC_BANG_POINTS)
{
activeChar.addPcBangPoints((int) (in.getItemCount() * _amount), false);
}