rendered paste bodyIndex: java/net/sf/l2j/gameserver/model/L2Multisell.java
===================================================================
--- java/net/sf/l2j/gameserver/model/L2Multisell.java (revision 1266)
+++ java/net/sf/l2j/gameserver/model/L2Multisell.java (working copy)
@@ -174,7 +174,6 @@
{
MultiSellEntry newEntry = L2Multisell.getInstance().new MultiSellEntry();
newEntry.setEntryId(templateEntry.getEntryId()*100000+enchantLevel);
- int adenaAmount = 0;
for (MultiSellIngredient ing : templateEntry.getIngredients())
{
@@ -182,16 +181,27 @@
MultiSellIngredient newIngredient = L2Multisell.getInstance().new MultiSellIngredient(ing);
// if taxes are to be applied, modify/add the adena count based on the template adena/ancient adena count
- if ( ing.getItemId() == 57 && ing.isTaxIngredient() )
+ if ( applyTaxes && ((ing.getItemId() == 57) || (ing.getItemId() == 5575)) )
+ if ( ing.getItemId() == 57)
{
- if (applyTaxes)
- adenaAmount += (int)Math.round(ing.getItemCount()*taxRate);
- continue; // do not adena yet, as non-taxIngredient adena entries might occur next (order not guaranteed)
+ int taxAmount = (int)Math.round(ing.getItemCount()*taxRate);
+ if (newIngredient.isTaxIngredient())
+ {
+ if (taxAmount == 0)
+ continue;
+ newIngredient.setItemCount(taxAmount);
+ }
+ else
+ newIngredient.setItemCount(ing.getItemCount()+taxAmount);
}
- else if ( ing.getItemId() == 57 ) // && !ing.isTaxIngredient()
+ else // ancient adena
{
- adenaAmount += (int)Math.round(ing.getItemCount()*taxRate);
- continue; // do not adena yet, as taxIngredient adena entries might occur next (order not guaranteed)
+ //add the ancient adena count normally
+ newEntry.addIngredient(newIngredient);
+ double taxableCount = ing.getItemCount()*5.0/6;
+ if (taxRate==0)
+ continue;
+ newIngredient = L2Multisell.getInstance().new MultiSellIngredient(57, (int)Math.round(taxableCount*taxRate), false, false);
}
// if it is an armor/weapon, modify the enchantment level appropriately, if necessary
else if (maintainEnchantment)
@@ -204,11 +214,7 @@
// finally, add this ingredient to the entry
newEntry.addIngredient(newIngredient);
}
- // now add the adena, if any.
- if (adenaAmount > 0 )
- {
- newEntry.addIngredient(L2Multisell.getInstance().new MultiSellIngredient(57,adenaAmount,0,false,false));
- }
+
// Now modify the enchantment level of products, if necessary
for (MultiSellIngredient ing : templateEntry.getProducts())
{