16-08-2011, 12:35 PM
|
#1 (permalink)
|
|
Banido
Registrado em: Nov 2009
Localização: Fortaleza-ce
Posts: 325
Agradecido 203 Vezes em 82 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Nome Real: Allan Alcântara de Alencar
|
PHX Multisell bug fix
Index: java/net/sf/l2j/gameserver/network/clientpackets/MultiSellChoose.java
===================================================================
--- java/net/sf/l2j/gameserver/network/clientpackets/MultiSellChoose.java (revision 2745)
+++ java/net/sf/l2j/gameserver/network/clientpackets/MultiSellChoose.java (working copy)
@@ -88,6 +88,8 @@
{
PcInventory inv = player.getInventory();
+ boolean maintainItemFound = false;
+
// given the template entry and information about maintaining enchantment and applying taxes
// re-create the instance of the entry that will be used for this exchange
// i.e. change the enchantment level of select ingredient/products and adena amount appropriately.
@@ -126,10 +128,26 @@
}
if (newIng)
{
+ // If there is a maintainIngredient, then we do not need to check the enchantment parameter
+ // as the enchant level will be checked elsewhere
+ if (maintainEnchantment && e.getMantainIngredient())
+ {
+ maintainItemFound = true;
+ }
// if it's a new ingredient, just store its info directly (item id, count, enchantment)
_ingredientsList.add(L2Multisell.getInstance().new MultiSellIngredient(e));
}
}
+
+ // If there is no maintainIngredient, then we must make sure that the
+ // enchantment is not kept from the client packet, as it may have been forged
+ if (!maintainItemFound)
+ {
+ for (MultiSellIngredient product : entry.getProducts())
+ {
+ product.setEnchantmentLevel(0);
+ }
+ }
// now check if the player has sufficient items in the inventory to cover the ingredients' expences
for (MultiSellIngredient e : _ingredientsList)
{
|
|
|